whoburnedmore 实战:用本地 CLI 追踪你的 AI 编程工具 Token 消耗与成本
用 Claude Code 和 Codex 写代码很爽,但月底看到 API 账单时可能就不那么爽了。更让人心慌的是——你真的知道每个项目、每个模型、每次会话烧掉了多少 Token 吗?
whoburnedmore 是一个 MIT 许可的开源 CLI 工具,通过读取你本地已有的 AI 编码工具会话日志,自动生成 Token 用量和成本报告。它零网络调用、无需注册、一条命令出结果。
痛点:AI 编程的 Token 黑箱
现在 AI 编码工具消耗的 Token 量已经相当可观——一个中等规模的 Claude Code 会话动辄数十万乃至数百万 Token。但你很难回答这些简单问题:
- 这个月 Claude Code 花了多少钱?
- Opus 和 Sonnet 哪个模型烧掉的比例更高?
- 哪个项目消耗的 Token 最多?
- Prompt Cache 的命中率是多少——是在省钱还是在浪费?
有些开发者自己写脚本来解析 JSONL 日志,有些完全不关心,等到 API 额度用光才惊讶。whoburnedmore 填补了这个问题:一行命令,把散落在 ~/.claude/projects/ 和 ~/.codex/sessions/ 目录下的会话日志聚合成一份清晰的可视化报告。
安装与使用
whoburnedmore 依赖 Node.js 20+。无需安装,直接运行即可:
npx whoburnedmore
这条命令会自动扫描本地已有的 Claude Code 和 Codex 日志,几秒后输出格式化的报告:
🔥 whoburnedmore — your local AI token burn report
────────────────────────────────────────────────
1.82B tokens burned $3,410.00 est.
12,704 assistant messages · 18 active days · 2026-05-29 → 2026-06-15
By model
████████░░░░░░░░░░ claude-opus-4-8 1.10B $2,512.40
█████░░░░░░░░░░░░░ claude-sonnet-4-6 512.00M $640.10
██░░░░░░░░░░░░░░░░ claude-haiku-4-5 210.00M $36.20
By project
███████░░░░░░░░░░░ api 903.00M $1,640.00
████░░░░░░░░░░░░░░ web-app 540.00M $980.00
██░░░░░░░░░░░░░░░░ infra 377.00M $790.00
Prompt cache 97.4% read-hit rate (1.71B cached reads)
核心功能详解
按模型、项目、Agent 和工具拆解
whoburnedmore 不只是一个总计数器。它从四个维度拆解用量:
whoburnedmore --by-day whoburnedmore --agent claude-code whoburnedmore --since 30
每条数据都分解为输入 Token、输出 Token 和 Prompt Cache 命中数,让你知道钱花在哪一步。
完整命令参考
| 参数 | 作用 |
|---|---|
--by-day | 每日趋势图和平均 Burn Rate |
--html [file] | 输出离线 HTML 仪表盘 |
--since | 只统计最近 N 天 |
--dir | 自定义日志目录 |
--agent | 只统计指定 Agent |
--json | 输出原始 JSON(可对接其他工具) |
whoburnedmore --html cost-report.html whoburnedmore --json > report.json
Prompt Cache 洞察
Prompt Cache 是控制实际成本的最大杠杆。whoburnedmore 会报告缓存命中率——如果低于 80%,说明你可能没有充分利用 Claude Code 的系统提示复用机制,建议检查是否频繁切换项目或创建新会话。
隐私与安全
whoburnedmore 的亮点之一是零网络调用的设计。工具只读取日志文件中的数字用量计数器(usage 块中的数值)、模型名称和项目目录名称——从不读取你的提示词、代码或文件内容。
git clone https://github.com/amiinwani/whoburnedmore.com.git cd whoburnedmore.com npm install node dist/cli.js
CI 中有一个零网络测试(zero-network.test.ts),扫描源码和构建产物中所有的 fetch、node:net、WebSocket 引用——任何回归导致的外联都会让构建失败。
架构速览
whoburnedmore 的代码结构非常简洁,适合在文章末尾给读者一个大致了解:
- scan.ts — 流式 JSONL 读取器,逐行分析日志文件,聚合到 Report 对象
- pricing.ts — 可编辑的定价表(USD / 1M Tokens),用于将 Token 转为成本估算
- report.ts — 终端的彩色报告渲染
- html.ts — 自包含的 HTML 仪表盘渲染(内联 CSS,无外部请求)
- cli.ts — 参数解析和整体编排
与同类工具的对比
| 方面 | whoburnedmore | 手动解析日志 | 同类 CLI 工具 |
|---|---|---|---|
| 安装 | npx whoburnedmore | 需自己写脚本 | 需注册或完整安装 |
| 网络调用 | 零(离线版) | 取决于脚本 | 部分需要 API |
| 数据维度 | 4 维(模型/项目/Agent/工具) | 取决于脚本 | 通常只有总计数 |
| 成本估算 | 内置可编辑定价表 | 需自行计算 | 内置 |
| HTML 仪表盘 | ✅ 内建 | ❌ | 部分有 |
适用场景
- 个人开发者:想知道每月 AI 编程工具到底花了多少钱,有没有浪费
- 小团队:了解每个项目的 Token 消耗分布,帮助做出预算决策
- AI 编程重度用户:追踪不同模型(Opus vs Sonnet vs Haiku)的成本效率
- 成本优化:基于 Prompt Cache 命中率和 Token 分布,找到省钱空间
总结
whoburnedmore 解决的是一个简单但普遍的痛点——你不知道自己的 AI 编码工具到底在烧多少钱。它用本地日志分析的方式,不依赖外部 API、不收集隐私数据,用一条命令让你对每条 Token 的流向心中有数。
对于日常深度使用 Claude Code 和 Codex 的开发者来说,它是值得常备的工具。你不需要改变任何工作流,只需在想知道账单的时候运行 npx whoburnedmore。
项目地址:github.com/amiinwani/whoburnedmore.com 在线排行榜:whoburnedmore.com