tokentab

读本地 AI 编程工具的会话日志,按模型、项目、日期算出你到底花了多少钱。

开源免费 可自部署 MIT 2026-09-19 收录
一句话判断

天天用 Claude Code / Codex / Gemini CLI 干活,但说不清「这个月 AI 花了多少钱」的人。它不联网、不传数据,纯读本机日志产出账单。

tokentab 做的事很朴素:Claude Code、Codex、Cursor(半成品)和 Gemini CLI 本来就在你磁盘上留下会话日志,它把这些日志读出来,把每个请求记录的 token 数换算成钱,然后按模型、按项目、按天、按会话做的事(编码 / 调试 / 重构 / 测试)分类汇总。跑一条命令,这个月的开销分布就在终端里。

它的设计取舍比功能更值得看。第一,**完全本地**:不注册账号、不要 API key、一个字节都不出你的机器,连价格表都是仓库里手写的一张 Python dict——作者宁可调价慢半拍,也不要因为厂商改个模型名就崩掉。第二,**几乎零依赖**:唯一第三方库是 rich,用来画终端表格,Web 面板直接用标准库起服务绑 localhost。第三,**可扩展**:每接入一个新工具就是在 providers/ 下写一个返回 UsageRecord 列表的模块,下游的计价、分组、面板全都不用改。

对你真正有用的其实不是那个总数,是它给出的三条读数:缓存命中率长期低于 80%,说明上下文不稳定或缓存没开;某个贵模型在一堆小调用上占了大头,说明你在用牛刀杀鸡;"chat" 和 "exploring" 占了大比例,说明预算花在聊天和读代码上而不是改代码上。这三条每一条都对应一个马上能做的动作。

顺便一提,token 数是从日志里直接读的,不是估算。它对缓存的处理还算细心:Claude 会把缓存读写分开记,Gemini 的输入 token 含缓存部分,tokentab 会先把这部分扣出来再计价,避免同一批 token 收两次钱。

能拿它做什么

  • 月度对账:这个月 AI 花了几百还是几千,拆到每个项目上
  • 找出浪费:哪个模型在廉价任务上占据位,切到便宜模型能省多少
  • 报价依据:给客户报 AI 相关工作时,拿历史数据算成本底线
  • 缓存体检:缓存命中率掉下去能第一时间发现,而不是靠月底账单

怎么用起来

  1. git clone https://github.com/crwdla/tokentab && cd tokentab && pip install .
  2. 默认看最近 7 天:tokentab
  3. 只看今天:tokentab -today;看整月:tokentab -month;看全部历史:tokentab -p all
  4. 起本地面板:tokentab -web(打开 http://localhost:4747,只读本机数据)

官网在 github.com/crwdla/tokentab ,源码在 GitHub 仓库 ↗

坑在哪

注意

价格表是手写的,厂商调价或改模型名后可能算成 $0.00——作者的处理是明确提示「没匹配到」而不是默默算成免费,看到零要认真核实。Cursor 的适配目前是桩,还没做完。它只能统计有本地日志的工具,走网页或 API 直连的用量一概看不到,别指望它覆盖全部开销。另外它是个人工具的完成度,别拿它当团队级计费系统用。

用 AI 干活而不记账,等于开着水龙头看水表——tokentab 就是那块水表。

官方地址
github.com/crwdla/tokentab
前往官网 ↗