OpenCode TPS
在 OpenCode(桌面版 / CLI)生成回复时实时显示 token 速度,兼容 OpenChamber。默认是一个小浮球;有多个会话时点开看每个会话的 tok/s。
Python 3.10+ · 本地运行 · 不联网 · 不读 API Key · 非官方工具
下载
SHA-256 DE2557A4BCF05B76A0A28825A7EC910D74003C6C2460FA9EA1EE8BA285E2D399
v1.2.0:以 OpenCode 为主入口,兼容 OpenChamber;两边的活动会话合并显示。
安装
Windows 10/11,Python 3.10+(含 Tkinter)。安装脚本不需要管理员权限;会复制文件、创建启动项、启动守护进程。
解压后运行:
Expand-Archive .\opencode-tps.zip -DestinationPath .\opencode-tps
cd .\opencode-tps
powershell -ExecutionPolicy Bypass -File .\install.ps1
然后重启一次 OpenCode 或 OpenChamber,发一条消息。浮球只在生成时出现,所有会话结束后自动隐藏。
手动安装
1. 复制 plugin\tps-live.js 到 %USERPROFILE%\.config\opencode\plugins\。
2. 复制 app\common.py、app\overlay.py、app\watcher.py 到 %LOCALAPPDATA%\OpenChamberTps\。
3. 用 pythonw.exe 启动 watcher.py;可选:在启动文件夹创建同名快捷方式。
4. 重启 OpenCode 或 OpenChamber。
使用
- 单击浮球
- 展开速度面板。
- 单击面板
- 任意位置收回浮球。
- 按住拖动
- 移动浮球,位置会记住。
- 右键菜单
- 展开、收起、隐藏 30 秒或退出监控。
没有进行中的会话时浮球自动隐藏;面板最多显示 4 个会话,顺序按首次出现固定。
工作原理
OpenCode 插件订阅 session.text.delta 和推理增量,按会话把 1.5 秒滚动速度写入本地 JSON。Python/Tkinter 悬浮窗读取这个文件并绘制浮球和面板。
兼容 OpenChamber:它和 OpenCode 共用 ~/.config/opencode/plugins;插件分别写入 state-opencode-* 和 state-openchamber-*,浮球合并显示两边的活动会话。
流式阶段的速度是估算值,显示为 ≈ tok/s;回合结束时用 provider 返回的 output/reasoning token 数校正,显示精确平均速度。插件不联网、不读 API Key,只写本地状态文件。
限制
- 当前安装包只面向 Windows;macOS / Linux 需要手动放置文件并自行配置启动方式。
- 流式速度是估算值,精确值在回合结束后才可用。
- 面板最多显示 4 个会话;更多会话只在浮球徽标里显示数量。
- OpenCode 桌面版与 CLI 均可使用;OpenChamber 作为兼容目标保留。
- 依赖 OpenCode v2 插件事件接口;OpenCode / OpenChamber 大版本更新后可能需要适配。
- 非官方工具,不隶属于 OpenCode 或 OpenChamber。
常见问题
浮球没有出现?
%LOCALAPPDATA%\OpenChamberTps\plugin.log。速度数字准确吗?
≈ tok/s。回合结束时使用 provider 返回的 token 数校正,显示精确平均速度。会影响 OpenCode / OpenChamber 吗?
pythonw 进程即可。怎么卸载?
uninstall.ps1,或手动删除启动文件夹中的 OpenCode TPS.lnk(旧版为 OpenChamber TPS.lnk)、%USERPROFILE%\.config\opencode\plugins\tps-live.js 和 %LOCALAPPDATA%\OpenChamberTps。