上周五下午,我对着 Claude Code 的终端等一个重构结果——第 3 次了。同样的代码库,同样的指令,AI 在同一个坑里反复打转。屏幕那头的 Token 计数器不知道跳了多少,但我知道账单会在月底准时到来。
我不知道问题出在哪。
我只知道,我每个月付给 Claude Max 的 200 美元,并没有给我换来「可观测性」。
黑箱里的 Token 账单
这是 AI 编程工具最讽刺的地方:一边标榜自己是生产力的放大器,一边把自己最大的成本敞口藏得严严实实。
Claude Code 自带一个 --verbose 选项,可以看单次调用的 Token 数。但它没有累计视图,没有按项目分组的账单,没有"上周我到底在哪个任务上浪费了最多 Token"的总结。Cursor 的用量面板更接近一个黑箱——给你一个进度条和一个百分比,但「百分比的基数是多少」你得自己猜。
我的日常工具流是 Claude Code(主力)、Cursor(偶尔)、Codex(批量任务),偶尔切一下 Gemini CLI。每个月少说几十万 Token 的消耗,分散在三四个平台、七八个项目里。月底看到信用卡账单时,我的反应永远是:
这些钱真的是我花的吗?
codeburn 是什么
codeburn 是一个开源的终端仪表盘工具,由 AgentSeal 团队维护。它能做的事情只有一件:把你的 AI 编程工具的 Token 消耗可视化出来。
不是"估计"——它直接从磁盘读取会话日志,不做网络请求,不需要注入 API Key。目前已支持 25 款以上的 AI 编程工具,包括 Claude Code、Codex(OpenAI)、Cursor、OpenCode、Gemini CLI、Codebuff/ManiCode 等主流产品。
安装极其简单:
# npm
npm install -g codeburn
# 或者 Homebrew
brew install codeburn
装完直接在终端输入 codeburn:
codeburn # 默认展示最近 7 天
codeburn -t 0 # 只看今天
codeburn -m # 本月汇总
codeburn -r # 实时刷新(每 30 秒)
开箱体验:一个 TUI 的自我修养
第一次启动 codeburn,一个终端全屏仪表盘展开。结构很清晰:
- 左上区域:按工具维度汇总(Claude Code 花了多少、Cursor 花了多少)
- 右上区域:按模型维度汇总(Sonnet 占比、Flash 占比)
- 下方:按任务类型的柱状图——Coding、Planning、File Operations、Review 等 13 种分类
- 底部状态栏:快捷键提示
对我来说,最有价值的是按任务类型的分布——Task Categories。
最扎心的一屏:codeburn optimize
codeburn 有一个子命令 codeburn optimize,它会扫描你的会话数据和配置文件,给出具体的浪费建议。
比如它会告诉你:
- 模型选型不当——你用 Sonnet 做的某些批量任务,用 Haiku 能省 80% 的 Token
- 冗余系统提示——你的
CLAUDE.md里塞了 2000 行上下文,但实际每次调用只用到其中 5% - 工具过度调用——某些工具因为循环调用模式,同一个错误输出了 17 次,全部计入 Token
- 会话膨胀——某些长期会话积累了过多历史上下文,每次调用都在为历史买单
每一项建议都附带预估的 Token 和金额节约量,以及修复命令。你可以直接按 o 从仪表盘内联查看。
横向对比:一个场景,三个工具的 Token 效率
我之前写过一个实战案例——用 AI 重写一个 Legacy Vue 2 组件到 React+TypeScript,分别在三个工具上跑了同样的任务:
| 工具 | 任务描述 | Token 消耗(估计) | 结果 |
|---|---|---|---|
| Claude Code | 交互式重构 | ~50K | 成功,需要少量手动修正 |
| Cursor Agent | VS Code 内联 | ~120K | 成功,但多次自行验证和修复 |
| Codex | 后台提交 | ~35K | 成功,无人工干预 |
数据不严谨,毕竟每次跑的结果有随机性。但趋势很明显——Codex 的 Token 效率最高,Curror 因为编辑器内循环验证消耗最多。
codeburn 的 compare 子命令让你按模型维度做横比。用一个命令就能看到不同模型在你最近 30 天的任务中的 Token 效率和成本占比:
codeburn compare # 模型横向对比
codeburn compare -m table # Markdown 表格输出,方便贴到文档里
我发现了什么?
装好 codeburn 跑了一周,几个让我意外的发现:
1.「无用」调用占比约 14%
优化扫描结果显示,我约有 14% 的 Token 消耗在了可以优化的地方——主要是任务定义不清导致 AI 进入循环修正。
2. Cursor 的单次调用成本比 Claude Code 低
Cursor 的内嵌模型(GPT-4o 等)单价更低,但因为它的代理模式会频繁调用验证和预览,总消耗反而不低。
3. 模型切换能省一半
同样的 CRUD 任务,haiku 和 Sonnet 的生成质量差距不大,但成本差了 5-10 倍。codeburn 的 optimize 建议我建一张「任务类型 → 模型」的映射表。
和同类工具的简单对比
市面上还有几款类似思路的产品,简单列一下我的感受:
| 工具 | 数据源 | 免 API Key | 界面形态 | 特色 |
|---|---|---|---|---|
| codeburn | 磁盘日志 | ✅ | TUI 仪表盘 | optimize 建议、模型对比、任务分类 |
| CodexBar | macOS | ✅ | 菜单栏插件 | 40+ 工具配额显示 |
| Claude Code 内置面板 | Anthropic 服务端 | ❌ | 网页 | 准确性最高,但只限 Claude |
| claude-tap | 磁盘日志 | ✅ | CLI | 流量代理级追踪,粒度更细 |
选择建议:如果你只用一个工具,Claude Code 内置面板够用。如果你和我一样在多工具之间切换,codeburn 的统合视图和 optimize 建议是刚需。
值得提的局限
实事求是地说,codeburn 不是没有缺点。
成本估算,不是结算账单。 它基于 LiteLLM 的模型价格库进行估算。价格更新有缓存,如果你的模型走企业合同价,需要手动配。官方文档也说得很清楚——treat the dollar numbers as directional signal,不是审计级数据。
依赖磁盘日志格式。 它读取的是工具写入本地的会话日志。如果 Anthropic 或 Cursor 某天改了日志格式且 codeburn 没跟上,就会断。好在项目活跃度不错(8k+ Star),社区响应速度应该不慢。
不是实时管控工具。 codeburn 只看不控——它不会在 Token 接近上限时弹窗提醒你暂停。要等未来版本或别家产品补这个空缺。
最后
从「凭感觉估算」到「有数据支撑的决策」,codeburn 解决的是一个非常朴素的需求:我花的 AI 编程的钱,花在了哪。
对我来说,改变一个具体的 CLI 配置,每个月能省下差不多 60-80 美元的 Token 开销。这个 ROI,已经值回了阅读文章的这 5 分钟。