codeburn
本地AI编程成本监控工具,追踪25+工具的Token消耗与费用
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
本地AI编程成本监控工具,追踪25+工具的Token消耗与费用
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
想象一下:你用 Claude Code 肝了一周项目,月底突然发现账单比预期多了三倍,却完全不知道钱花在哪个任务、哪个模型、哪个项目上了——这大概是 2024 年以来 AI 编程开发者最真实的焦虑场景。CodeBurn 正是为解决这个问题而生:它是一个完全本地运行的 TUI 仪表板,实时追踪你在 25+ 款 AI 编程工具上的 token 消耗、成本支出和使用效率,并给出优化建议。
图1:CodeBurn TUI 仪表板,支持多时间维度切换(今日/7天/30天/本月/6个月)
CodeBurn 由独立开发者组织 AgentSeal 开发维护,GitHub 星标数已突破 7300 颗,是当前 AI 编程工具生态中增长最快的成本监控类项目之一。
它的诞生背景很有意思:2023-2024 年间,Claude Code、Cursor、GitHub Copilot、Codex 等 AI 编程工具快速普及,但这些工具普遍缺乏本地化的成本追踪能力——它们大多按订阅制或 token 计费,用户很难直观看到自己在单次会话、特定项目或某个模型上的真实花费。开发者们开始意识到:用 AI 写代码爽是爽,但账单来了才后悔的情况越来越普遍。
CodeBurn 的核心思路是绕过所有中间层,直接读取各工具在本地磁盘上留下的 session 文件(JSONL、SQLite、protobuf 等格式),用 LiteLLM 的定价表进行本地计费,不需要任何 API key,也不需要额外的代理服务。
图2:CodeBurn 目前支持的 25+ 款 AI 编程工具,覆盖主流欧美工具和国产工具(kimi、qwen 等)
CodeBurn 绝不是一个简单的「花销列表」工具,它的产品逻辑更接近一个** AI 编程效率审计工具**。它的核心命令包括:
1. codeburn report(默认):交互式 TUI 仪表板,键盘方向键切换时间维度,支持自动刷新(默认 30 秒)。显示今日、本周、本月的 token 消耗排名、最贵模型 TOP5、平均每次会话成本。
2. codeburn optimize:运行 14 个「浪费检测器」,自动扫描你最近一段时间内的 session 数据,找出无效 token 消耗——比如重复上下文、过早的模型降级、无效的上下文构建等,并给出可复制粘贴的修复建议。
3. codeburn compare:将两个模型在同一任务类型下的消耗和输出质量(通过 token 效率指标)进行横向对比,帮助你在 Claude 3.5 Sonnet、GPT-4o、o3-mini 之间做出更理性的选型决策。
4. codeburn yield:实验性功能,追踪「生产性支出」vs「回滚/废弃支出」的比例——也就是说,你花钱让 AI 写的代码,有多少真正合并进了主分支,有多少最后被 revert 了。这个指标对于大型团队的成本归因非常有价值。
5. codeburn export:CSV/JSON 格式导出,方便接入财务系统或 BI 工具做更深入的成本分析。
图3:Optimize 界面,自动检测 token 浪费并给出具体修复方案
CodeBurn 的技术选型非常务实:TypeScript + Node.js,打包工具为 tsup,源码直接发布 npm 包。整个架构分为三层:
第一层:Provider 适配器(src/providers/)
这是 CodeBurn 架构中最精妙的设计。每个被支持的 AI 编程工具对应一个独立的 provider 文件(共 28 个),职责单一:找到该工具在本地磁盘存储 session 数据的位置,解析出原始调用记录(输入 token、输出 token、模型名称、时间戳等)。
// provider 接口核心契约
interface ParsedProviderCall {
provider: string; // 'claude' | 'cursor' | 'codex' ...
model: string; // 'claude-3-5-sonnet-20241022'
inputTokens: number;
outputTokens: number;
costUSD: number; // 由 LiteLLM pricing table 计算
sessionId: string;
projectPath: string;
timestamp: number;
}
这种适配器模式让添加新工具的支持变得非常简单——只需要实现 discoverSessions() 和 createSessionParser() 两个方法,不需要改动核心逻辑。
第二层:聚合与缓存(src/parser.ts + src/daily-cache.ts)
src/parser.ts 是整个系统的中央聚合器,它用 seenKeys 这个 Set 做全局去重(防止同一个会话在两个 provider 中都出现导致双重计数)。聚合结果存入 ~/.cache/codeburn/ 的 SQLite 文件,支持增量更新。
第三层:输出格式化
支持三种输出格式:
值得注意的是,macOS menubar(mac/ 目录,Swift 实现)和 GNOME extension(gnome/ 目录,JavaScript 实现)是两个独立的 GUI 客户端,它们不做任何计算,只负责调用 codeburn status --format menubar-json 并渲染 JSON 输出——CLI 是唯一的事实来源。
图4:Compare 界面,横向对比不同模型在相同任务下的消耗效率
作为一款 CLI 工具,CodeBurn 的上手门槛极低。三种安装方式:
npm install -g codeburn # npm 全局安装
brew install codeburn # macOS Homebrew
npx codeburn # 零安装,直接运行
唯一的前提条件:在机器上安装并使用至少一款 CodeBurn 支持的 AI 编程工具。因为它的数据来源是这些工具在本地存储的 session 文件——你不用它,CodeBurn 就无数据可读。
安装完成后直接运行 codeburn,它会自动扫描常见 session 存储路径,初始化数据库,然后呈现仪表板。整个过程不需要注册账号、不需要配置 API key、不需要网络连接(定价表通过 LiteLLM 内置的 bundled 版本离线计算)。
对于 Cursor 和 OpenCode 用户,由于这些工具的 session 存储在 SQLite 数据库中,CodeBurn 会自动安装 better-sqlite3 作为可选依赖(纯自动,不需要手动操作)。
1. 数据来源依赖工具本身的 session 存储
CodeBurn 的数据精度完全取决于各 AI 编程工具是否完整记录了 session 数据。部分工具(如某些版本的自托管工具)可能不支持 session 文件导出,此时 CodeBurn 只能读取部分数据。
2. 定价表更新滞后
CodeBurn 使用 LiteLLM 内置的定价表来计算成本,但 AI 模型的定价变动频繁(尤其各大厂商的价格战)。如果定价表未及时更新,计算结果可能与实际账单存在偏差。
3. 「浪费检测」的准确性
optimize 命令的 14 个检测器基于启发式规则,对某些场景(长程上下文复用、特定任务类型的 token 密度差异)可能出现误报,用户需要自行判断建议的合理性。
4. 面向个人用户为主
虽然 yield 功能试图为团队提供归因分析,但 CodeBurn 的数据模型目前仍以单用户为主,多人协作场景下的数据隔离和汇总能力相对有限。
CodeBurn 的快速流行(从首个 release 到 7000+ stars 只用了不到一年),反映了一个更大的行业趋势:当 AI 编程工具从尝鲜阶段进入生产级使用阶段,开发者和团队对成本可见性的需求急剧上升。
这个趋势催生了一个新的工具品类:AI 编程成本监控。除了 CodeBurn,Tokens Warden、Sourcegraph 的 Cody 使用分析、Cursor 的内置统计等都在从不同角度切入这个市场。CodeBurn 的差异化在于最广泛的工具覆盖(25+ 工具)和完全本地化的方案——不需要信任任何第三方服务,数据永远留在本地磁盘。
对于 AI 爱好者来说,CodeBurn 是理解 AI 编程工具实际消耗的一扇窗口;对于 AI 开发者来说,它是优化个人或团队 AI 工具使用效率的实用利器。