写了一个 Claude Code 实时 token 消耗监控器,按项目聚合

写了一个 Claude Code 实时 token 消耗监控器,按项目聚合,带 TUI

用 Claude Code 做项目开发的时候,经常开好几个会话切来切去,到了月底看账单才发现某个项目烧了几十刀。Claude 自带的 /cost 只能看当前会话,没有项目维度的聚合,也不能实时看。

所以写了 cc-monitor 这个小工具,核心就几个功能:

能做什么

  • 按项目聚合 — 同时监控多个项目的 token 消耗和费用

  • 实时 TUI — 终端界面每 2 秒刷新,最近的操作记录会自动轮播

  • 双数据源 — JSONL 日志(精确)+ PostToolUse Hook (实时时序)

  • 费用估算 — 按模型定价自动算,Sonnet / Opus / Haiku 都支持

  • Compact 检测 — 自动识别上下文压缩,显示节省了多少 token

安装使用

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

TUI 长这样

┌─────────────────────────────────────────────────────────────────┐
│ 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 │   │
└───────────────────┴─────────────────────────────────────────────┘

技术细节

  • Python 3.10+,依赖只有 rich

  • 采用 src/ 包结构,模块化拆分了 models / pricing / parser / state / server / watcher / tui

  • 零侵入,通过 Claude Code 官方 Hook 采集,不修改 Claude Code 本身

  • MIT 协议

代码在 GitHub: https://github.com/SagesAi/claude-cost-monitor

欢迎提 issue 和 PR 。

聊天