Analyze local Codex, Claude Code, and OpenCode sessions
Project description
agentrecap
Get deeper insights into your local coding agents beyond cost.
Generate a local, metadata-only HTML report from your Codex, Claude Code, and OpenCode sessions.
uvx agentrecap
# or
pipx run agentrecap
If you do not have uvx or pipx installed, clone the repository and run it with Python:
git clone https://github.com/bansalarnav/agentrecap.git
cd agentrecap
python3 -m venv .venv && .venv/bin/pip install .
.venv/bin/python -m agentrecap.cli
The local virtual environment keeps agentrecap and its dependencies separate from your existing Python installation.
Overview
agentrecap only reads your session data and writes its report to a separate output directory. It will not modify your existing environment or any existing session data.
By default, agentrecap reads active and archived sessions from ~/.codex, Claude Code sessions from ~/.claude/projects, and OpenCode sessions from ~/.local/share/opencode, then writes the report to ~/.agentrecap/reports/<timestamp>/index.html. When it finishes, it asks whether you want to open the report in your browser. Use --open to open it immediately without the prompt.
agentrecap \
--codex-input /path/to/codex/home \
--claude-input /path/to/claude/projects \
--opencode-input /path/to/opencode/data \
--output-dir /path/to/report \
--title "My agent usage report"
The report includes:
- Headline recent, month-to-date, and all-time estimated API costs alongside usage metrics.
- Codex, Claude, and OpenCode comparisons.
- Model usage, cache ratios, reasoning-token metrics, and monthly estimated API costs.
- Run-duration, response-gap, thread-length, token, cache, and tool-call charts.
- Human-readable, metadata-only CSV files under the report's
data/directory.
The generated report does not include transcript contents, only metadata. Thread, run, event, agent, and tool-call identifiers are hashed before they are written.
Cost estimates
For cost estimation, agentrecap uses the pricing catalog from models.dev.
Every request is priced before model and month totals are aggregated. Estimates distinguish uncached input, cache reads, five-minute cache writes, one-hour cache writes, unclassified cache creation, output, and separately priced reasoning when available. Generic models.dev context tiers are selected from each request's complete input footprint, so model-specific 200K, 256K, 272K, and future thresholds can be honored. A bounded fallback supplies the former Anthropic long-context rates for logged Sonnet 4 and 4.5 calls over 200K before Anthropic retired that 1M-context beta on April 30, 2026.
Explicit historical fast/priority metadata uses the provider's fast-mode price from models.dev; default is treated as standard. When a historical record has no speed metadata, it remains unknown and is estimated at the standard API rate as a clearly marked fallback—today's local configuration is never applied retroactively. Claude's raw top-level costUSD, when present, is retained only as reported_cost_usd provenance. All report cards, tables, monthly totals, and displayed exports use the independently calculated estimated_cost_usd.
These are API-equivalent token estimates, not ChatGPT, Codex, Claude, or Claude Code subscription spend or credit consumption. They do not include negotiated discounts, batch pricing, or provider/platform charges not represented in the logs. Unknown model IDs and fast modes without an explicit catalog price remain unpriced rather than receiving a guessed rate.
Development
The project requires Python 3.10 or newer and uses uv for dependency and environment management.
uv sync
uv run agentrecap --help
To generate a report from local session data while developing:
uv run agentrecap --output-dir ./report
Build the source distribution and wheel with:
uv build
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file agentrecap-0.3.1.tar.gz.
File metadata
- Download URL: agentrecap-0.3.1.tar.gz
- Upload date:
- Size: 625.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.8.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
09d9c05ec3c0e53069e630affdb01b488259c26dce0449c25a6a36a9903641e7
|
|
| MD5 |
dbdaf93543c585962fbe89318b343a9d
|
|
| BLAKE2b-256 |
1c3e532aefadb5196529c13b16d046bc3e39bad2e2f6f604933ee097d33cf7be
|
File details
Details for the file agentrecap-0.3.1-py3-none-any.whl.
File metadata
- Download URL: agentrecap-0.3.1-py3-none-any.whl
- Upload date:
- Size: 48.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.8.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c23e8dbc02291b251c61e6a89bf2f64a8de2b153298539acf6ac3d3c3e64e889
|
|
| MD5 |
a84b284a646902d2862b12d8ce5fd21b
|
|
| BLAKE2b-256 |
b56c5cc54bdd690868448084f2a2245461fc51602f3ae0ccef0a7326659a76a0
|