在 DeepSeek Harness (DSH) Web GUI 中,切換會話的模型或服務商通常需要進入設置頁面。對於需要頻繁切換模型的開發者或調試場景,這種方式效率較低。下面介紹一個客戶端插件,它通過在會話標題欄增加滑塊按鈕,將模型切換邏輯下沉到客戶端,實現一鍵切換。
核心功能¶
該插件主要解決會話級別的模型切換問題,核心能力如下:
- 兩級聯動選擇:替換原生模型選擇器,採用兩級設計。頂部顯示服務商 Chips(服務商標籤),點擊後下方聯動顯示該服務商的可用模型列表,點擊模型即可完成切換。
- 配置過濾:面板通過檢查
llm.providers、settings.describe和credentials.describe,僅顯示已配置好 API Key 的服務商。補全 Key 後,服務商會自動出現在列表中。 - 狀態顯示:當前選中的服務商和模型會以藍色高亮並標記“✓”。
- 實時同步:模型目錄與
/model命令及 Composer 席位共享同一份狀態,任意入口切換都會實時刷新目錄。 - 異常提示:針對服務商不可用、目錄加載失敗等情況提供異常提示。
- 會話限制:子代理會話不支持模型切換,插件會自動禁用並提示。
安裝與啓用¶
推薦使用 DSH 自帶的 CLI 安裝,它會自動處理依賴和配置寫入。
dsh plugin --profile web add github:2275803244-cpu/dsh-model-switcher
安裝完成後,需要重啓 DSH 程序,會話標題欄纔會出現滑塊按鈕。
典型用法¶
- 在會話標題欄找到滑塊按鈕並點擊,彈出模型選擇面板。
- 先點擊頂部的服務商 Chips,下方聯動顯示該服務商的模型列表。
- 點擊目標模型,完成切換。
注意:子代理會話禁用此功能。
技術實現與注意事項¶
- 運行環境:純瀏覽器側實現,依賴
react/react/jsx-runtime,零構建過程。 - 狀態同步:通過訂閱
modelDirectories狀態(使用react.useSyncExternalStore),與 DSH 內部模型目錄保持一致。 - 槽位位置:插入到會話標題欄的
conversation.session.header.actions槽位(order=25)。 - 依賴:服務商目錄來源於設置中的適配器配置。
若需查看更多信息,可訪問插件目錄頁或 GitHub 倉庫。