Token 用量统计
扫描 ~/.claude/projects/ 下全部会话 JSONL,提供两种可视化视图。
安装
本技能依赖 Python 3.10+,无需额外依赖包(纯标准库实现)。
确认脚本路径后直接运行即可。用 Glob 搜索 **/xiaoqi-token-stats/token_stats.py 定位绝对路径。
1. 仪表盘(token_stats.py)
- Summary cards:总量、日均、会话数、消息数
- Daily Trend:日度趋势折线图(Cache Read / Cache Write / Output 分层)
- Weekly / Monthly:周度和月度堆叠柱状图
- Token Breakdown:四类 token 占比环形图 + 明细卡片
- Models:模型分布横向进度条
- Activity by Hour:24 小时活跃度热力图
python3 /path/to/token_stats.py
python3 /path/to/token_stats.py --since 2026-03-01
python3 /path/to/token_stats.py -o ~/Desktop/token-report.html
| 参数 | 说明 |
|---|---|
--since YYYY-MM-DD |
起始日期 |
--until YYYY-MM-DD |
截止日期 |
-o PATH |
输出文件路径(默认 /tmp/xiaoqi-token-stats.html) |
--no-open |
不自动打开浏览器 |
2. Token 日历(token_calendar.py)
月历视图,每个日期格子显示当天总 Token 量和各模型消耗分布。支持月份切换、左右键导航、hover 查看详情。
python3 /path/to/token_calendar.py
python3 /path/to/token_calendar.py --month 2026-03
| 参数 | 说明 |
|---|---|
--month YYYY-MM |
初始显示月份(默认当月) |
-o PATH |
输出文件路径(默认 /tmp/token-calendar.html) |
--no-open |
不自动打开浏览器 |
日历格子内容:日期(醒目)· 总 Token · 会话/调用数 · 前三模型明细 · 模型占比条。无数据日期虚线边框。
触发判断
- 用户说「token 日历」「用量日历」→ 运行 token_calendar.py
- 其他 token 统计类请求 → 运行 token_stats.py
数字单位
所有数字使用中文单位:亿、万、千。图表坐标轴、tooltip、卡片数值统一遵循此规则。
日历视觉风格
暖光浮动卡片设计:
调色板
| 变量 | 值 | 用途 |
|---|---|---|
--bg |
#f4f1ec |
暖纸底背景 |
--card |
#ffffff |
浮动卡片 |
--text |
#1c1917 |
主文本(warm near-black) |
--text-secondary |
#78716c |
次文本 |
--text-tertiary |
#a8a29e |
辅助文本 |
--accent |
#d4714f |
珊瑚强调色 |
--border |
rgba(0,0,0,0.06) |
默认边框 |
--shadow |
0 1px 3px rgba(120,100,80,0.06) |
暖色调阴影 |
字体
Outfit(Google Fonts)+ PingFang SC / Noto Sans SC CJK fallback。全局 tabular-nums 对齐数字。
布局规则
- 周一起始:周一~周日,周六日标记为 weekend(珊瑚色日期)
- 浮动卡片网格:7 列 CSS Grid,
gap: 8px,每个有数据的日期是独立白色卡片(border-radius: 14px) - 无数据日期:虚线边框(
dashed rgba(0,0,0,0.08)),无背景 - 空占位格:完全透明,
min-height: 40px - 当日高亮:珊瑚色
border + box-shadow双环
日格卡片内容(由上至下)
- 日期数字(1.1rem / 700 weight,醒目)
- Token 总量(1.2rem / 700 weight)
- 会话·调用(0.68rem 辅助文字)
- 前三模型明细(色点 + 名称 + 用量)
- 模型占比条(4px 堆叠色带)
交互
- Hover:卡片
translateY(-2px)+ 阴影加深,模型条scaleY(1.5) - 入场动画:
fadeUp瀑布式(animation-delay: d * 20ms) - Tooltip:玻璃态(
backdrop-filter: blur(20px)),含完整模型明细 + 百分比 - 键盘:左右箭头切换月份
页面底部
- 环形图(SVG donut):180px,展示月度模型占比,中心显示月度总量
- 模型图例:两列卡片网格,默认显示前 6 个,「显示全部」按钮展开其余
- 每项含:色点 + 模型名 + 用量 + 百分比
响应式
< 900px:模型明细隐藏,图例单列< 600px:模型条隐藏,日格最小化- 打印:隐藏导航和页脚