前两天我发了一张自己 Token 消耗量的截图。
![[01_内容母版/01_长文/assets/2026-07-19_online-token-tracker.png]]
有个朋友看到后问:这个是怎么做的?能不能分享一下?
可以。方法很简单:让你现在正在用的 AI Agent,读取自己电脑里的本地使用记录,按天汇总,再生成一个离线 HTML 页面。
你不用手动翻文件,也不用自己懂日志格式。把下面这段提示词发给 Codex、Claude Code、Cursor、Trae、WorkBuddy 这类能操作本机文件的 Agent 就行。
最后看到的就是这样一张日账本
页面里有累计 Token、今天消耗、日均、活跃天数、近 14 天趋势、按工具分布和每天的明细。
![[01_内容母版/01_长文/assets/2026-07-19_local-token-ledger-dashboard.png]]
数字用“万”“亿”显示,不用盯着一长串 0 看。每天还能拆开看 Codex、WorkBuddy 等工具分别消耗了多少。
这份数据只保存在本机:扫描脚本读取本地日志,汇总结果写入一个 JSON 文件,HTML 页面读取这个 JSON。原始对话不会出现在页面里。
它实际在统计什么
不同 AI 工具会在电脑里留下不同的记录:可能是 JSON、JSONL、trace 文件,也可能是本地数据库或应用日志。
统计时,Agent 要找到四类信息:
- 这条记录发生的时间;
- 输入 Token;
- 输出 Token;
- 缓存复用和总 Token。
有一个地方要特别注意。
有些工具保存的是“当前会话累计 Token”,不是单次请求的 Token。这个情况下,不能把每一条记录直接相加。正确做法是按时间排序,再用后一条累计值减去前一条累计值,得到这段时间真正新增的消耗。
另外,本机统计的 Token 不能直接等同于金额。不同模型、套餐和厂商的计费口径不一样,缓存 Token 的计算也不一样。这张表用来观察自己的使用量和工具分布,不用拿它套账单。
从 Token 里,还能看到每天的 AI 工作节奏
后面这部分也不是 AI 看完聊天记录以后,猜我今天干了多久。
它读的还是同一批本机日志里的时间字段。
Codex 的每一条 Token 事件都有时间;WorkBuddy 的 trace 有 startedAt 和 endedAt。拿到这些时间后,按本机时区放到一天里,就能大概看到 AI 在什么时段有活动。
具体是这样算的:
- 先按日期把 Token 活动归类;
- Codex 当天有 Token 活动的一份会话 JSONL,算 1 个“Codex 会话记录”;WorkBuddy 一份完成的 trace JSON,算 1 条“WorkBuddy 工作流记录”;
- 单个 Token 事件先按 5 分钟活动处理;相隔不超过 30 分钟的活动合并成同一段。这样能得到当天最早活动时间、最晚活动时间和估算的 AI 活跃时长;
- 按小时汇总 Token、活动事件和记录单元,就能看出一天哪个小时最忙;两个以上记录单元的活动时段重叠,就记为并发。
所以页面里的“AI 活跃 3 小时”,意思是这 3 小时里本机持续有 AI 用量或工作流活动,不是说我 3 小时都坐在电脑前没离开。
“记录单元”和“业务任务”也不是一回事。一份 Codex 会话里可能有几十轮对话、代码修改、搜索和子代理;一条 WorkBuddy 工作流也可能调用模型很多次。所以不能看到“今天有 18 条记录”,就理解成今天完成了 18 个业务任务。
目前这套统计还能看到一些不用读正文的标签:
![[01_内容母版/01_长文/assets/2026-07-19_token-ledger-02.png]]
展开某一天的明细,能看到更细的颗粒度:
![[01_内容母版/01_长文/assets/2026-07-19_token-ledger-03.png]]
- 来自 Codex 还是 WorkBuddy;
- Codex 是 Desktop 还是 CLI 入口、主会话/子代理/自动化、工作区目录名、模型,以及有没有代码修改、网页搜索、MCP 等行为信号;
- WorkBuddy 的 Agent 类型、模型、完成或出错状态;
- 每天的工作时段、高峰小时、记录单元和并发数。
但它不能可靠判断“这条是在写文章,还是在修某个功能”。这些语义通常藏在用户消息、会话标题或 trace 正文里。默认版不读取也不保存这些内容,所以只显示真实可得的元数据标签,不会硬猜一个“任务类型”。
我这边已经读到的工具,以及其他工具怎么处理
我自己的电脑上已经跑通了 Codex 和 WorkBuddy:
| 工具 | 读取的记录类型 | 统计时要注意 |
|---|---|---|
| Codex | 会话 JSONL | 记录里可能是累计用量,要按事件时间计算增量 |
| WorkBuddy | trace 记录 | 按任务结束时间汇总总 Token |
Claude Code、Cursor、Trae、CodeBuddy 也能按同一套方法处理,不过每个人的工具版本和系统不同,目录、文件格式、字段名都可能不一样。
所以提示词里会要求 Agent 先做一次“数据源探测报告”:它找到哪些文件、哪些字段、能不能确认是 Token 数据。确认后再写统计逻辑。找不到就显示“未适配”,不要猜数字。
macOS 和 Windows 都一样处理:从当前用户目录开始探测,不把某一台电脑的绝对路径写死。
直接复制给你的 AI Agent
请在我的电脑上帮我做一个“本地 AI Token 账本”。目标是统计我每天使用 AI 工具的 Token 量,生成一个可离线打开的 HTML 页面;数据只保存在本机,不上传任何服务器。
请优先适配 Codex、WorkBuddy,同时检查 Claude Code、Cursor、Trae、CodeBuddy 是否存在可用的本地使用记录。不要假设工具目录、字段或数据格式固定,必须先探测再实现。
先做“数据源探测报告”,暂时不要改文件。报告请列出:
1. 发现的候选目录和文件;
2. 每种文件中的时间字段;
3. Token 字段,包括输入、输出、缓存、总量;
4. 这些 Token 是单次记录,还是会话累计值;
5. 哪些工具能确认支持,哪些工具需要我补充文件样本。
探测报告经我确认后,再开始实现。实现时必须遵守:
1. 只读取本机数据;不要调用外部 API、创建账号、上传 Webhook、下载未知二进制、安装常驻后台服务。
2. 不要把原始对话、提示词、项目路径、密钥、账号信息写入任何输出文件。最终只保留按日聚合后的数字。
3. 如果日志保存的是会话累计 Token,必须按时间排序,计算相邻记录的增量;不能把累计值逐条相加。
4. 按本地日期和工具汇总输入、输出、缓存复用、总 Token;某个工具没有对应字段时,如实留空或只统计总量。
5. 同时根据 Token 事件时间和任务开始/结束时间,生成每天的 AI 工作节奏:首个/最后活动时间、估算 AI 活跃时长、活动片段、每小时 Token 高峰、记录单元数和峰值并发记录单元数。间隔不超过 30 分钟的活动可合并为同一段;单个 Token 事件按 5 分钟处理。明确标注:这是 AI 活动推算,不等于真人实际工时。
6. 不要笼统把所有记录都叫“任务”。在页面说明统计口径:Codex 的记录单元是一份当天有 Token 活动的会话日志,WorkBuddy 的记录单元是一条完成的 trace 工作流;并发只表示这些记录的活动时段重叠。
7. 在不读取或保存对话正文、提示词、会话标题、项目完整路径的前提下,尽量显示安全标签:工具来源、入口、工作区目录名、模型、主会话/子代理/自动化、Agent 类型、完成状态、代码修改/搜索/MCP 等行为信号。没有可靠语义时显示“未提供语义标签”,不要猜它在做什么。
8. 把聚合结果写入项目内可审查的 JSON 文件,例如 data/usage.json。字段至少包括日期、工具名、输入、输出、缓存、总量、活动时段、记录单元、数据来源和最后同步时间。
9. 生成一个无需服务器的 dashboard.html,双击即可打开。页面显示:累计 Token、今日 Token、日均 Token、活跃天数、近 14 天趋势、按工具分布、AI 工作节奏、每日明细;每日明细可展开查看来源、标签、活动片段和小时高峰。
10. 数字使用中文直观单位:小于 1 万显示原数,1 万以上显示“万”,1 亿以上显示“亿”;每日明细保留完整数字。
11. 兼容 macOS 和 Windows:使用用户目录和相对路径。分别提供 macOS 启动脚本,以及 Windows 的 .cmd 和 PowerShell 启动脚本;启动后先同步数据,再打开 dashboard.html。
12. 某个工具无法确认 Token 字段时,显示“未适配/需要确认”,不要编造数字。
完成后告诉我:实际支持了哪些工具、每个工具使用的字段和统计口径、哪些工具还需要文件样本、macOS 和 Windows 的运行方式,并展示一次真实同步后的汇总结果。怎么用
把提示词发给你最常用的 Agent。
第一轮只让它给“数据源探测报告”。你确认它读的是哪些目录、准备怎么统计之后,再让它继续生成脚本和页面。
生成完成后,每次打开脚本,它会先同步最新数据,再打开本地的 dashboard.html。你就能看到自己的日账本。
如果你只用网页版 ChatGPT、网页版 Claude,电脑上没有对应的本地日志,这个方法就没有数据源可读。它会提示没有可用来源,这是正常结果。
先用自己的电脑跑一遍。看完过去七天的 Token 消耗,你对自己每天到底怎么在用 AI,会清楚很多。