OpenCode TPS v1.2.0
OpenCode · Windows · 兼容 OpenChamber

OpenCode TPS

在 OpenCode(桌面版 / CLI)生成回复时实时显示 token 速度,兼容 OpenChamber。默认是一个小浮球;有多个会话时点开看每个会话的 tok/s。

Python 3.10+ · 本地运行 · 不联网 · 不读 API Key · 非官方工具

重构登录流程
输出中
142≈ tok/s
补全接口测试
思考中
166≈ tok/s
升级依赖版本
工具中 2.3s
—
点浮球展开 · 点面板收起

下载

opencode-tps.zip v1.2.0 · 15 KB · Windows · 源码随包
下载

SHA-256 DE2557A4BCF05B76A0A28825A7EC910D74003C6C2460FA9EA1EE8BA285E2D399

v1.2.0:以 OpenCode 为主入口,兼容 OpenChamber;两边的活动会话合并显示。

plugin/tps-live.jsOpenCode 插件(OpenChamber 共用)
app/overlay.pyTkinter 浮球与面板
app/watcher.py随 OpenCode / OpenChamber 启停
app/common.py路径与进程检测
install.ps1安装、启动项、启动守护进程
uninstall.ps1卸载
README.md安装、使用、卸载、隐私

安装

Windows 10/11,Python 3.10+(含 Tkinter)。安装脚本不需要管理员权限;会复制文件、创建启动项、启动守护进程。

解压后运行:

PowerShell
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,只写本地状态文件。

限制

常见问题

浮球没有出现?
确认当前有会话正在思考、输出或执行工具;空闲时会自动隐藏。如果生成中仍然没有,重启一次 OpenCode 或 OpenChamber,并查看 %LOCALAPPDATA%\OpenChamberTps\plugin.log。
速度数字准确吗?
流式阶段是基于增量文本的近似值,所以显示 ≈ tok/s。回合结束时使用 provider 返回的 token 数校正,显示精确平均速度。
会影响 OpenCode / OpenChamber 吗?
不会。插件只订阅生成事件并写本地状态,不修改 OpenCode 或 OpenChamber 的界面或配置。卸载时删除插件文件并结束 pythonw 进程即可。
怎么卸载?
运行包里的 uninstall.ps1,或手动删除启动文件夹中的 OpenCode TPS.lnk(旧版为 OpenChamber TPS.lnk)、%USERPROFILE%\.config\opencode\plugins\tps-live.js 和 %LOCALAPPDATA%\OpenChamberTps。