Codex Token 统计 Skill 升级:一句话打开每日用量看板

之前我在 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。

相关推荐
python零基础入门小白2 小时前
LangGraph智能体实战:如何用Langfuse构建AI运行时全链路可观测系统?
人工智能·学习·ai·chatgpt·程序员·大模型·智能体
SamDeepThinking5 小时前
if嵌套最好控制在3层以内
java·后端·程序员
SimonKing6 小时前
将cURL 命令直接变成 Java 代码?用JQuick-Curl搞起来
java·后端·程序员
阿里嘎多学长7 小时前
2026-09-07 GitHub 热点项目精选
开发语言·程序员·github·代码托管
kyriewen20 小时前
我手写了个极简版 React Router——才搞懂 v6 为什么砍了这么多 API
前端·javascript·程序员
程序员cxuan1 天前
GPT - 6 Astra 的使用焚诀
人工智能·后端·程序员
文心快码BaiduComate1 天前
从“代码补全”到“自主交付”:文心快码全私有化部署落地中信百信银行核心研发链路
人工智能·程序员·文心快码
爱勇宝1 天前
初创公司的“自己人”,到底能当多久?
前端·后端·程序员
newerp1 天前
Golang 函数调用的瞬间:栈帧、拷贝栈与逃逸分析
后端·程序员·go