前言¶
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 原地替換,顏色隨主題變化。
典型用法¶
- 在「模型健康」面板點擊「測試全部」按鈕,系統將對每個模型發起併發請求進行可用性測試。
- 在對話中直接調用 Tool 插件
list_models,以獲取模型清單的 Markdown 表格。
總結¶
dsh-model-health 通過 Web UI 和 Tool 兩種方式,解決了在 DSH 中批量檢查模型可用性與延遲的問題。安裝後,配合正確的依賴版本,即可在設置頁直觀地管理模型狀態。