實時 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。

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

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

小夜