不再毫无预警地被限速。0.08 秒掌握你的 AI 编码开销。
English | 中文
npm i -g tokenusage # 或: cargo install tokenusage --bin tutu # 0.08 秒出日报解析 Claude 日志比 ccusage 快 214 倍 · 解析 Codex 日志快 138 倍(热缓存) · 查看基准测试
tu — 日报 |
tu gui — 桌面仪表盘 |
tu img day — 分享卡片 |
tu img week — 周报卡片 |
tu live — 实时 TUI 监控 |
|
| 痛点 | tokenusage 方案 |
|---|---|
| 重构到一半被限速,毫无预警 | tu live 实时显示用量 |
| 不知道 AI 编码每天花多少钱 | tu 0.08 秒给出每日开销明细 |
| Codex 和 Claude 日志分散在不同目录 | 一个统一仪表盘,合并所有数据源 |
| 现有工具在大日志上很慢 | 比 ccusage 快 214 倍(Rust + 并行扫描 + 缓存) |
| 不想把日志上传到云端 | 100% 本地解析,数据不离开你的电脑 |
| 不只想看 token,还想看编码时间与效率 | 默认 tu 保持经典 token 报表;--with-activity 按需增加 coding time 与 tokens/hour |
| 想分享使用统计 | tu img 生成可分享的图片卡 |
npm install -g tokenusagecargo install tokenusage --bin tupip install tokenusagecargo binstall tokenusage --no-confirm# 日报(默认)
tu # 经典合并 token 报表
tu --tui # 同一份报表的终端 UI
# 指定数据源
tu codex
tu claude
tu antigravity
# 日期过滤
tu --since 2026-02-01 --until 2026-02-28
# 周报 / 月报
tu weekly --start-of-week monday
tu monthly
# 基于本地 AI 使用记录推断的时间视图
tu today
tu activity
tu activity --days 14
tu activity --project tokenusage
# 给合并后的 token 报表增加 activity 列(Coding / Tok/hr)
tu --with-activity
tu --with-activity --tui
tu live --with-activity
# 原生本地 heartbeat 采集层
tu heartbeat watch .
tu heartbeat stats
tu heartbeat ping src/main.rs --write
# 实时监控(标签页: Codex / Claude / Antigravity)
tu live
# htop 风格的会话查看器
tu top
tu top --active-hours 12 # 显示最近 12 小时的活跃会话
# GUI 仪表盘
tu gui
# 生成分享图片
tu img
tu img day
tu img week测试环境:
- 机器: Apple M3 Max, macOS 15.6.1
tu版本:1.2.6·ccusage版本:18.0.8- 默认模式(无日期过滤,在线定价,网络启用)
Claude — 1,521 个 JSONL 文件, 2.2 GB
tu claude |
bunx ccusage |
加速比 | |
|---|---|---|---|
| 冷启动(重建缓存) | 0.73s | 17.15s | 23.5x |
| 热缓存(5 次最佳 / 3 次均值) | 0.08s | 17.15s | 214x |
Codex — 91 个 JSONL 文件, 1.7 GB
tu codex |
bunx @ccusage/codex |
加速比 | |
|---|---|---|---|
| 冷启动(重建缓存) | 0.92s | 20.76s | 22.6x |
| 热缓存(5 次最佳 / 3 次均值) | 0.15s | 20.76s | 138x |
结果因硬件、文件系统缓存状态和日志量而异。
详细对比请看 tokenusage vs ccusage。
从本地日志目录和 IDE 探测:
- Claude:
~/.config/claude/projects,~/.claude/projects - Codex:
~/.codex/sessions,~/.config/codex/sessions - Antigravity: 从运行中的 IDE 语言服务器探测(无需日志文件)
可通过 --claude-projects-dir 和 --codex-sessions-dir 覆盖。
tu 优先使用 OpenRouter 在线定价(缓存 6 小时),网络不可用时回退到内置离线费率。
tu 会直接从本地机器推断编码活跃时间。默认情况下它会把相近的 AI usage 事件聚合成活跃窗口;如果你启用了原生 heartbeat 采集层(tu heartbeat watch ...),那么在 heartbeat 覆盖足够的日期上会优先使用 heartbeat,在其他日期回退到 token 事件推断。
基于这套本地 activity 信号,tu 会得到:
- coding time
- tokens per coding hour
- cost per coding hour
- project / language / source breakdowns
专门的时间视图命令 tu today / tu activity 会自动启用这一能力。--with-activity 会把同一套本地 activity 上下文合并进日/周/月报表和 tu live。
默认情况下,tu 会保持原来的合并 token 报表列布局。只有在显式启用 --with-activity,或使用专门的时间视图时,才会显示额外的 Coding / Tok/hr 列。
日志解析完全在本地进行。tu 仅请求定价元数据,使用 --offline 可完全离线。
配置搜索顺序:
./.tu/tu.json~/.config/tu/tu.json~/.config/tokenusage/tokenusage.json
指定配置文件:
tu --config /path/to/tu.json示例:
{
"defaults": {
"timezone": "Asia/Shanghai",
"workers": 16,
"compact": false
},
"commands": {
"daily": {
"instances": true
},
"live": {
"sessionLength": 5,
"refreshInterval": 1
},
"img": {
"period": "daily",
"bars": 24,
"brand": "tokenusage",
"brandUrl": "https://github.com/hanbu97/tokenusage"
},
"weekly": {
"startOfWeek": "monday"
}
}
}cargo fmt
cargo clippy --all-targets --all-features
cargo checkMIT. 见 LICENSE。