gptme-activity-summary

v0.1.0 Activity summarization for gptme agents — journals, GitHub, sessions, tweets, email packages/gptme-activity-summary View on GitHub

gptme-activity-summary

Activity summarization for gptme agents and humans — journals, GitHub, sessions, tweets, email, and local time tracking.

Supersedes whatdidyougetdone — the human work-report use case lives here now, with ActivityWatch as the primary time-tracking source and GitHub as an optional overlay.

Features

Installation

pip install gptme-activity-summary

Usage

Human Mode (ActivityWatch + optional GitHub)

Generate work reports from local time tracking with optional GitHub overlay. No agent workspace or journal required — works for any human user.

# Daily report (ActivityWatch only)
gptme-activity-summary daily --mode human --date yesterday

# Daily with GitHub activity overlaid
gptme-activity-summary daily --mode human --date yesterday --github-user your-github-username

# Weekly report (AW + GitHub)
gptme-activity-summary weekly --mode human --week last --github-user your-github-username

# Monthly report
gptme-activity-summary monthly --mode human --month last --github-user your-github-username

# Raw data — skip LLM summarization, print source data only
gptme-activity-summary weekly --mode human --week last --github-user your-github-username --raw

ActivityWatch is the primary data source. Install and run ActivityWatch on your machine for time-tracking data. If AW is not running, AW data is skipped gracefully and GitHub-only reports still work.

Agent Mode (journal-based)

# Daily summary from journal entries
gptme-activity-summary daily --date yesterday

# Weekly summary
gptme-activity-summary weekly --week last

# Monthly summary
gptme-activity-summary monthly --month last

# Smart mode — auto-triggers weekly/monthly when appropriate
gptme-activity-summary smart --date yesterday

Requirements

License

MIT

Backend trace retention

The gptme fallback keeps each invocation under $XDG_STATE_HOME/gptme-activity-summary/gptme-* (default: ~/.local/state/gptme-activity-summary/). The private directory contains the native conversation plus stdout.log and stderr.log, including captured partial output on timeout. Its path is logged before launching the child. Allocation failure returns an empty result without launching an unlogged child; a diagnostic write failure is logged and does not discard the model response.

Claude requires a CLI with --session-id support (verified on 2.1.269). Calls clear inherited parent session identity and use a fresh --session-id for every attempt, including retries and configured alternate credential slots. Ordinary calls retain Claude's native project trajectories. Alternate slots use private claude-slot-* state directories; only the temporary credential symlink is removed after exit. Existing retry debug logs are retained.

These backends do not automatically prune traces. They may contain journal content and provider diagnostics; keep their private permissions when archiving. Archive native files without following any conversation workspace symlink.