omp packages

@erlin-ai/pi-token-summary0.5.2

Token/cost inline stats for the pi coding agent: dim transcript line with this turn's output, cumulative tokens, context %, and cost. Modes via /token-summary verbose|brief|off.

erlinerd Published 14 days ago MIT ~1.3K downloads/mo

Untested on omp

This is a pi package. No one has reported whether it works on omp yet. If you try it, add your result below.

Did it work for you?

Result

One report per person. A new report replaces your old one.

Reports 0

No reports yet.

Readme

pi-token-summary

CI License: MIT

English | 中文

pi coding agent 的 token 消耗内联显示扩展。agent 回复后,会话流里直接追加一行暗色统计:

↓1.2k ⟳ · Σ20.5k · ctx 63% · ⚡130.8 tok/s (4.9s · TTFT 6282ms) · $0.11 · glm-5.3-flash
  • ↓⟳:这条回复输出的 token
  • Σ:本会话累计输出
  • ctx:上下文占用百分比
  • $:累计成本
  • 模型名

统计行是自定义 session 条目(appendEntry + registerEntryRenderer),只进 TUI 渲染、不参与 LLM 上下文,resume 旧会话时历史统计行原样重现。

最近一轮的 TPS 常驻在 pi 的 footer,以状态项形式追加(ctx.ui.setStatus)——不替换默认 footer。流式输出期间显示实时 TPS(⚡12.3 tok/s (3.2s)),本轮 usage 到位后换成准确值。每个数据块都直接重画,不节流不缓动,数字跟着流的节奏走。⚡ 图标与数字按速度着色,越慢越暗越红,越快越亮越绿并加粗:10 以下 #A31010、30 以下 #E3170D、60 以下 #EF7C00、90 以下 #B8D430、120 以下粗体 #7CFC00、120 及以上粗体 #39FF8E。footer 与内联模式无关:off 只隐藏会话流里的统计行,footer 照常刷新。

三档显示模式

/token-summary verbose   # 每条 assistant 消息后都显示(含工具调用中间消息)
/token-summary brief     # 只在每轮末尾显示一次(默认)
/token-summary off       # 不显示;累计值照常统计,报告不受影响
/token-summary           # 查看完整报告 + 当前模式

模式持久化在 ~/.pi/agent/pi-token-summary.json,重启后保留。默认 简略。

说明:pi 的 turn_end 事件在每条 assistant 消息后触发;带工具调用的一轮对话会有多条消息。"详细"逐条显示,"简略"只在 stopReason 非 toolUse(即整轮真正结束)时显示一次。

原理

pi 扩展 API 的 turn_end 事件带本轮 assistant 消息的 usage;pi.appendEntry() 把渲染好的统计行持久化到 session 文件,pi.registerEntryRenderer() 负责在对话流中以暗色主题渲染。 启动时从 session 文件播种累计值,resume 旧会话也能续上。纯本地读取,无网络请求。

安装

pi install github:erlinerd/pi-token-summary   # GitHub
pi install npm:@erlin-ai/pi-token-summary               # 发布后

新开会话即生效。

卸载

pi uninstall @erlin-ai/pi-token-summary

开发

npm install
npm test        # tsx --test
npx tsc --noEmit

License

MIT