claude-monitor 实战指南:5 小时窗口和燃烧速率一眼看穿
我是 Quentin,OpenClaw 作者,OpenClaw 拼车(cp.bizq.net)的维护者。
跑 Claude Code 时间长了,总会冒出几个挥之不去的疑问:
- 当前会话窗口到底还剩多少 token?
- 这一次 5 小时计费窗口是几点开始的?什么时候重置?
- 平均消耗速率多少?切到 Opus 跑大重构,会不会半小时就烧完?
我自己用 ccusage 看离线统计,但要回答「实时还剩多少 / 几点重置」这种问题,最顺手的工具是 claude-monitor。这篇是它的完整实战。
跑 Claude Code 之前,先用拼车一行接好 Max 20× 配额:
curl -fsSL https://cp.bizq.net/setup.sh | bash -s -- claude-max-20x
claude-monitor 解决什么问题
它跟 ccusage 是互补关系:
| 工具 | 强项 | 弱项 |
|---|---|---|
ccusage | 历史报表、月度统计、JSON 导出、按项目拆分 | 实时窗口监控不直观 |
claude-monitor | 实时窗口可视化、燃烧速率、重置时间预测 | 历史报表没有 ccusage 细 |
我自己两个一起挂:写代码时 claude-monitor 跑在屏幕角落,月初对账用 ccusage。
它能告诉你什么
- 几乎实时的 token 用量
- 当前 5 小时会话窗口实际开始时间和重置时间
- 当前窗口下的平均燃烧速率(tokens/min)和预计耗尽时间
- 按天 / 按月汇总用量(含 API 成本估算)
- 当前活跃的模型分布(Opus / Sonnet / Haiku 各占多少)
安装:推荐 uv
claude-monitor 是 Python 包,但不要用 pip 直接装——多数 Linux / macOS 现在的系统 Python 都有 PEP 668 限制(externally-managed-environment)。最佳方案是 uv。
Linux / macOS(uv)
# 装 uv(如果还没有)
curl -LsSf https://astral.sh/uv/install.sh | sh
# 装 claude-monitor
uv tool install claude-monitor
# 跑起来
claude-monitor可用别名:claude-code-monitor / cmonitor / ccmonitor / ccm。我自己直接 ccm 启动,最短。
Windows(PowerShell + uv)
# 装 uv
powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"
# 装 claude-monitor
uv tool install claude-monitor
# 跑
claude-monitor备选:pip
如果你坚持 pip:
pip install claude-monitor
# 检查是否在 PATH 中
which claude-monitor
# 不在的话补 PATH(bash)
echo 'export PATH="$HOME/.local/bin:$PATH"' >> ~/.bashrc
source ~/.bashrczsh 用户改成 ~/.zshrc 即可。Ubuntu 23.04+ 不要用 --break-system-packages,官方明确不推荐,遇到 externally-managed 错误直接换 uv。
第一次运行的小坑
第一次跑可能会看到:
No Claude data directory found这是因为 ~/.claude/projects/ 还没数据。打开 Claude Code 随便发一条消息,回来再跑就有了。
默认视图:实时仪表板
直接 claude-monitor 等价于:
claude-monitor --plan custom --view realtime --refresh-rate 10界面有几块核心信息:
- 💰 Cost Usage:当前会话窗口内累计成本(含输入/输出/缓存读写计费)。图标颜色:< 50% 绿、50-80% 黄、≥ 80% 红
- 📊 Token Usage:当前窗口累计 token(input + output),与计划限额对比
- 📨 Messages Usage:当前活跃会话已发送消息数
- ⏱️ Time to Reset:距离当前窗口结束的剩余时间。基于「当前会话所属小时整点 + 5 小时」滚动窗口
- 🤖 Model Distribution:本窗口内按模型统计的 token 占比
写代码时屏幕角落挂一个,配额管理一目了然。
常用命令速查
# 默认(custom 计划 + 实时视图)
claude-monitor
# 视图切换
claude-monitor --view realtime # 实时
claude-monitor --view daily # 每日
claude-monitor --view monthly # 每月
# 计划设置(影响限额参考线)
claude-monitor --plan pro # Pro 计划
claude-monitor --plan max5 # Max 5×
claude-monitor --plan max20 # Max 20×(拼车 Max 20× 用这个)
claude-monitor --plan custom # 自定义(默认)
# 主题
claude-monitor --theme dark # light / dark / classic / auto
# 时区
claude-monitor --timezone Asia/Shanghai
# 时间格式
claude-monitor --time-format 24h # 12h / 24h
# 刷新频率
claude-monitor --refresh-rate 5 # 数据更新间隔(1-60 秒)
claude-monitor --refresh-per-second 1.0 # 界面刷新(0.1-20 Hz)
# 配置管理
claude-monitor --clear # 清除保存的配置
claude-monitor --version完整参数表
| 参数 | 默认值 | 说明 |
|---|---|---|
--plan | custom | 订阅计划:pro / max5 / max20 / custom |
--custom-limit-tokens | None | custom 计划的 token 限额,不填会基于 P90 历史自动估算 |
--view | realtime | 显示模式:realtime / daily / monthly |
--timezone | auto | 时区,自动检测系统时区 |
--time-format | auto | 时间格式:12h / 24h / auto |
--theme | auto | 主题:light / dark / classic / auto |
--refresh-rate | 10 | 数据更新间隔(1-60 秒) |
--refresh-per-second | 0.75 | 界面刷新频率(0.1-20 Hz) |
--reset-hour | None | 每日重置时间(0-23,当前版本仅保存配置,不参与限额计算) |
--log-level | INFO | 日志级别 |
--log-file | None | 日志文件路径 |
--debug | False | 等价于 --log-level DEBUG |
--version | False | 显示版本退出 |
--clear | False | 清除保存配置 |
配置自动保存
最近一次的配置会保存到 ~/.claude-monitor/last_used.json:
# 看保存了啥
cat ~/.claude-monitor/last_used.json
# 清掉重新开始
claude-monitor --clear注意:--plan 不会自动保存,每次想用 max20 都得显式带上:
claude-monitor --plan max20我把这个配成 alias:
# ~/.zshrc 或 ~/.bashrc
alias ccm='claude-monitor --plan max20 --theme dark --timezone Asia/Shanghai'每天敲 ccm 就好。
三种视图实战
realtime:写代码时挂着
适合正在跑长任务、想随时知道还能写多久的场景:
claude-monitor --plan max20 --view realtime我屏幕用 tmux 分屏,一格 Claude Code 写代码,一格 claude-monitor 看进度。Cost Usage 黄了就知道该收手或者切轻量模型。
daily:每天复盘
claude-monitor --view daily显示最近若干天的 token 消耗 + 估算成本。我习惯每天下班前看一眼,知道今天「相当于消费了多少官方 API」。
monthly:月度账单视图
claude-monitor --view monthly按月汇总。月底对账时看,结合 ccusage 月报 一起看更全。
拼车场景下的实战配置
1. --plan 怎么选
OpenClaw 拼车 Max 20× 套餐用:
claude-monitor --plan max20如果你买的是其他档位,对应换 pro / max5。
custom 计划怎么用:拼车后端把限额包装得跟官方一致,所以多数情况直接用 max20 即可。如果你想自定义阈值(比如「我希望 80 万 token 就开始报警」),用:
claude-monitor --plan custom --custom-limit-tokens 8000002. 时区一定要对
拼车 5 小时窗口是按 UTC 算的,但显示的开始 / 重置时间会被 --timezone 影响。如果你在国内,建议:
claude-monitor --timezone Asia/Shanghai --time-format 24h不设的话默认 auto,多数情况是对的,但 Docker / VPS 容易拿到 UTC。
3. 跟 ccusage 一起用
我自己的工作流:
| 场景 | 用什么 | 命令 |
|---|---|---|
| 写代码常驻 | claude-monitor realtime | ccm |
| 临时查日报 | ccusage daily | bunx ccusage |
| 查会话异常 | ccusage session | bunx ccusage session |
| 月底对账 | ccusage monthly --json | 喂给脚本 |
| 看燃烧速率预测 | claude-monitor realtime | 实时仪表 |
ccusage 强在数据导出,claude-monitor 强在「看着舒服」。两个不冲突。
几个常见问题
Q:界面卡住不动 / 显示 0 token
排查步骤:
- 确认
~/.claude/projects/有内容:ls -la ~/.claude/projects/ - 在 Claude Code 里发一条消息,等 30 秒
- 重启
claude-monitor - 还不行,加
--debug看日志
Q:5 小时窗口的「开始时间」对不上
claude-monitor 的窗口算法是「当前活跃会话所在小时整点 + 5 小时」滚动窗口,这跟 Anthropic 官方文档描述一致。但 dashboard 上显示的「Reset Time」如果跟你预期不一样,多半是:
- 时区没设对(见上面)
- 上一个窗口尚未关闭(你在窗口边界发消息)
Q:能不能跟 OpenClaw 拼车的全局配额对齐?
不能直接对齐。claude-monitor 看的是你这台机器的本地用量,拼车后端的全局配额要去 cp.bizq.net 控制台看。两层是叠加的:本地窗口 + 全局拼车配额。
我的做法:本地用 claude-monitor 看 5 小时窗口快慢节奏,拼车后端用控制台看月度消耗,两份数据互相印证。
我自己的工作流
# 早上开机第一件事,挂上 monitor
ccm # = claude-monitor --plan max20 --theme dark --timezone Asia/Shanghai
# 写代码时另一个 tmux 窗格跑 Claude Code
claude
# 中午看一眼 daily
claude-monitor --view daily
# 下班前看燃烧速率,决定要不要再开一个 session
ccm简单粗暴但够用。
立即开始
claude-monitor + ccusage + OpenClaw 拼车,配额可见性 + 配额可用性一次性补齐:
# Claude Code 接拼车(一行)
curl -fsSL https://cp.bizq.net/setup.sh | bash -s -- claude-max-20x
# 装 monitor
uv tool install claude-monitor
# 跑起来
claude-monitor --plan max20更多文档见 https://cp.bizq.net。
相关文章
- ccusage 实战指南 — 跟 claude-monitor 互补的离线统计工具
- Claude Code 完整使用指南 — 主力 CLI 用法
- Claude Code 拼车最佳实践 — 拼车配额怎么用满
- OpenClaw 拼车配置指南 — 拼车从零接入