ccusage 实战指南:把 Claude Code Token 用量摸透
我是 Quentin,OpenClaw 作者,OpenClaw 拼车(cp.bizq.net)的维护者。
跑 Claude Code 一段时间后,几乎每个人都会遇到这个问题:「我这个月到底烧了多少 token?哪个项目最费?什么时候会触发 5 小时窗口?」
我自己之前是写脚本读 ~/.claude/projects/*.jsonl 算的,直到发现了 ccusage——一个零安装、超快、专门读 Claude Code 本地日志的统计工具。这篇是从「装上到摸透」的完整实战。
用拼车跑 Claude Code 的话,一行接通 Max 20× 配额:
curl -fsSL https://cp.bizq.net/setup.sh | bash -s -- claude-max-20x
ccusage 是什么
ccusage 是一个 Node 写的 CLI 工具,做一件事:读你本地 ~/.claude/projects/ 下面的 JSONL 文件,按各种维度统计 token 用量和成本。
它能告诉你:
- 今天 / 本月 / 整个会话窗口烧了多少 input token、多少 output token
- 5 小时计费窗口的进度
- 哪个项目最费 token
- 哪个模型(Opus / Sonnet / Haiku)成本占比最高
- 当前活跃窗口的实时燃烧速率,预测什么时候用完
关键好处:完全离线(除了拉模型定价表那次)、零依赖、超小包体积。
快速开始
推荐:直接 bunx 跑(不安装)
ccusage 包体积只有几百 KB,完全没必要全局安装。bunx 启动 < 1 秒:
# 用 bunx(最快)
bunx ccusage
# 用 npx
npx ccusage@latest
# 用 deno(要带权限标志)
deno run -E -R=$HOME/.claude/projects/ -S=homedir -N='raw.githubusercontent.com:443' npm:ccusage@latest我自己机器上装了 bun,平时直接 alias cu="bunx ccusage",敲 cu 就出报告。
可选:全局安装
如果你在网络不好的环境(比如内网 / 飞机 wifi),可以全局装一次:
npm install -g ccusage之后直接 ccusage 即可。
报告类型(核心命令)
ccusage # 默认 = daily
ccusage daily # 每日 token 和成本
ccusage monthly # 按月汇总
ccusage session # 按对话会话统计
ccusage blocks # 5 小时计费窗口
ccusage statusline # 状态栏紧凑显示(Beta)每种各有用法,下面挨个讲。
daily:日报
最常用。看「今天 / 这一周每天烧多少」:
ccusage daily输出长这样:
Date Input Output Cache Total Cost ($)
2026-04-26 125k 45k 890k 1.06M $4.21
2026-04-27 201k 78k 1.4M 1.68M $7.83
2026-04-28 89k 34k 512k 635k $2.77Cache 那列是 prompt cache 的命中量。如果你 CLAUDE.md 写得好、上下文复用率高,这一列会非常显眼,真实成本下降 70%+。
monthly:月报
月初做账用:
ccusage monthly按月汇总,能看出哪个月「事故性」高(比如某周写一个新项目,token 直接翻 10 倍)。
session:会话报告
按对话会话分组,最适合用来定位「哪一次 Claude Code 跑死循环」:
ccusage session哪个 session token 异常大,对应的就是 Claude Code 当时陷入了 retry / loop。
blocks:5 小时窗口
这条最关键。Claude Pro / Max 订阅是按 5 小时滚动窗口算配额的。blocks 模式让你看到当前窗口和历史窗口:
ccusage blocks输出:
Block Start Tokens Cost Status
2026-04-28 09:00 1.2M $4.50 Active
2026-04-28 04:00 2.8M $11.20 Closed
2026-04-27 23:00 900k $3.40 ClosedActive 那行就是当前窗口。离窗口结束还有 X 分钟用 --live 看更直观。
live 仪表板
ccusage blocks --live实时仪表板,每秒刷新:
- 当前活跃 block 的 token 进度条
- 燃烧速率(tokens per minute)
- 距离窗口重置剩余时间
- 按当前速率预测的最终用量
写大代码的时候我开一个分屏挂着这个,配额快爆前提前切轻量任务。
筛选和选项
按日期范围
# 5 月 25 到 30 号
ccusage daily --since 20250525 --until 20250530
# 只看今天往前 7 天
ccusage daily --since $(date -d '7 days ago' +%Y%m%d)JSON 输出(喂给脚本)
ccusage daily --json > usage.json
ccusage monthly --json | jq '.[] | select(.cost > 50)'我用这条搭配 cron + 飞书机器人做了个月用量 > 阈值自动报警,详细写法见底部「自动化场景」。
按模型成本细分
ccusage daily --breakdown输出会多几行,按 Opus / Sonnet / Haiku 拆开:
2026-04-28
└─ claude-opus-4 320k tokens $9.60
└─ claude-sonnet-4-5 1.2M tokens $3.60
└─ claude-haiku-3-5 200k tokens $0.20写代码任务,Opus 单价是 Sonnet 4 倍。看到 Opus 占比异常高,就是没配置好模型路由。
时区与本地化
ccusage daily --timezone Asia/Shanghai --locale zh-CN
ccusage daily --timezone UTC默认是系统时区。我服务器都设 UTC、本地 macOS 设 Shanghai,跨机器对账时记得加 --timezone 对齐。
项目分析
按项目分组
--instances 把不同项目(按 ~/.claude/projects/<name>/ 切分)拆开:
ccusage daily --instances输出:
Date Project Tokens Cost
2026-04-28 openclaw-carpool 800k $3.20
2026-04-28 bizq-backend 400k $1.60
2026-04-28 nasdaq-bot 200k $0.80哪个项目偷偷在烧钱一目了然。
筛选特定项目
ccusage daily --project openclaw-carpool
ccusage daily --project openclaw-carpool --breakdown我个人最常组合:
ccusage daily --instances --project myproject --json | jq '.[] | {date, cost, tokens}'紧凑模式(截图 / 分享)
终端宽度小、或者要发截图的时候:
ccusage --compact
ccusage monthly --compact强制启用紧凑表格,列变短,颜色简化,发图清晰。
OpenClaw 拼车场景下的注意事项
拼车场景跟独立订阅相比,有几个细节要知道:
1. ccusage 看到的依然是「你的」用量
ccusage 只读你本机 ~/.claude/projects/ 的日志,它看到的是这台机器跑过的 token 量。拼车后端的整体配额、其他席位用了多少,它看不到。
如果你想看「拼车账户全局还剩多少配额」,看 cp.bizq.net 控制台,或者用 claude-monitor 那个工具。
2. 成本数字是「按官方 API 价格估算」的
ccusage 显示的 $ 数字是按 Anthropic 公开 API 价格算出来的「如果你直接刷 API key 要付多少」。
跑 OpenClaw 拼车的时候你按席位月费付,跟这个 $ 数字没有直接关系。但是它能让你看清「我每月相当于消费了多少 API 钱」——这是衡量拼车价值的核心指标。
我自己的数据:一个月 ccusage 显示 $1200+,拼车席位月费按团队规模定制,账面上拼车一年回本几十次。
3. 5 小时窗口监控仍然有效
不管走拼车还是直连,Claude 后端的 5 小时滚动窗口配额是一样的。ccusage blocks --live 在拼车场景下完全有效,重要的窗口管理工具。
自动化场景
每天发用量到飞书
~/.claude/cron/daily-usage.sh:
#!/bin/bash
USAGE=$(bunx ccusage daily --json | jq '.[-1]')
TOKENS=$(echo "$USAGE" | jq '.totalTokens')
COST=$(echo "$USAGE" | jq '.cost')
curl -X POST "https://open.feishu.cn/open-apis/bot/v2/hook/<id>" \
-H 'Content-Type: application/json' \
-d "{\"msg_type\":\"text\",\"content\":{\"text\":\"今天 Claude Code 用了 ${TOKENS} tokens,成本估算 \$${COST}\"}}"挂 crontab:
0 22 * * * /Users/me/.claude/cron/daily-usage.sh状态栏集成
ccusage 提供了 statusline 模式,可以喂给 Claude Code 的 status hook:
ccusage statusline具体 hook 怎么配,见 Claude Code 官方 hooks 文档。配好后终端 prompt 旁边能实时看 token 量。
离线模式
如果你在飞机上 / 限网环境跑,--offline 让 ccusage 不去拉最新定价表:
ccusage daily --offline价格用打包时的 cached 表,对纯 Claude 模型够用了。
我自己的 ccusage 节奏
| 频率 | 命令 | 用途 |
|---|---|---|
| 写代码时常驻 | ccusage blocks --live | 监控 5 小时窗口 |
| 每天下班前看一眼 | ccusage daily --breakdown | 看 Opus vs Sonnet 比例 |
| 周一早上 | ccusage daily --since $(date -d '7 days ago' +%Y%m%d) | 周报 |
| 月初 | ccusage monthly | 月度成本评估 |
| 出 bug 怀疑死循环 | ccusage session | 找到那个异常 session |
立即开始
ccusage 加 OpenClaw 拼车一起用:拼车解决配额问题,ccusage 解决可见性问题。
# 跑起来 Claude Code(拼车)
curl -fsSL https://cp.bizq.net/setup.sh | bash -s -- claude-max-20x
# 装好 bun 之后看用量
bunx ccusage更多文档见 https://cp.bizq.net,也可以参考 claude-monitor 使用指南对比另一个用量监控工具。
相关文章
- claude-monitor 实践指南 — 跟 ccusage 互补的实时监控工具
- Claude Code 完整使用指南 — 主力 CLI 用法
- CLAUDE.md 约束提示词指南 — 通过 prompt 缓存把成本降下去
- OpenClaw 拼车配置指南 — 拼车从零接入