Agentic coding metric monitor — multi-agent, TUI, CLI
Project description
Agentic Metric
A local-only monitoring tool for AI coding agents — like top, but for your coding agents. Track token usage and costs across Claude Code, Codex, OpenCode, Qwen Code, VS Code (Copilot Chat), and more — with a TUI dashboard and CLI.
Supported platforms: Linux and macOS.
All data stays on your machine. No network requests, no telemetry, no data leaves your computer. The tool only reads local agent data files (e.g. ~/.claude/) and process info.
Features
- Live monitoring — Detect running agent processes, incremental JSONL session parsing
- Cost estimation — Per-model pricing table with CLI management, calculates API-equivalent costs
- Today overview — Sessions, token usage, and cost summary for the current day
- Historical trends — 30-day daily token/cost trends
- TUI dashboard — Terminal UI with 1-second live refresh, stacked token charts, and trend lines
- Multi-agent — Plugin architecture, supports Claude Code, Codex, OpenCode, Qwen Code, VS Code, extensible
Agent Data Coverage
| Field | Claude Code | Codex | VS Code (Copilot) | OpenCode | Qwen Code |
|---|---|---|---|---|---|
| Session ID | ✓ | ✓ | ✓ | ✓ | ✓ |
| Project path | ✓ | ✓ | ✓ | ✓ | ✓ |
| Git branch | ✓ | ✓ | ✗ | ✗ | ✓ |
| Model | ✓ | ✓ | ✓ | ✓ | ✓ |
| Input tokens | ✓ | ✓ | ✓¹ | ✓ | ✓ |
| Output tokens | ✓ | ✓ | ✓¹ | ✓ | ✓ |
| Cache tokens | ✓ | ✓² | ✗ | ✓² | ✓² |
| User turns | ✓ | ✓ | ✓ | ✓ | ✓ |
| Message count | ✓ | ✓ | ✓ | ✓ | ✓ |
| First/last prompt | ✓ | ✓ | ✓ | ✓ | ✓ |
| Cost estimation | ✓ | ✓ | ✓¹ | ✓ | ✓ |
| Live active status | ✓ | ✓ | ✓³ | ✓ | ✓ |
¹ VS Code legacy JSON sessions (older Copilot versions) do not contain token data; only newer JSONL sessions are supported.
² Cache read tokens only; cache write data is not exposed.
³ VS Code live status is process-level only; cannot match to a specific Copilot Chat session.
Installation
Requires Python 3.10+.
pip install agentic-metric
Or with uv:
uvx agentic-metric # Run directly without installing
uv tool install agentic-metric # Or install persistently
uv tool upgrade agentic-metric # Upgrade to latest version
Usage
agentic-metric # Launch TUI dashboard (default when no command given)
agentic-metric status # Show currently active agents
agentic-metric today # Today's usage overview
agentic-metric history # Historical trends (default 30 days)
agentic-metric history -d 7 # Last 7 days
agentic-metric sync # Force sync data to local database
agentic-metric tui # Launch TUI dashboard
agentic-metric bar # One-line summary for status bars
agentic-metric pricing # Manage model pricing
Pricing Management
Model pricing is used for cost estimation. Builtin pricing is included for common models. You can add new models or override existing prices via CLI — overrides are stored in $DATA/agentic_metric/pricing.json.
agentic-metric pricing list # List all model pricing
agentic-metric pricing set deepseek-r2 -i 0.5 -o 2.0 # Add a new model
agentic-metric pricing set claude-opus-4-6 -i 4.0 -o 20.0 -cr 0.4 -cw 5.0 # Override builtin
agentic-metric pricing reset deepseek-r2 # Reset a model to builtin default
agentic-metric pricing reset --all # Reset all overrides
For unknown models, pricing falls back by model family (e.g. claude-sonnet-* uses Sonnet pricing) before using the global default.
Status Bar Integration
agentic-metric bar outputs a compact one-line summary (e.g. AM: $1.23 | 4.5M) for embedding into status bars like i3blocks, waybar, tmux, vim statusline, etc.
i3blocks / waybar:
[agentic-metric]
command=agentic-metric bar
interval=60
tmux:
set -g status-right '#(agentic-metric bar | head -1)'
set -g status-interval 60 # refresh every 60 seconds (default 15)
vim / neovim statusline:
set statusline+=%{system('agentic-metric\ bar\ \|\ head\ -1')}
" statusline refreshes on cursor move, mode change, etc.
" to force a periodic refresh, add a timer:
autocmd CursorHold * redrawstatus
set updatetime=60000 " trigger CursorHold after 60s idle
TUI Keybindings
| Key | Action |
|---|---|
q |
Quit |
r |
Refresh data |
Tab |
Switch Dashboard / History tab |
Data Sources
Paths differ by platform. $CONFIG and $DATA refer to:
| Linux | macOS | |
|---|---|---|
$CONFIG |
~/.config |
~/Library/Application Support |
$DATA |
~/.local/share |
~/Library/Application Support |
| Agent | Path | Data |
|---|---|---|
| Claude Code | ~/.claude/projects/ |
JSONL sessions, token usage, model, branch |
| Claude Code | ~/.claude/stats-cache.json |
Daily activity stats |
| Codex | ~/.codex/sessions/ |
JSONL sessions, token usage, model |
| VS Code | $CONFIG/Code/User/workspaceStorage/*/chatSessions/ |
Chat sessions (JSON + JSONL), token usage (JSONL only), model |
| VS Code | $CONFIG/Code/User/globalStorage/emptyWindowChatSessions/ |
Chat sessions without a project open |
| VS Code | Process detection | Running status, working directory |
| OpenCode | $DATA/opencode/opencode.db |
SQLite sessions, messages, token usage, model |
| OpenCode | Process detection | Running status, active session matching |
| Qwen Code | ~/.qwen/projects/*/chats/ |
JSONL sessions, token usage, model, branch |
| Qwen Code | Process detection | Running status, working directory |
All aggregated data is stored locally in $DATA/agentic_metric/data.db (SQLite).
Unsupported Agents
- Cursor — Cursor stopped writing token usage data (
tokenCount) to its localstate.vscdbdatabase around January 2026 (approximately version 2.0.63+). AllinputTokens/outputTokensvalues are now zero. Cursor has moved usage tracking to a server-side system. Since this tool is designed to be fully offline with no network requests, there is no way to retrieve Cursor's usage data via network API, so monitoring Cursor usage is not supported.
Privacy
- Fully offline — no network requests, no data sent anywhere
- Read-only — never modifies agent config or data files
- All stats stored in a local SQLite database
- Delete the data directory at any time to remove all data (
~/.local/share/agentic_metric/on Linux,~/Library/Application Support/agentic_metric/on macOS)
Project details
Release history Release notifications | RSS feed
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 agentic_metric-0.1.8.tar.gz.
File metadata
- Download URL: agentic_metric-0.1.8.tar.gz
- Upload date:
- Size: 129.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
bf8b108a2cfac4d8c7fbc72c99c28512c19cd484f1c6f111fa8eaafc3b59133c
|
|
| MD5 |
bb3a901fbe37d24e929db9ada6fa08a9
|
|
| BLAKE2b-256 |
5924d57bef9c4590712d9ea5fdd13e002569d0b850943b4462a0ce787f9f9c79
|
File details
Details for the file agentic_metric-0.1.8-py3-none-any.whl.
File metadata
- Download URL: agentic_metric-0.1.8-py3-none-any.whl
- Upload date:
- Size: 43.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
26891ed9094677261745d515232dd7cf0431182109b3f8a02091a50cd80c4241
|
|
| MD5 |
19aabb3932ff0f6163c0b31a8c0708e5
|
|
| BLAKE2b-256 |
75de713ca61e87ca3f153e2c33fdaa2c22cf1afa9395cf3baa02a2336339c26d
|