前言¶
DeepSeek Harness (DSH) 採用插件化架構,允許開發者擴展功能。在模型推理調試或性能監控場景中,直觀地查看實時輸出速度(tok/s)以及分步的詳細指標(如 TTFT、累計 tokens)有助於定位性能瓶頸。dsh-token-speed 是一款運行在 DSH Web 客戶端的插件,它通過一個可拖拽的環形錶盤將速度數據可視化。
核心功能¶
這款插件固定在 Web GUI 右下角,提供以下能力:
- 實時速度顯示:生成期間,錶盤指針與中央數字隨流式輸出實時爬升。速度基於輸出文本量 × 實測字符/token 比率估算。
- 每步精確校準:每步結束後,利用 provider 上報的
usage.outputTokens和timing(firstToken → completed)計算真實 tok/s,並據此反向校準字符/token 比率。 - 詳情面板:點擊錶盤展開,可查看實時速度、上一步的精確數據、輸出 tokens、TTFT 以及當前窗口內的累計輸出。
- 狀態指示:通過顏色或狀態標記生成中、工具執行中或空閒狀態。
- 可拖拽與記憶:支持按住拖動調整位置,位置記憶在
localStorage中。 - 純瀏覽器端:不修改宿主狀態,僅作爲只讀訂閱者讀取會話數據。
安裝與啓用¶
插件通過本地鏈接方式安裝進 DSH profile。以 desktop profile 爲例,操作步驟如下:
- 在本地倉庫中創建或克隆
dsh-token-speed,並在 DSH profile 的package.json中添加依賴:
// ~/.dsh/profiles/desktop/package.json
{
"dependencies": {
"dsh-token-speed": "link:/Users/<you>/Documents/DSH/dsh-token-speed"
}
}
- 進入 profile 目錄並安裝依賴:
cd ~/.dsh/profiles/desktop
pnpm install
- 生效規則:
cordis.patch.yml裏的insert行由 profile 的 HMR watcher 熱加載,修改後通常無需重啓。- 若修改
lib/client.js源碼,需整頁刷新(Cmd+R)才能生效。
典型用法¶
安裝完成後,插件會自動掛載到界面右下角。在模型生成過程中,觀察錶盤指針和數字的變化;點擊錶盤可查看上一步的具體速度和 tokens 統計;按住錶盤可將其拖動到屏幕任意位置。
架構與注意事項¶
該插件的數據來源和作用域限制是關鍵實現細節:
- 數據源:插件不使用
session作用域的useChat或useProjection,也不能在root作用域讀取 session snapshot(該作用域僅包含.subagent/.queue/.value)。正確的入口是使用ctx.uiConversation.binding(sessionId).target('chat')獲取數據。legacy.partial:用於實時速度來源,包含進行中的{turn, step, blocks}。legacy.nodes:用於精確 tok/s 來源,包含已結算節點的usage.outputTokens和timing。legacy.runningCalls:非空即代表工具執行中。
- 依賴服務:依賴
slots(槽位註冊)和uiConversation(會話聊天數據)。 - 生態背景:此插件隸屬於 DSH 生態,由社區維護,目錄頁與 GitHub 鏈接見文末。
結尾¶
dsh-token-speed 通過環形錶盤和詳情面板,爲 DSH 用戶提供了輕量級的推理速度監控方案。它利用瀏覽器端能力,在不侵入宿主邏輯的前提下,提供了精確到每一步的性能數據。