DSH 的擴展機制允許用戶通過插件管理模型供應商。當需要臨時禁用某個供應商或快速篩選模型時,直接修改配置文件不夠直觀。zuojinxin/dsh-provider-switch 是一個靜態插件,在官方模型選擇器的基礎上增加了供應商啓停開關、模型搜索和供應商重命名功能。
核心功能¶
供應商啓用/禁用¶
進入「設置 → 模型」頁面,每個供應商行前會出現一個開關。開啓狀態下,該供應商下的模型正常可用;關閉後,模型會從選擇器中隱藏,且會話調用時會直接報 PROVIDER_DISABLED 錯誤,不再重試。
模型搜索¶
在輸入框的模型選擇器頂部新增了一個搜索框。支持按模型名稱、描述或供應商名稱的關鍵字進行過濾。
供應商重命名¶
在「設置 → 模型」頁面展開供應商編輯卡片後,點擊卡片標題即可進行內聯修改,改變其在界面上的顯示名稱。
安裝與啓用¶
安裝前請確保環境滿足以下條件:
* dsh web 版本 ≥ 0.1.7-rc.1
* Node.js ≥ 20
執行以下命令安裝插件:
dsh plugin --profile web add github:zuojinxin/dsh-provider-switch
安裝完成後,重啓 dsh web 服務即可生效。
驗證安裝¶
- 檢查啓動日誌,確認出現以下字樣:
[provider-switch] settings namespace ready - 進入「設置 → 模型」頁面,檢查每個供應商行前是否出現開關。
- 在輸入框點擊模型選擇器,檢查頂部是否有搜索框。
注意事項與限制¶
- 依賴注入風險:設置頁的開關和重命名功能基於 DOM 注入實現。如果 DSH 官方升級導致類名變更,這些 UI 功能可能會失效(插件會進行優雅降級,不影響攔截邏輯)。
- 設置頁顯示:禁用供應商時,設置頁裏的供應商行依然可見,但對應的模型會被隱藏。
- 攔截範圍:插件僅攔截
llm/streamwaterfall 流程。繞過該流程的直連調用不在攔截範圍內。 - 源碼審查:該插件爲 MIT 許可證開源項目。作爲靜態插件,它以當前
dsh web進程的權限運行,安裝前建議查閱源碼以確認安全性。