作者通过解析本地会话日志发现:约一半成本来自上下文膨胀(长会话未及时compact),还有两个API密钥泄露问题。工具完全本地运行、开源零依赖。
过去一个月,我一直在深度使用 Claude Code——245 个会话,大多数日子里同时跑着两个 agent。而我心里一直有个隐隐的担忧:我的配置在慢慢变糟,但我根本不知道自己的钱都花在了哪儿。Dashboard 会告诉你一些事情,但偏偏不告诉你那些真正让你花钱的地方。
于是我花了一个小时写了一个小工具,它读取 Claude Code 已经写到磁盘上的会话日志(~/.claude/projects/*.jsonl),然后把真相告诉我。无需账号,无需上传——核心 point 就是没有任何数据会离开你的机器。
以下是我的配置上发现的情况。我不认为自己有什么特殊的。
我用的是订阅制,所以这不是我实际的账单——而是同等用量按 API 列表价格计算出来的金额。数字本身不是惊喜,真正的冲击在明细:
/compact 就能用几分之一的 token 完成同样的工作。Context 膨胀是最隐秘的那个。没有任何地方会显示它的明细,所以没人会去关注它——但它很可能是人们烧 token 却不自知的最大来源。
一个 401 auth 循环烧掉了所有重试次数。一个 MCP 服务器的健康检查已经静默失败了好几天。这些小问题只是在后台浪费时间和 token,你永远不会主动去排查,因为没什么东西崩溃得足够严重到引起你的注意。
一条在 shell rc 文件里(全局可读),另一条在项目的 .env 里。轮换它们的时候,我发现一个后台服务仍在使用旧密钥——这种依赖关系只有当某个东西主动去查找时才会发现。输出里密钥当然会被遮蔽——只显示前六个字符和长度。
目标用户刚刚经历了一波恶意 skill 和供应链攻击。信任就是一切。所以设计约束是硬性的:advisory 格式没有自由文本字段——结构上就没有什么可以外泄的。唯一会接触网络的时候,是你主动运行的显式 sync 命令。
它是开源的,零依赖,MIT 协议。一行命令:
npx solounit
它运行三个"镜像"——成本/浪费、环境健康、以及对你授予 agent 权限的安全审计——然后打印一份本地报告。如果你想要一个可分享的卡片,可以用 --html 标志,还有一个 dashboard 命令可以将所有内容作为一个本地页面打开。
我正在把它做成更大的东西(一个共享的故障信号网络,这样你的 agent 在撞上别人已经撞过的墙之前就会收到警告),但这个本地工具本身是独立成立的,而它才是我真正想要得到反馈的部分。
我敢打赌,大多数长时间跑着会话的人,正坐拥的 context 膨胀比他们想象的要多。跑一下,告诉我我错了。