[分享创造] 用 Claude Code 给 Claude Code 写了个"年度报告":会话热力图、token 统计、自动日报

[分享创造] 用 Claude Code 给 Claude Code 写了个"年度报告":会话热力图、token 统计、自动日报
[分享创造] 用 Claude Code 给 Claude Code 写了个"年度报告":会话热力图、token 统计、自动日报

事情是这样的:最近 Claude Code 用得很重,但它不提供任何使用统计——我想知道自己每天跑了多少会话、烧了多少 token 、都干了些什么。

于是我打开 Claude Code,让它给自己写一个统计工具。一天时间,从空仓库到发布 npm,而这个工具统计的第一批数据,就是"写它自己"的那几个会话——日报里能看到它自己的完整开发过程,相当套娃。

Dashboard

它做什么

Claude Code 把所有会话记录都存在本地(~/.claude/projects/**/*.jsonl),里面有完整的时间戳、token 用量、模型、你发过的每条指令。cc-journal 解析这些文件,给你:

  • GitHub 风格活跃热力图——一眼看出哪天最肝,指标可切换(token / 会话数 / 指令数)
  • 每日 token 趋势——input / output / cache 分开统计(cache 量级大 100 倍,混算全是虚高)
  • 时段分布——看自己几点效率最高(我的午休低谷清晰可见)
  • 当日明细——每个会话什么时间、哪个项目、首条指令、花了多少 token
  • 每日工作日报——规则提取"今天干了什么",也可以调本机 claude CLI 浓缩成一段文字(走订阅,不用配 API key)

几个设计点

  • 100% 本地离线,不上传任何数据,服务只监听 127.0.0.1,无遥测
  • 接第三方模型(Kimi / GLM / DeepSeek 等 Anthropic 兼容端点)同样能统计——模型名从会话记录里自动识别,不是写死的列表,模型分布图直接看到各家用量
  • token 按 message.id + requestId 去重(一次响应在记录里占多行,每行都带完整 usage,不去重数字会翻几倍)
  • Claude Code 默认 30 天清理旧记录,工具会把已解析的历史留在本地缓存里,从首次运行起热力图只增不减
  • 零框架:Node + 原生 JS + ECharts,唯一运行时依赖是 commander
  • 界面和 CLI 都支持中英文

试用

npx cc-journal serve

一条命令,浏览器自动打开 Dashboard,首次解析几秒钟。

GitHub:https://github.com/pickjason/cc-journal

目前只支持 Claude Code,数据口径上踩过的坑都写在 README 里了。功能还比较初期,欢迎反馈和 PR 。

来源: v2ex查看原文