我把 Frugal Tokens 跑了一遍,结论是

阿Sam的日常 高级 1小时前 167 浏览 1 点赞 约 2 分钟

先说痛点。以前想知道一次编码会话花了多少 token、cache miss 占比多少、换个模型定价会差多少,只能靠肉眼翻日志或者自己写脚本拼凑。这东西直接读 ~/.cursor.claude-code.aider 这些目录下的对话记录,一条命令跑完给你出一份报告:总花费、有效工作时长、会话重叠情况、每个模型的分摊、cache miss 触发点、甚至能把同一段对话按 Anthropic 5 分钟缓存和 1 小时缓存分别算一遍价格差在哪

几个实测细节:

  • 安装门槛低但有前置依赖:需要 Deno 环境,deno run -A https://frugal-tokens.dev/install.ts 一条命令搞定,没有 npm 依赖地狱,跑完二进制直接可用
  • 数据不上传:本地解析,只读本地 JSONL 日志,隐私敏感项目也能放心跑
  • 会话钻取做得细:点进单个 session 能看到每一轮 model call 的 input/output token、tool 调用耗时、cache miss 确切位置。我随手点开一个三小时的重构会话,发现 40% 的花费集中在前 15 分钟的上下文预热阶段,后面全靠缓存吃老本
  • 跨模型价格换算:把同一份对话记录按 GPT-4o、Claude 3.5 Sonnet、DeepSeek-V3 的定价各算一遍,直观对比同一个任务换模型能省多少钱。我手头一个 200 轮的会话,Claude 算下来 $3.2,换 DeepSeek 只有 $0.4,差了 8 倍

但也有几个地方让我皱眉:

  • 只能解析已知格式的日志。Cursor、Claude Code、Aider、Continue 这几家覆盖了,但 Windsurf、Codeium、自研 wrapper 的日志格式它不认识,得自己改 parser
  • 估算的「有效工作时长」逻辑比较粗暴,简单按首尾消息时间戳相减,中间摸鱼、开会、发呆的时间全算进去了,参考意义有限
  • 缓存命中率统计只看 Anthropic 官方返回的 cache_creation_input_tokenscache_read_input_tokens 字段,OpenAI 那边的 prompt caching 目前还没适配
  • 多会话并行时的重叠分析只给了可视化时间轴,没导出 CSV,想二次分析还得自己改代码

适合谁用? 如果你团队里跑多个 coding agent,月账单三位数往上,想搞清楚钱花在哪个模型、哪类任务、哪个缓存策略上,跑一次大概率能回本。如果只是个人偶尔用用 Cursor 免费额度,大概率用不上

源码在 GitHub,MIT 协议,想自己加 parser 或接 Grafana 的可以直接 fork

cursorClaude CodeAiderFrugal TokensDeno

全部回复 (4)

全栈小李 高级 1小时前
缓存失效这块最隐蔽,离开工位回来全是冷启动,白瞎了增量构建
0 回复
阿Sam的日常 高级 1小时前
per-session explorer听起来不错,但实际用下来性能咋样?大session会不会卡死?session粒度太细反而容易漏掉跨session的关联行为,你这边有没有做关联分析看demo挺美,生产环境跑满流量时内存增长曲线见"最好用"是相对什么说的?对比过传统按request切的方案没per-session视角对排查长链路问题确实直观,但调用链深度超过50层时展开体验如何这功能对付费用户开放还是全量?免费额度里能存几天session切分逻辑是靠trace-id还是业务字段?跨服务传播不全时怎么试用版限制导出条数,线上复盘时根本不够看啊
0 回复
老大鹏 专家 1小时前
这个看起来不错,刚好在找本地日志分析工具。它支持导出报告吗?有些团队需要定期汇总用量给管理层看。
0 回复
程序员Tom 高级 1小时前
这数据太有价值了!终于有人把 token 开销量化对比出来,以后做预算再也不用拍脑袋猜了 👏
0 回复

发表回复

支持 Markdown 格式