实时 TPS:给 DSH Desktop 会话加一个输出速度徽标

前言

在 DSH Desktop 里跑本地模型或云端 API 时,想知道当前生成速度,通常要切到别处看用量面板,或等一整轮结束再算平均。这个插件把实时 tok/s 显示在输入框下方:生成中持续刷新,一轮结束后给出本轮平均,点开还能看速度折线与本轮统计。

这是什么

「实时 TPS」(包名 @local/dsh-live-tps,仓库 1207627875/dsh-live-tps)由 1207627875 维护,是一款 DSH Desktop 客户端插件,挂载在会话输入框的 dock 位置。它读取会话流事件,本地模型和云端 API 走同一套流,不需要区分 provider。目录归类为「客户端」,当前 0 星。

核心功能

徽标按状态显示四种文字:

状态 显示
生成中 实时 71.6 tok/s,每 200ms 刷新,取最近 3 秒滚动窗口
等待首 token 等待首 token 0.4s
一轮结束 本轮平均 70.8 tok/s
空闲 TPS,没有数据时显示上一次的平均值

点开徽标展开浮动面板,包含:

  • 实时 / 平均速度大数字
  • 最近一段时间的速度折线
  • 输出 tokens、首 token 延迟、本轮用时(有模型名时也会显示)
  • 收起 回到一行小徽标;收成图标 只剩 22px 的仪表图标,再点图标重新展开

展开模式保存在浏览器 localStorage 的 dsh.live-tps.mode,刷新后不丢。

安装与启用

插件只通过 GitHub 分发,不需要 npm。安装后必须完全退出并重新打开 DSH Desktop:client bundle 只在启动时加载,只刷新页面不生效。从 GitHub 地址安装时 pnpm 会调用本机 git;目标机器没有 git 时,下载 Release 里的 zip,解压后按方式三用本地目录安装。

方式一:桌面端添加(推荐)

  1. 打开 DSH Desktop → 左侧「插件」→「+ 添加插件」
  2. 在输入框填仓库地址:
https://github.com/1207627875/dsh-live-tps
  1. 点「安装」,等待出现「已安装」
  2. 在「已安装插件」里确认「实时 TPS」的开关是打开状态
  3. 完全退出并重新打开 DSH Desktop(关闭窗口再打开,不是刷新页面)
  4. 打开任意会话,输入框下方应出现 TPS 徽标

方式二:把提示词发给 DSH Agent

README 提供一段可直接复制的安装提示词,让目标机器上的 DSH Agent 优先用 plugin_manager 的 install_bundle(target 填上面的 GitHub 地址)安装,并检查 desktop profile 的 package.json,确认 dsh.profile.bundles 包含 @local/dsh-live-tps。原文见 PROMPT.zh.md。

方式三:本地目录 / 源码

有 CLI 的部署可以直接装进 profile:

dsh plugin --profile desktop add "D:\path\to\dsh-live-tps"

Desktop profile 由 Electron 管理,优先用方式一。

典型用法

安装并重启后,按下面顺序验证:

  1. 打开任意会话,确认输入框下方出现 TPS 徽标
  2. 发一条短消息,生成中显示「实时 xx tok/s」
  3. 生成结束后显示「本轮平均 xx tok/s」
  4. 点开徽标,核对折线、首 token、输出 tokens、本轮用时
  5. 试一下「收起」和「收成图标」

数据来源与准确性

插件订阅 ctx.sessions.binding(sessionId).eventSource:

  • assistant/live-chunk 的 text-delta / reasoning-delta / tool-call-delta 用于实时估算
  • assistant/message / usage 分片提供最终 outputTokens
  • turn/start / turn/end 负责重置与收尾

实时值按流式分片估算,结束后以模型返回的 usage 为准,两者可能相差几个 token。

兼容性

  • 实测环境:DSH Desktop 0.2.1-rc.5(Windows)
  • 无第三方运行时依赖,React / ReactDOM 由 DSH 提供
  • 依赖的 client API 为 dsh.client.inject 中的 @deepseek-ai/dsh-client-ui-conversation、@deepseek-ai/dsh-api-session-controller,挂载点为 conversation.composer.dock

目录结构

文件 作用
client.js 全部能力:dock 注册、事件订阅、TPS 计算、面板 UI
cordis.patch.yml 插入 live-tps 行
index.js Host 侧空插件(bundle 需要一行 Host 条目)
locale/zh.json / en.json 插件页标题、描述和 UI 文案
icon.svg 插件图标
docs/*.png 暗色 / 亮色效果图
INSTALL.zh.md 安装说明与排错
PROMPT.zh.md 可直接复制的安装提示词

适用场景与注意

适合想在会话里直接看输出速度的 DSH 开发者:跑本地模型或调云端 API 时关注 tok/s 和首 token 延迟。

注意几点:

  • 插件以当前 DSH 进程的权限运行,安装前应先查看源码(client.js 是全部能力所在)和许可证(MIT)
  • 安装后需完全重启 DSH Desktop,仅刷新页面不会加载 client bundle
  • 实时值只是流式估算,与最终 usage 可能有少量偏差
  • 插件由个人维护,当前 0 星、版本 0.1.0、private 包,适配范围以上述实测环境为准

卸载

  1. 插件页「已安装插件 → 实时 TPS」关闭开关
  2. 从 desktop profile 的 package.json 中移除 dsh.profile.bundles 里的 @local/dsh-live-tps(依赖可留可删)
  3. 重启 DSH

小结

实时 TPS 把速度显示做进输入框下方,不需要另开面板或等一轮结束。目录页在 https://www.skillhub.cn/plugins/1207627875/dsh-live-tps,源码在 https://github.com/1207627875/dsh-live-tps。

羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

小夜