AI 编程工具的账单只给你一个月底总额,CodeBurn 干的事是把这一笔总数拆开,按项目、模型、任务三根轴重新算一遍。它不联网、不要账号,直接读你本机那些工具自己写下的 session 文件。我装它跑了一遍,看到的是自己真实的十一月账单。拆出来的东西比月度总额有用得多。每个工具每次用的时候都会写一个 session 文件,里面存着每一次 token 和每一次模型调用,CodeBurn 读这些文件产出拆解,这是 README 的原话,我核过。

npx 一条命令起手

它的门槛低到只有一条命令。没有账号,没有 sign-up。装的时候要求 Node.js 22.15 以上,我本机是 v22.22.2,满足。

npx codeburn

这条命令跑起来,CodeBurn 去你工具已经在写的目录里找文件,给每个 token 定价,打印你花了多少。总数下面是四张表:按工具、按模型、按项目、按任务。任务指的是 agent 当时在干嘛,编码、调试还是规划,从 session 本身推断出来。

我实测装它。命令是 npx -y codeburn --version,输出 0.9.28。这个版本号是它自己打印的。

$ npx -y codeburn --version
0.9.28
$ npx -y codeburn status

  Today  $0.00  0 calls    Month  $0.213  16 calls

status 是它的紧凑输出。今天零调用零花费,本月 0.213 美元、16 次调用。这两行就是我本机跑出来的原文,一个字没改。看到 Month 那个 0.213,我就知道它真的读到了本机的东西,不是空转。

doctor 扫出我本机四款工具

真正让我信的是 doctor 这条命令。它逐 provider 探测,告诉你在哪找到 session、解析得怎么样。我跑完,它扫了 43 个 provider。我本机有数据的就四款。Claude 4 个 session、Codex 1 个、Copilot 18 个、Cursor 3 个,剩下 38 个全是 NOTHING FOUND,因为那些工具我压根没装。

Claude    4 sessions   OK (4 sessions)
Codex     1 session    OK (1 session)
Copilot  18 sessions   OK (18 sessions)
Cursor    3 sessions   OK (3 sessions)
Vercel AI Gateway      NETWORK (not configured; no API key)
Bottom line: 4 OK, 38 with nothing found, 0 errors.

这四行是我从 doctor 输出里抽出来的关键行。它连探测的具体路径都列出来,Claude 读 ~/.claude/projects,Copilot 读 ~/.copilot 加 VS Code 的 workspaceStorage。有个细节我没想到,Vercel AI Gateway 单独报 NETWORK,因为没有 API key。它把网关当一类特殊来源,不混进普通工具里。这个预期和实际的落差值得记,我之前以为它只读本地文件。

我的十一月账单拆开看

overview 把整月拆开。我跑出来,本月 8,453,772 个 token,缓存命中 93.8%。这个数拆开看更有意思。

Tokens
  Input      527,988    6%
  Output       5,528    0%
  Cache out 7,920,256  94%
  Total     8,453,772  100%

Top models   DeepSeek v4 Flash  $0.213  16 calls  8,453,772 tokens
Top projects Zyentor_NovelOS    $0.213  1 session
By activity  Coding             $0.213  3 turns
Tools        Bash               13 calls

这组数字说明一件具体的事。我十一月用 Claude Code 接 DeepSeek v4 Flash 干了 16 次调用,94% 的 token 吃在缓存里,实际计费的输入只有 6%。项目就一个,Zyentor_NovelOS。任务分类 Coding。工具是 Bash 调了 13 次。缓存命中 93.8% 这个数字很值钱,它解释了为什么八百万 token 只花两毛一,钱基本让缓存吞了。

models 命令给的是更大范围的历史,跨月口径。DeepSeek v4 Pro 101.7M token 花了 8.29 美元,Flash 34.5M 花了 0.589,Cursor 的 7.7K 是估算值 0.049 带了个 ~ 号。这个 ~ 号是它自己标的,表示这一行是估的。看到这个记号我就明白,它对自己产出的每个数字都标了来历。我认这个做法。

编程还是调试,靠规则不靠模型

它怎么知道一次 session 是在编码而不是调试。按 README 的说法,靠的是工具名和你消息里的词,没有任何模型调用参与。Edit 和 Write 算 Coding。错误加修复的词配工具调用算 Debugging。pytest 或 vitest 算 Testing。Read 和 Grep 没编辑算 Exploration。Agent 工具算 Delegation。一共 13 类,规则是确定性的,同一段 session 永远落到同一类。

这个设计我认。用规则而不是让模型再判一次,省钱,也可复现。它没给任务分类引入模型成本,账算得干净。

它还有一层我更看重。optimize 命令读最近 30 天的 session 和你 ~/.claude 的配置,列出花了 token 却没产出的东西:一个每轮都被重读的文件、一个装了几个月从没调过的 MCP server、一个长到每轮都跟着请求走的 CLAUDE.md。guard 命令装 Claude Code hooks,超过 5 美元警告、15 美元停下。这两条指向同一件事,账不光要看清,还要能下手改。

本地读文件,这个设计值钱

我的判断是,CodeBurn 的价值不在它算得多准,在它不碰你的网络。它读的是已经躺在你磁盘上的文件,没有账号、没有 API key、不站在你和 agent 中间。按 README 的原话,如果它明天停摆了,你的工具根本不会察觉。价格数据从 LiteLLM 拉,每天刷新一次,缓存 24 小时。这是它和云端计费工具最硬的分界。一个要你把用量传上去,一个只在你本地算。

我的建议是先跑 doctor,它把本机有哪些 session 一次扫清楚,再上 overview 看拆解,别一上来就 optimize。你要的是「这个月钱花哪了、哪些是浪费、怎么省」,CodeBurn 一条命令就给,值得装。你要的是团队多人跨机器的统一账单,它要靠 devices 配对或 web 面板自己搭,费点事。它更适合个人开发者看清自己,不适合要 SaaS 报表的团队,那是另一条路。别为了看一个数字就把用量传到云端,本地能算清的事,不该交给网络。

一句话。月度账单是总数,CodeBurn 把它变回明细。我这一趟拆出来的结论很具体:八百万 token 九成四吃在缓存,钱基本没花在生成上。