之前我在 CSDN 分享过一个小工具:《开源一个 Codex Token 用量统计 Skill:一条命令查看最近 30 天、净用量和峰值周》。
第一版的目标很直接:读取本地 Codex 日志,算出最近一段时间用了多少 Token,区分输入、输出、缓存和净用量,再给出用量最多的一天和一周。
那种文字表格的方式一直够用。不过,当我想回头看看最近一个月的使用情况时,又有了一个新需求:除了一个总数,我还想直观看到每天用了多少。
于是,这次给 codex-token-usage 做了一次升级。
现在,在 Codex 里说一句"统计本周用量",默认就会生成一个 HTML 看板,并请求系统默认外部浏览器打开。总量、每日趋势、缓存占比和每日明细,都放在同一个页面里。
项目已经开源:codex-token-usage-skill。下面先看效果,再说怎么用。
先看新版效果
这是我本地生成的一份报告,统计范围是 2026 年 8 月 10 日至 9 月 8 日 ,时区为 Asia/Shanghai。

页面上方是五个核心指标:总用量、净用量、缓存命中率、有用量的会话数、日均 Token。
这份报告里,总量约为 177.09 亿 ,按工具定义计算的净用量约为 8.3 亿 ,缓存命中率约为 95.62%。
这里的数值来自这次本地日志快照,不代表其他人的使用情况,也不能直接换算成账单金额。尤其是"净用量",它的含义是扣除缓存输入之后的 Token 数量,并不是某种官方计费口径。
我更想展示的是下面这张每日趋势图:哪些天明显冲高、哪些天用量较低,不用逐行读数字就能找到。
点击某一天的柱子,还能查看当天的总量、净用量和 Token 事件数。需要排查某次集中使用时,可以先定位日期,再回到那几天的任务中复盘。
这次具体更新了什么
1. 默认打开看板,少一步手动操作
第一版主要把统计结果放在对话里的 Markdown 表格中。这次我把默认使用流程调整为:
一句自然语言请求 → 读取本地日志 → 生成 HTML → 请求外部浏览器打开。
所以,平时直接说"统计最近 30 天的用量"就可以,不需要每次都补一句"再帮我生成一个网页"。
如果只想要文字结果或 JSON,仍然可以明确要求对应格式。原来的输出能力保留了,只是默认展示方式变了。
2. 总量和净用量,可以切换着看
每日趋势支持"总用量"和"净用量"两种视角。
总量适合看整体规模;净用量适合结合缓存情况,看看扣除缓存输入后还剩多少输入与输出。
例如,两天的总用量接近,但缓存命中情况不同,它们的净用量就可能有明显差异。把这两个视角放在一起,比单看一个很大的总数更容易理解。
图表的堆叠部分使用三个互不重复的分类:非缓存输入、缓存输入、输出。总用量视图另外保留日志总量线,方便对照日志记录值。
3. 增加"每日明细",精确数值也能查
看趋势适合快速浏览,真正要核对某一天,还是需要表格。

新版会列出统计范围内的每个自然日,包括没有用量的日期。表格支持按日期升序、总用量降序排列,找峰值日时更方便。
显示单位也统一换成了中文习惯:
| 数值范围 | 显示示例 |
|---|---|
| 达到 1 亿 | 177.09 亿 |
| 达到 1 千万、不到 1 亿 | 2.5 千万 |
| 达到 1 百万、不到 1 千万 | 1.25 百万 |
| 不到 1 百万 | 999,999 |
这套规则同时用于汇总卡片和每日明细。悬停可以查看精确值,导出的 CSV 也保留原始数字,方便拿去做进一步分析。
4. 每次使用同一份模板,离线也能打开
这次还有一个我比较在意的细节:页面由固定模板生成,每次替换的是统计数据。
不用让模型每次重新设计页面,配色、布局和交互就能保持一致。屏幕大小变化时,页面会做响应式调整。
生成的 HTML 内嵌了样式、脚本和汇总数据,不需要部署服务,也不依赖在线图表库。保存下来后,浏览器启用 JavaScript 就能离线查看。
它是一份生成时的快照。想看新的用量,重新运行一次即可。
一条命令安装,然后直接问 Codex
通过 Skills CLI 安装:
bash
npx skills add https://github.com/huajiexiewenfeng/codex-token-usage-skill --skill codex-token-usage
安装到你的 Codex 环境后,可以这样问:
统计本周 Codex token 用量。
统计最近 30 天的用量,看看每天用了多少、缓存命中率是多少。
统计 2026 年 8 月的用量,生成 HTML 看板。
其中,"本周"按指定时区的周一至今天统计;"最近 30 天"按连续的 30 个自然日统计。
如果之前已经装过旧版,要确认当前任务使用的安装目录也更新了。旧任务仍沿用此前指令时,可以说:
重新读取 codex-token-usage Skill,统计本周用量。
想接自动化,也可以直接运行 Python
如果习惯终端,或者想把报告生成接入自己的自动化流程,也可以直接运行脚本。以下命令在仓库根目录执行,需要 Python 3.9+。
统计最近 30 天,默认生成 HTML 并请求外部浏览器打开:
bash
python -B skills/codex-token-usage/scripts/codex_token_usage.py --days 30 --timezone Asia/Shanghai
默认文件会保存到当前工作目录下的 output/ 中,文件名包含统计日期范围。
自动化场景不希望弹出浏览器,可以加 --no-open:
bash
python -B skills/codex-token-usage/scripts/codex_token_usage.py --days 30 --timezone Asia/Shanghai --no-open --output output/usage.html
需要文字或 JSON 时,显式选择格式:
bash
python -B skills/codex-token-usage/scripts/codex_token_usage.py --days 30 --format markdown
python -B skills/codex-token-usage/scripts/codex_token_usage.py --days 30 --format json
这两种格式不会打开浏览器。旧的自动化脚本如果依赖默认 Markdown 标准输出,升级时需要补上 --format markdown。
日志位置默认取 CODEX_HOME,没有设置时使用 ~/.codex;需要统计其他目录,可以传 --codex-home。如果系统缺少 IANA 时区数据库,可安装 tzdata。
页面好看之外,统计口径也要说清楚
新版沿用了原来的本地日志统计方式:读取 sessions/ 与 archived_sessions/ 下的 JSONL 文件,对事件去重后,累加 last_token_usage 中的字段。
几个容易混淆的地方,也放进了页面的"统计口径与数据来源"里:
- 缓存输入是输入的一部分。 不能把"全部输入"和"缓存输入"再加一遍。
- 推理输出是输出的一部分。 图表不会把它重复叠加。
- 净用量 = 输入 − 缓存输入 + 输出。 它是这个工具定义的观察指标。
- 日均包含零用量日期。 统计 30 天,就用总量除以 30。
- Token 事件数不等于工具调用次数。 不用事件数推断工具使用情况。
这份真实报告还出现了一个值得保留的信息:日志记录的总量,与输入加输出的分类合计存在差额。页面会把差额显示出来,保留两种数值各自的含义。
当前版本也没有加入成功率、活跃时长、模型排名等指标。现有解析器没有提供可靠的数据,就先把已知的用量信息展示清楚。
适合日常复盘,也欢迎一起完善
如果你经常使用 Codex,想知道最近一个月哪几天用得最多、缓存占比如何、每天的净用量变化是什么,可以试试这次的版本。
对我来说,有了每日曲线,统计结果就更容易和具体工作对上:先找到峰值日期,再看那天做了哪些任务,判断这部分投入是否值得。
工具本身只处理本地日志,生成的页面只包含汇总数据,不嵌入提示词、会话 ID 或日志路径,也不会自动上传报告。它统计的是本机可读取的日志,不是账户全部用量或实时剩余额度。
项目地址:GitHub · codex-token-usage-skill
使用说明:中文版 README
欢迎试用。遇到日志兼容问题、统计异常,或者有更实用的展示建议,可以在 GitHub 提 Issue;如果对你有帮助,也欢迎给项目点个 Star。