dsh-model-health:DSH 模型可用性與延遲測試插件

前言

DeepSeek Harness (DSH) 的插件化設計使得擴展功能變得容易。在管理多個模型配置時,確認哪些模型可用且響應速度如何是必要的。dsh-model-health 插件在設置頁面提供「模型健康」面板,列出已配置模型並提供批量測試功能。

核心功能

Web UI 面板

插件在設置頁注入「模型健康」面板,使用 React 渲染表格。表格顯示的信息包括 Provider、模型 ID、名稱、上下文窗口、最大輸出、輸入模態、API 協議以及 BaseURL。用戶可以切換顯示的列。

測試全部

面板提供「測試全部」功能,系統會對每個模型發起併發請求進行可用性測試。測試併發數上限爲 6,單次請求超時時間爲 10 秒。測試結果(狀態、延遲、錯誤)會持久化到瀏覽器的 localStorage 中,刷新頁面後依然可見。
- 狀態列顯示「可用」、「不可用」或「跳過」。對已出結果的徽章可點擊,支持對單個模型重新測試,結果即時更新。
- 可用性測試支持 openai-completions 與 deepseek 協議。如果模型配置使用的是其他協議,系統會自動標記爲「跳過」。

Tool 插件

插件提供 list_models 工具,可在對話中直接調用。調用後返回一個 Markdown 格式的模型清單表格,方便在對話流中查看當前已配置的模型。

安裝與依賴

安裝

推薦使用 npm 安裝:

dsh plugin --profile web add dsh-model-health

依賴鎖定

插件依賴 @deepseek-ai/dsh-tools,必須使用 0.1.0-rc.8 版本(exact — the next-tag line;npm latest 版本已過時)。安裝前請確保宿主環境中的依賴版本符合要求。

源碼安裝

如果需要從源碼安裝,需先克隆倉庫並在其父目錄執行:

git clone https://github.com/oxlyn/dsh-model-health.git
cd dsh-model-health
pnpm install
pnpm run build

# 在插件的父目錄執行:
cd ..
dsh plugin --profile web add ./dsh-model-health

實現細節

插件分爲 Host 側與 Client 側兩部分。Host 側(src/index.ts)負責讀取 $DSH_HOME/settings.yaml 配置文件,並通過 HTTP 路由 /api/model-health/json 和 /api/model-health/test 提供數據接口;Client 側(src/client.tsx)通過 settings.section slot 注入 UI 面板。

  • API Key 安全:API Key 通過 DSH credential service(ctx.credentials.resolve)解析,密鑰不會輸出到瀏覽器端。
  • 配置來源:支持讀取 llm-deepseek(官方)與 llm-pi-ai(多協議自定義提供商)兩類配置來源。
  • 導航圖標:由於宿主圖標表沒有「健康」類目,設置導航使用脈搏線(Activity)圖標。參考 dsh-better-sidebar 的方案,使用 JS 精準打 marker(rAF 合幀防抖),並用 CSS 將齒輪 SVG 原地替換,顏色隨主題變化。

典型用法

  1. 在「模型健康」面板點擊「測試全部」按鈕,系統將對每個模型發起併發請求進行可用性測試。
  2. 在對話中直接調用 Tool 插件 list_models,以獲取模型清單的 Markdown 表格。

總結

dsh-model-health 通過 Web UI 和 Tool 兩種方式,解決了在 DSH 中批量檢查模型可用性與延遲的問題。安裝後,配合正確的依賴版本,即可在設置頁直觀地管理模型狀態。

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

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

小夜