You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Commit bb957e9
Browse filesBrowse the repository at this point in the historyBrowse files
Copy file name to clipboardExpand all lines: .github/README.md
+41-54Lines changed: 41 additions & 54 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,6 +1,7 @@
1
-
<h1align="center">AI usage dashboard 📊</h1>
1
+
<h1align="center">AI usage dashboard</h1>
2
2
<palign="center">
3
-
<i>Every token your AI coding tools have spent, off the transcripts already on your machine</i>
3
+
<i>Beautiful dashboard showing a breakdown of where all of your tokens are going</i><br>
4
+
<b><code>npx token-usage-dashboard</code></b>
4
5
</p>
5
6
6
7
<palign="center">
@@ -11,26 +12,20 @@
11
12
12
13
## About
13
14
14
-
Claude Code, Codex and friends all leave a paper trail. A JSONL transcript per session, token
15
-
counts on every turn, and in Codex's case the rate-limit windows too. Nothing reads them, so you
16
-
end up guessing what a week of agents actually cost you.
15
+
Ever wondered where all your tokens are going? Or how much your AI usage is valued at?
16
+
This usage dashboard reads your local Claude Code, Codex, Open Code transcripts and builds a beautiful dashboard breaking down your full historical usage.
17
17
18
-
This reads those files, keeps a copy in a small SQLite database, and draws the lot:
18
+
Everything happens locally, so your data never leaves your device.
19
+
Stats are cached in a local SQLite DB, so that you get full history even after Claude and Codex have pruned old transcripts.
20
+
Cost estimates come from current published API rates.
19
21
22
+
The dashboard shows:
20
23
- a calendar heatmap of every day since your records start
21
-
- daily totals, stacked by tool or by model
24
+
- daily totals, stacked by tool, model and project
22
25
- the split between fresh input, output, cache reads and cache writes
23
-
- which projects and models the tokens went to
24
-
- your Claude 5-hour and 7-day windows, and the Codex ones
25
-
- every session, with what it spent and how long it ran
26
-
27
-
The database matters more than it sounds like it should. Claude Code prunes its transcripts after
28
-
a week or two, so anything not copied out is gone. Once this has been running a while its history
29
-
goes back further than the files do.
30
-
31
-
Cost is an estimate at published API rates. If you're on a subscription that's a weight rather
32
-
than a bill, and the plan windows are the thing really constraining you. A model we have no
33
-
price for is reported as unpriced, never quietly counted as free.
26
+
- which projects, AI providers and models the your tokens went to
27
+
- Anthropic and OpenAI 5-hour and 7-day windows
28
+
- every session, with full token usage breakdown
34
29
35
30
---
36
31
@@ -54,6 +49,30 @@ turn off in settings.
54
49
55
50
---
56
51
52
+
## Configuration
53
+
54
+
Most of it lives behind the gear icon: theme, default range, how often to rescan, whether to ask
55
+
Anthropic for your plan windows, and price overrides for any model we've got wrong or don't know.
56
+
57
+
Paths are environment variables, since they're needed before the app starts. See
58
+
[`.env.example`](https://github.com/NotAFlightRisk/ai-usage-dashboard/blob/main/.env.example) for the full list. The ones you'll actually want are
59
+
`AIUSAGE_DB`, `AIUSAGE_CLAUDE_DIR` and `AIUSAGE_CODEX_DIR`.
0 commit comments