Observed since 20 Oct, 23:37 UTC
No superseded metadata states collected. Unchanged observations do not create new revisions.
Generate a local dashboard from Codex CLI / Claude Code / Cursor agent logs
Turn your local AI coding agent logs into a rich, interactive analytics dashboard — zero dependencies, fully offline, one command.
一个从本地 AI 编程 Agent 日志生成可视化仪表盘的工具。支持 Codex CLI / Claude Code / Cursor 三大 Agent 栈,25+ 交互式图表,纯 Python 标准库实现。

You're burning tokens across multiple AI coding agents every day — but how much are you actually spending? Which model is the most cost-effective? When are you most productive? Are your caches saving you money?
Agent Usage Atlas reads your local log files (~/.codex/, ~/.claude/, ~/.cursor/), crunches the numbers, and generates a single self-contained HTML dashboard with 25+ interactive charts. No API keys, no cloud uploads, no dependencies beyond Python itself.
| Agent | Token Tracking | Cost Estimation | Tool Call Tracking | Session Meta |
|---|---|---|---|---|
| Codex CLI (GPT-5 family) | ✅ | ✅ | ✅ | ✅ |
| Claude Code (Claude 3–4.6) | ✅ | ✅ | ✅ | ✅ |
| Cursor | Activity only | — | — | — |
Pricing covers GPT-5.x, Claude 3/3.5/4.x (Haiku/Sonnet/Opus), and MiniMax-M2 out of the box.
| Cost Analysis Daily cost trends, cost breakdown by token type, model cost ranking, Sankey flow | Token & Activity Daily token trends, source radar, narrative summary, rose chart |
![]() | ![]() |
| Heatmap & Sessions Activity heatmap, source radar, token calendar, session bubble | Tool Intelligence Tool ranking, bigram chord diagram, top commands, efficiency metrics |
![]() | ![]() |
pip install agent-usage-atlas
brew install heggria/tap/agent-usage-atlas
git clone https://github.com/heggria/agent-usage-atlas.git
cd agent-usage-atlas
pip install .
# Default: last 30 days, output to ./reports/dashboard.html
python -m agent_usage_atlas
# Last 7 days
python -m agent_usage_atlas --days 7
# Custom start date
python -m agent_usage_atlas --since 2026-03-01
# Custom output path and auto-open in browser
python -m agent_usage_atlas --output /tmp/dashboard.html --open
# Start live dashboard with auto-refresh (SSE)
agent-usage-atlas --serve --interval 5 --open
# Live dashboard on custom host/port
agent-usage-atlas --serve --port 8765 --host 127.0.0.1 --interval 5
| Flag | Description | Default |
|---|---|---|
--days N | Include the last N days | 30 |
--since YYYY-MM-DD | Custom start date (overrides --days) | — |
--output PATH | Output HTML file path | ./reports/dashboard.html |
--open | Open in browser after generation | off |
--serve | Start local live dashboard server | off |
--host | Host for --serve mode | 127.0.0.1 |
--port | Port for --serve mode | 8765 |
--interval | SSE refresh interval in seconds | 5 |
| Endpoint | Description |
|---|---|
GET / | Interactive HTML dashboard |
GET /api/dashboard?days=30 | JSON payload |
GET /api/dashboard?since=2026-03-01 | Custom date range |
GET /api/dashboard/stream?interval=5 | SSE stream (auto-refresh) |
GET /health | Health check |
~/.codex/**/*.jsonl ─┐
~/.claude/**/*.jsonl ─┼─→ Parse → Aggregate → Render → dashboard.html
~/.cursor/**/*.jsonl ─┘ (parallel) (rollup) (ECharts)
All data stays local — nothing is sent to any server.
| Agent Usage Atlas | ccusage | splitrail | claudetop | Langfuse | Helicone | |
|---|---|---|---|---|---|---|
| Multi-agent | Claude + Codex + Cursor | Claude + Codex + others | 10+ agents | Claude only | Any (via SDK) | Any (via proxy) |
| Visualization | 25+ interactive ECharts (CN+EN) | CLI tables | CLI + cloud | TUI (7 views) | Web dashboard | Web dashboard |
| Self-contained HTML | ✅ | — | — | — | — | — |
| Zero dependencies | ✅ Python stdlib | Node.js | Rust | Node.js | Docker + PG | Docker + infra |
| Fully local | ✅ | ✅ | Cloud optional | ✅ | Self-host | Self-host |
| Live dashboard | ✅ SSE | — | — | — | ✅ | ✅ |
| Tool-call analytics | Bigram, chord, Sankey | — | Basic | Basic | Via tracing | Via proxy |
| Cache efficiency | ✅ | — | — | Partial | — | — |
| Burn rate projection | ✅ | — | — | — | — | ✅ |
| Setup | python -m agent_usage_atlas | npx ccusage | Build from source | npx claudetop | Deploy stack | Deploy proxy |
src/agent_usage_atlas/
├── cli.py # CLI entry point, build_dashboard_payload()
├── parsers.py # Codex / Claude / Cursor log parsers
├── models.py # UsageEvent, ToolCall, SessionMeta + pricing (GPT-5, Claude 3–4.6, MiniMax)
├── aggregation.py # Full dashboard payload computation (CN + EN narratives)
├── template.py # Self-contained HTML/CSS/JS template (number flash animations)
└── server.py # Live SSE server (stdlib http.server)
Download counts and popularity will appear here as the collector receives them.
| Version | Published | Direct dependencies | Open version |
|---|---|---|---|
| 0.0.2 | 17 Mar 2026 | 0 |
This describes our collected data; it is not a security assessment.
Observed since 20 Oct, 23:37 UTC
No superseded metadata states collected. Unchanged observations do not create new revisions.
package:5d5312be0d8aa455010c6f2ffdf1714e7e71092cbc9eef3028ffe83a4e369b58