VibeCafé
· Codex

Codex CLI 怎么看 Token 用量?三种方法对比(含 GPT-5.5)

Codex 自带的 codex usage 只给本周本月的汇总数字,看不到按模型、按项目的细分——尤其换上 GPT-5.5 之后想单独算它烧了多少根本查不了。这篇把官方命令、服务商后台、本地日志三种查法列清楚,告诉你各自的边界。

Codex 是我用得越来越多的工具——大段重构和长任务,它的 Agent 循环比手敲提示省心。但用得越多越发现一个事:它的消耗远比我以为的多,而 codex usage 给的那点数字根本不够我搞清楚钱花在哪。 尤其最近换上 GPT-5.5 之后,我想单独算「这个新模型在 Codex 里烧了多少」,发现自带统计完全答不了。这篇把目前能查 Codex 用量的几种方式列清楚,各自能看到什么、漏掉什么。

方法一:自带的 codex usage 命令

Codex 装好之后,在任何目录运行:

codex usage

输出大致长这样:

This week:
  Sessions:        12
  Input tokens:    4,231,000
  Output tokens:   142,000
  Estimated cost:  $11.82

This month:
  Sessions:        43
  Input tokens:    18,450,000
  Output tokens:   612,000
  Estimated cost:  $51.34

适合场景: 想快速知道本周 / 本月一共烧了多少、大概花了多少钱。

它告诉不了你的

  1. 按模型拆分——你可能同时在用 GPT-5.4、GPT-5.5,混在一起看不出哪个烧得多
  2. 按项目拆分——这次任务在哪个仓库跑的
  3. 按天看趋势——哪一天突然冒尖了,为什么
  4. 缓存命中率——后面会讲,这才是 Codex 账单的真正命门
  5. 单次会话的 Token 分布(中位数、p90)

第 1 点在你换新模型的时候尤其要命。你换上 GPT-5.5,总消耗涨了,但到底是新模型更烧还是你这周恰好干得多,codex usage 区分不了。

方法二:服务商后台(API 计费)

如果你直接用 API key 跑 Codex,服务商的 Usage / Billing 后台通常能按模型、按天拆,能看到 gpt-5.5 单独那一行。

适合场景: 对账、看大盘费用。

短板

  1. 只覆盖走这个 key 的调用——同一个 key 还跑了别的脚本、别的工具就全混在一起
  2. 颗粒度按天 / 按小时,精确不到单个 session
  3. 不知道你在哪个项目跑的
  4. 缓存命中率它也不一定单独给

方法三:直接读本地日志

少有人意识到——Codex 把每场会话的完整记录写在本地:

~/.codex/sessions/<session-id>.jsonl

和 Claude Code 在 ~/.claude/projects/ 一样的逻辑。每场会话是一个 jsonl 文件,里面每条 message 带详细的 modelusage 字段。

优势和代价

优势: 数据完整、不会丢、可重放,能按模型也能按项目任意聚合——这是唯一能从源头算清「GPT-5.5 单独烧了多少」的方式。

代价: 要自己写脚本解析。jsonl 不算复杂但每想换个聚合维度都得改半天。我之前写过一段 awk + jq 的管道,能跑,但维护很烦。

我现在用的方案

后来我用 Vibe Usage——它就是「方法三的自动化版本」。原生读 Codex 的 sessions 日志,自动同步,零配置(运行 npx @vibe-cafe/vibe-usage 走浏览器登录就行,不用手动配 key)。装好之后我看到的,是 codex usage 给不了的:

  • Codex 里 GPT-5.5、GPT-5.4 各占多少——换模型那周我一眼看清新模型确实更重
  • 缓存命中率高达 94%——比我以为的高很多
  • 上周三那个异常值,点进去是一个重构任务把 Codex 带进了 200 多次循环
  • 某个 monorepo 占了我 Codex 总消耗的六成,因为文件树太大、每次循环都重发上下文

缓存命中率才是 Codex 账单的命门

我装 Vibe Usage 之前以为 Codex 烧钱主要是 input token。装上才发现:Codex 的 input 里 94% 是缓存命中的,缓存价只有原价十分之一。

所以你在 codex usage 看到的那个吓人的 input 数字,绝大部分是廉价的缓存命中,真正掏钱的是那一小块未缓存输入和 output。明白这件事之后我开始注意:

  • 大重构尽量一次跑完,别中断重启——中断会清缓存
  • 换模型时别顺手清上下文——这是命中率掉下来的最常见原因
  • 少让它给我大段总结——output 单价是 input 的好几倍

这些把我月消耗从 50 美元压到 30 出头。缓存为什么这么关键,我们单独拆过 缓存输入 token 为什么能让账单差十倍

选哪个的简单判断

我的经验是:第一周看到细分数据时的「意外」,比之后所有优化加起来都值钱——你会重新认识自己到底怎么在用 Codex。

相关阅读

Codex CLI 怎么看 Token 用量?三种方法对比(含 GPT-5.5)