@liziy/token-stats

pi 的 Token 用量与配额监控扩展 —— footer 实时显示 token 用量、缓存命中率、输出速率、上下文占用,以及 MiniMax/GLM/Kimi/DeepSeek/mimo 套餐配额;JSONL 按模型分桶记录 + /stats 日/小时/周/月/年及按模型多维查询

Packages

Package details

extension

Install @liziy/token-stats from npm and Pi will load the resources declared by the package manifest.

$ pi install npm:@liziy/token-stats
Package
@liziy/token-stats
Version
1.9.2
Published
Oct 22, 2026
Downloads
1,732/mo · 224/wk
Author
liziy
License
MIT
Types
extension
Size
320.9 KB
Dependencies
0 dependencies · 4 peers
Pi manifest JSON
{
  "extensions": [
    "./index.ts"
  ]
}

Security note

Pi packages can execute code and influence agent behavior. Review the source before installing third-party packages.

README

@liziy/token-stats

pi 的 Token 用量与配额监控扩展。footer 实时显示当前模型的 token 用量、缓存命中率、输出速率、上下文占用与套餐余量,/stats 打开网页报表回看历史。零运行时依赖,不上传任何数据。

安装

pi install npm:@liziy/token-stats

装好后 footer 立即出现用量信息,无需配置。

状态栏

显示内容

↓524k $6.3 ↑140M Σ140M CH 50% | ⚡43.6 t/s | TH high | 🧠 161k/1.0M | 5h: 93% ⏱4h 7d: 60% ⏱23h (commandcodego) deepseek/deepseek-v4.1-flash

按段落从左到右:

段 示例 含义
用量 ↓524k $6.3 ↑140M Σ140M CH 50% 见下表
速率 ⚡43.6 t/s 最近一轮的输出速度
思考强度 TH high 当前 reasoning 档位
上下文 🧠 161k/1.0M 已用 / 窗口上限
套餐余量 5h: 93% ⏱4h 7d: 60% ⏱23h 剩余额度与重置倒计时(需配置套餐)
来源 (commandcodego) deepseek/deepseek-v4.1-flash 当前 provider 与模型

用量段各项:

标记 含义
↓ 输出 token
$ 花费(provider 返回计价时才显示)
↑ 新增输入 token(不含缓存命中部分)
Σ 输入 + 输出合计
CH 缓存命中率,CH! 表示前缀缓存刚断(附 ↓单轮命中率)

用量只算当前模型:切换模型后各项从零开始计(显示该模型自己的数),不与上一个模型混算。

自定义显示

/stats → 状态栏配置,或 /stats config:

  • 勾选要显示的段(用量、速率、思考强度、上下文、套餐、耗时等)
  • 小数位独立设置(token 缩写、金额、百分比各自可调)
  • 速率单位:t/s / tok/s / T/s / 流式时带已生成量
  • 套餐样式:紧凑、带倒计时、带月度余额等
  • footer 按终端宽度自动取舍:窄屏优先保留核心段

改完立即生效,不用重启。

网页报表

/stats → 统计查询(或 /stats html),自动用浏览器打开报表。

页面包含:

  • 总览卡片:对话次数、token 用量、命中率、花费
  • 按模型占比:各模型的使用分布,点某一行只看该模型,再点取消
  • 逐日趋势:prompt token 面积 + 命中率曲线,悬停看单日明细
  • 用量热力图:日历形式按月展示,‹ › 翻月,悬停看当日用量
  • 逐轮明细:可搜索、排序、翻页、调整每页行数

明细表内也可点击联动:点时间只看那一天,点模型只看该模型。

日期栏支持 当天 / 近 7 天 / 近 30 天 / 近 90 天 快捷切换,也可手输起止日期后点「应用」。

链接固定可收藏:报表页面地址永远不变,数据由扩展写入同目录的数据文件,不需要每次重新生成。

页面右上角的服务面板

打开报表时会同时启动一个本地服务,让页面能显示统计状态并手动触发。

● 统计服务          运行中
上次 14:29:40(35 秒前) 188 轮 12 ms
下次 14:30:40 每 1 分钟
[暂停自动统计] [1 分钟 ▾] [立刻统计] [停止服务]
控件 作用
状态灯 绿=运行中、灰=已停止、红=统计出错、黄=未连接
暂停自动统计 停掉所有自动统计——定时器与「每轮对话后自动重建」一起停
间隔下拉 1 / 5 / 15 / 30 / 60 分钟
立刻统计 手动跑一次,暂停状态下仍可用
停止服务 释放端口。之后页面显示「未连接」,需回 pi 执行「统计查询」重新拉起

注意:服务运行在 pi 进程内,pi 关掉后服务随之消失,页面显示「未连接」,此时只能浏览已有数据、无法统计。重新在 pi 里执行「统计查询」即可恢复。

端口是 127.0.0.1:7788。被其它程序占用时页面显示「未连接」,不影响已生成数据的浏览。

套餐配额

/stats → 套餐配额配置,为当前 provider 选对应套餐,footer 立即显示余量与重置倒计时。

套餐 适用 provider 凭据
MiniMax (Coding Plan) minimax_local / minimax-cn / minimax MINIMAX_API_KEY
GLM (智谱) zhipu-cn / zhipu / glm / bigmodel GLM_API_KEY
Kimi (Coding Plan) moonshot-cn / moonshot / kimi MOONSHOT_API_KEY 或 OAuth
DeepSeek deepseek-cn / deepseek DEEPSEEK_API_KEY
mimo(小米) mimo 浏览器登录(见下)
Command Code (GO 套餐) commandcodego pi /login 登录

凭据读取顺序:环境变量 > ~/.pi/agent/auth.json 中当前 provider 的 key / OAuth access。

mimo 特殊:没有 API Key,凭据从控制台网页读取。首次启用会弹出 Chrome 窗口,在窗口内扫码登录即可,扩展自动读取 Cookie 并优雅关闭窗口。登录一次后凭据保留约 30 天,此后续期静默完成,不再弹窗。需本机有 Chrome / Edge / Chromium。

清除统计数据

/stats → 清除历史统计,或 /stats clear。

可选最近 7 / 30 / 90 天、指定日期区间、或全部历史。确认框会列出区间、涉及天数、各类文件数与合计体积,确认后不可撤销。

原始明细、小时聚合、日聚合三层一起删除,避免同一段时间在网页与终端显示成两组数字。

全部命令

/stats                          # 主菜单
/stats config                   # 状态栏配置

/stats html                     # 网页报表
/stats day [YYYY-MM-DD]         # 日统计
/stats hour [YYYY-MM-DD]        # 小时分布
/stats week|month|year          # 周 / 月 / 年
/stats models [from] [to]       # 按模型归类(默认近 7 天)

/stats clear                    # 清除历史统计

无参执行 /stats 打开主菜单,日常用菜单即可,命令参数只在需要精确指定区间时才用。

几点说明

  • 数据本地存放:~/.pi/agent/extensions/token-stats-logs/,纯 JSONL,不上传。删除目录即清空全部历史。
  • 命中率按模型算:服务端缓存按 provider + model 隔离,跨模型算平均没有意义,因此每个模型各自统计。
  • 混算值会标注:总览里若同时统计多个模型,命中率会提示「无工程意义」,请用模型筛选看单一模型。
  • 命中率偏低:通常是新会话首轮还没建立缓存。第 1 轮 13k 新增、后续每轮 98%+ 时,整体仍是 87%——首轮那笔是真实开销。
  • 切换模型不影响对话:历史消息原样带给新模型,本扩展只统计用量,不干预上下文。

版本历史

  • v1.9.2 — 修复状态栏缓存命中率恒为约 50%(provider 返回的 input 已含缓存时未归一化)
  • v1.9.0 — 新增网页报表、本地统计服务、清除历史统计,命中率与累计改为按模型独立计算
  • v1.8.5 — 修复 mimo 静默续期从未真正生效
  • v1.8.4 — mimo 登录一次后凭据保留约 30 天,续期改无头模式
  • v1.8.3 — 新增 Command Code (GO 套餐) 配额与月度余额样式
  • v1.8.1 — 修复 mimo 登录窗口秒退与登录退避被重置
  • v1.8.0 — 状态栏配置重构:显示项分组、精度独立设置、按终端宽度自适应

许可

MIT