ccgauge 的每个功能,一页讲完。
八大功能块,全都围绕同样的两条原则:你的数据不出本机,"我的 AI 花费到底去哪了"秒级有答案。
文档里展示的是真实跑起来的仪表盘。
这些截图来自本机正在运行的 ccgauge 应用,所以功能导览看到的是实际产品界面,不再是占位插图。
双数据源 Web 仪表盘
一个 Next.js 仪表盘同时认识 Claude Code(Anthropic)和 OpenAI Codex CLI。顶部 nav 三档切换 —— `Claude` / `Codex` / `All`(合并)—— 每个按钮都带真品牌 logo。URL + cookie 持久化选择,跨 tab、刷新都记得。
- 三态数据源切换:
All通过combineTotals/combineTimeBuckets把 Claude + Codex 合并成一份总览 - Overview — KPI(今日 token / 本月 / 今日 Top / 头牌模型)+ 按数据源分层的趋势图
- Usage — 按轮次 / 按调用展开的表,含 prompt 预览、工具列表、耗时、花费、搜索、过滤。趋势图支持 **Token / 对话数** 切换(每日 turn 计数)
- Sessions — 钻取单次对话,按模型和时间轴展开
- Projects — 按 cwd 分布的花费,worktree 感知:同一个 repo 的所有 worktree 自动合并成一行,不管是
git worktree还是 Claude Code 的.claude/worktrees/布局 - Models — 各模型并列对比 + 趋势条
- Settings — 检测到的数据源(带真品牌 logo)、indexer 健康度、扫描统计
KPI + 5 小时 block 实时跟踪
顶部 KPI 静默后台刷新 —— 没有 spinner,不会重置滚动位置。5h block 卡片实时显示当前会话窗口的钟表进度、每分钟燃烧速率、预计总花费。
- 每个 KPI 都带日环比
- 从 JSONL 时间戳实时检测"活跃 5h block"
- 卡片内置免责声明,避免和 Anthropic 套餐配额混淆
- Usage 页 15 秒静默自动刷新,光标 / 搜索 / 排序状态全保留
活跃度热力图 + 钻取页
7 天 × 24 小时网格,告诉你 AI 时间实际花在哪个时段。Hover 看消息数、token 总量、占总数比例、占峰值比例。消息数和 token 量是两份独立的热力图。
- 靠近视口顶部时,tooltip 自动翻到 cell 下方
- 侧边 "活跃天数 / 连续 / 高峰" 紧凑 tile
- 底部俏皮的 token 对比:"你已经用掉 ~12 倍《战争与和平》的 token"
- 宽窄屏自适应,无滚动条 artifact
用量表 + CSV 导出
每一次 API 调用都会按真实的对话轮次聚合(在 JSONL 里走 parent 链)。点开一轮看每次调用的工具列表、prompt 片段、花费。一键 CSV 导出。
- Skill 注入和
不会把一段对话拆成多个 turn - 耗时列显示每轮的钟表耗时(可排序)
- CSV:UTF-8 BOM(Excel 友好)、防公式注入、
?level=call|turn切换 - worktree 感知的项目名:
ai-self-web (playwright)而不是裸playwright
命令行报告
`ccgauge report` 一次性终端报告,无 server。对齐的表、彩色柱状趋势、Top-N 排行。`--json` 输出走管道接你的脚本,`--no-color` 走管道接 CI 日志。
-
-r today|1d|7d|30d|90d|all预设范围,或--since/--until任意区间 -
-b model|project|session分组维度 -
-g hour|day|week|month趋势粒度 -
-m/--project子串过滤;--no-trend/--no-breakdown精简输出
MCP 服务(给 LLM 用)
8 个 MCP tool 让 Claude Desktop / Cursor / Cline 等 MCP 客户端直接查你本地用量。不用截图、不用粘贴 —— 你问问题,模型从结构化数据答你。
- Tools:usage_summary, usage_by_time, usage_by_model, usage_by_project, usage_by_session, daily_summary, weekly_summary, recent_activity
- 支持模型有 reasoning token 时单独折算
- 走 stdio JSON-RPC,直接塞进任意 MCP 客户端配置
- 独立命名缓存(
index-mcp-v2.json),MCP 进程不会和仪表盘抢缓存
隐私 & 本地化打磨
100% 本地。只读取 CLI 自己写的 JSONL。运行时零外网调用。默认绑 127.0.0.1。MIT 开源。
- 深 / 浅 / 跟随系统三档主题,首屏零闪烁
- 中文 / 英文界面 + CLI + MCP 响应全语贯通
- 无任何 analytics、telemetry,不需要 API key
- 源码在 GitHub —— 看清楚它读了什么、不读什么
后台服务 + 多 profile
想常驻就把 ccgauge 当 daemon 用。完整生命周期命令:`start --background`、`stop`、`restart`、`status`、`open`、`logs`。状态持久化到 `~/.ccgauge/`,重启不丢配置。
-
restart自动继承上一次的port / host / dir / log - 跨平台:macOS、Linux、Windows(detached spawn 自带 windowsHide)
-
CCGAUGE_STATE_DIR环境变量切隔离 profile -
ccgauge status --json供监控脚本调用
ccgauge 是怎么数 token、算花费的。
数据来源:CLI 的 JSONL
ccgauge 永远不会再发一次 API 请求。它只读取 Claude Code(~/.claude/projects/) 和 Codex CLI(~/.codex/sessions/)已经写到磁盘上的 JSONL 文件, 并对子 agent fork、worktree mirror 出来的 (messageId, requestId) 去重。
价格表:内置快照
每百万 token 单价直接打包在 ccgauge 里。未知变体 fallback 到家族最新版(如 gpt-5.5-foo → gpt-5.5)。Anthropic / OpenAI 调价时,升级 ccgauge 就拿到新单价 —— 不依赖任何在线 API。
Codex 花费模型
Codex CLI 每个 token_count 事件都是累计值。ccgauge 计算正向 delta, 跳过重复刷新事件。显示的花费是"如果走 OpenAI API 单价会被收多少钱"的等价估值 —— 给走订阅 / managed 套餐的用户做参考。
缓存节省
把每一次缓存读取假设成按全量输入单价计费,差额就是"Saved by cache"。缓存创建按实际单价计费; 省钱头条数字的上界就是"如果完全没缓存会花多少钱"。
准备试试?
一行命令,浏览器自动打开 localhost:3737。
npx ccgauge
看 CLI 文档 →