dsh-client-ui-model-switcher:DeepSeek Harness 一鍵服務商與模型切換插件

在 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 程序,會話標題欄纔會出現滑塊按鈕。

典型用法

  1. 在會話標題欄找到滑塊按鈕並點擊,彈出模型選擇面板。
  2. 先點擊頂部的服務商 Chips,下方聯動顯示該服務商的模型列表。
  3. 點擊目標模型,完成切換。

注意:子代理會話禁用此功能。

技術實現與注意事項

  • 運行環境:純瀏覽器側實現,依賴 react / react/jsx-runtime,零構建過程。
  • 狀態同步:通過訂閱 modelDirectories 狀態(使用 react.useSyncExternalStore),與 DSH 內部模型目錄保持一致。
  • 槽位位置:插入到會話標題欄的 conversation.session.header.actions 槽位(order=25)。
  • 依賴:服務商目錄來源於設置中的適配器配置。

若需查看更多信息,可訪問插件目錄頁或 GitHub 倉庫。

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

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

小夜