用 Claude Code 做项目开发的时候,经常开好几个会话切来切去,到了月底看账单才发现某个项目烧了几十刀。Claude 自带的 /cost 只能看当前会话,没有项目维度的聚合,也不能实时看。
所以写了 cc-monitor 这个小工具,核心就几个功能:
git clone https://github.com/SagesAi/claude-cost-monitor.git
cd claude-cost-monitor
python -m pip install -e .
cc-monitor-install # 一键安装 hook
cc-monitor & # 后台启动 monitor
cc-monitor-tui # 启动终端 UI
┌─────────────────────────────────────────────────────────────────┐
│ cc-monitor ● hook ● jsonl refreshed 14:38:42 total: $7.72 │
├───────────────────┬─────────────────────────────────────────────┤
│ PROJECTS │ my-startup │
│ │ ┌──────────────────────────────────────┐ │
│ ● my-startup $4.21│ │ 1.24M tokens $4.21 12 sessions 8× │ │
│ api-gateway$1.87│ ├──────────────────────────────────────┤ │
│ data-pipeli$0.94│ │ current session #a3f2 │ │
│ infra-scrip$0.52│ │ ┌────────┐ ┌────────┐ ┌──────────┐ │ │
│ docs-site $0.18│ │ │ 134k │ │ $0.43 │ │ 2.1k │ │ │
│ │ │ │input │ │session │ │cache hit │ │ │
│ │ │ │tokens │ │cost │ │tokens │ │ │
│ │ │ └────────┘ └────────┘ └──────────┘ │ │
│ │ ├──────────────────────────────────────┤ │
│ │ │ bash ████████████ 769k $2.18 │ │
│ │ │ file_read ████░░░░░░░░ 298k $0.95 │ │
│ │ │ compact ─────────── -842k saved │ │
│ │ ├──────────────────────────────────────┤ │
│ │ │ 14:38 bash pytest tests/ +2.3k│ │
│ │ │ 14:37 bash find . -name +8.9k│ │
│ │ │ 14:32 compact 230k → 134k -96k │ │
└───────────────────┴─────────────────────────────────────────────┘
richsrc/ 包结构,模块化拆分了 models / pricing / parser / state / server / watcher / tui代码在 GitHub: https://github.com/SagesAi/claude-cost-monitor
欢迎提 issue 和 PR 。
1
SIFT2009 OP # [更新] cc-monitor v0.2.0 — 加了费用 spike 告警和会话结束自动总结
之前发的 [Claude Code 实时 token 监控器]( https://github.com/SagesAi/claude-cost-monitor) 更新到 **v0.2.0** 了,这次主要补了两个呼声最高的功能。 --- ## 1. 费用 spike 告警 用户最痛的场景:开了个 Claude Code 会话去做别的事,回来发现烧了十几刀。 现在 monitor 会追踪每个项目 5 分钟内的 cost 变化,如果突增 ≥ $0.50 ,TUI 顶部会出现红色告警横幅,同时触发 terminal bell: ``` ┌─────────────────────────────────────────────────────────────────┐ │ cc-monitor ● hook ● jsonl refreshed 14:38:42 total: $7.72 │ ├─────────────────────────────────────────────────────────────────┤ │ ⚠ my-startup +$0.82 │ ├───────────────────┬─────────────────────────────────────────────┤ │ PROJECTS │ my-startup │ │ ... ``` 阈值目前硬编码在 $0.50/5min ,后续考虑做成可配置。 --- ## 2. 会话结束自动总结 之前只有实时监控,会话结束后数据就留在内存里,没有事后分析。 现在检测到某个 session 的 JSONL 5 分钟没有更新(视为结束)时,会自动: 1. 在终端 stderr 打印一行总结 2. 追加一条记录到 `~/.claude/cc-monitor-sessions.jsonl` 效果: ```bash # 终端里直接看到 cc-monitor: session ended #a3f2d1e9 2.0k tokens $0.43 (compaction saved 96k tokens) # 日志文件可以 jq 分析 cat ~/.claude/cc-monitor-sessions.jsonl | jq -s 'group_by(.project)[] | {project: .[0].project, sessions: length, total_cost: map(.total_cost) | add}' ``` --- ## 升级 ```bash cd claude-cost-monitor git pull pip install -e . ``` 不需要重新装 hook ,`cc-monitor` 和 `cc-monitor-tui` 直接重启就行。 --- ## 其他 - 代码结构之前也重构过,现在是比较标准的 `src/` package layout ,9 个模块 + 对应测试。 - 接下来准备做 `--report` 命令( today/this-week 聚合)和按 model 拆分成本,有兴趣可以 track GitHub 。 代码和 README:[github.com/SagesAi/claude-cost-monitor]( https://github.com/SagesAi/claude-cost-monitor) MIT 协议,欢迎 issue / PR 。 |