前言¶
在 DSH 裏切換模型,原生做法是輸入 /model,在彈窗裏點選。這個流程在桌面上沒什麼問題,但有兩類場景會打斷節奏:一是你通過 IM 機器人用手機和模型對話,手邊沒有面板可點;二是你和模型討論到一半,想把剩下的任務交給另一個模型,卻不想離開對話界面。
dsh-nl-model-switch 針對的就是這個缺口:在對話裏直接說一句「切到 deepseek-v4-flash」,當前會話的模型就完成切換,上下文保留,新模型接着處理你剛纔的請求。
這是什麼¶
dsh-nl-model-switch 是一個 DSH 宿主插件,作者爲 passingby000,採用 MIT 許可證,當前版本 0.1.1。它做的事情用一句話概括:用自然語言切換當前 DSH 會話的模型,不用離開對話界面,也不用記命令。
DSH 的理念是「一切皆插件」。這個插件屬於純宿主插件、零客戶端 UI 依賴——它不修改任何客戶端界面,切換髮生在會話層。因此不管你用 Web 面板、TUI,還是通過 IM 橋接的微信、飛書聊天界面,都能在對話裏直接切模型。
核心功能¶
- 自然語言一句話切換當前會話模型,例如「切到 deepseek-v4-flash」
- 跨界面生效:Web 面板、TUI、IM 機器人(微信、飛書等)均可使用
- 切換在同一會話內完成,上下文與對話歷史完整保留
- 切換後新模型確認切換,並無縫接續處理原請求
- 與原生
/model互補,底層走同一個會話級模型選擇接口sessions.selectModel,兩者共存 - 純宿主插件、零客戶端 UI 依賴,不修改客戶端界面
工作原理¶
插件的工作分三步:
1、向模型註冊一個 switch_model(provider, model) 工具,執行體調用與原生 /model 相同的公開接口 ctx.apiProxy.sessions.selectModel,設置會話級模型選擇,在下次 prompt 組裝時生效。
2、通過 system prompt 引導模型:當用戶用自然語言要求換模型時調用 switch_model,切換後明確確認並繼續用戶的請求。
3、tools/result 處理器在 switch_model 成功後結束舊模型的當前回合,以新模型開啓一個新回合來發送確認、接續處理原請求。從外部看,仍是一次普通的一問一答。
因爲切換髮生在會話層而非界面層,它天然適用於 Web、TUI 以及 IM 橋接的各類聊天界面。
安裝與啓用¶
dsh plugin add dsh-nl-model-switch
安裝後重啓 dsh web,讓新 bundle 加載,插件纔會生效。
運行環境要求 Node >= 18(來自 package.json 的 engines 字段)。
使用前有兩個前提:
1、目標模型已在 DSH 的 settings.yaml 中註冊,即寫在對應 provider 的 providers.*.models 列表裏。
2、模型需要能識別並調用 switch_model 工具,主流模型均支持。
典型用法¶
在任意界面的對話裏,直接用自然語言說:
切換到 deepseek-v4-flash 模型
切到 deepseek-v4-pro
換到 glm-5.3,幫我翻譯這段文字
用 deepseek-v4-flash 模型重新回答
switch to deepseek-v4-flash model
模型識別到換模型的意圖後,會調用 switch_model 工具完成切換;新模型確認後繼續處理你剛纔的請求。比如「換到 glm-5.3,幫我翻譯這段文字」,翻譯任務會由切換後的模型接續完成。
適用場景與注意¶
適合兩類使用者:
- 主要通過 IM 機器人(微信、飛書等)與 DSH 對話、不方便操作面板的人,一句話就能切模型並繼續任務。
- 在長會話中需要中途換模型的人,切換不丟上下文。
安裝與使用前注意:
- 插件以當前 dsh 進程的權限運行,安裝前建議先閱讀源碼確認其行爲,再決定是否引入。
- 許可證爲 MIT,README 與 package.json 中均有標註。
- 原生
/model仍然可用,兩者共存,不衝突。
故障排查¶
- 說了切換指令但模型沒有真的切換:可能是當前模型只口頭回答「已切換」,沒有實際調用
switch_model工具。可換一個對工具調用支持更好的模型重試。 - 提示模型未註冊:確認目標模型 id 已寫在
settings.yaml的對應 provider 下。 - 安裝後不生效:重啓
dsh web讓新 bundle 加載。
小結¶
dsh-nl-model-switch 的價值在於把「切模型」從界面操作變成對話的一部分:一句話、同一會話、不丟上下文,並且與原生 /model 共存。如果你經常在 IM 裏用 DSH,或者需要在不中斷當前任務的情況下換模型,可以裝上試試。
- 插件目錄頁:https://www.skillhub.cn/plugins/passingby000/dsh-nl-model-switch
- GitHub 倉庫:https://github.com/passingby000/dsh-nl-model-switch
其中目錄頁爲社區獨立維護的站點,與 DeepSeek、幻方無官方從屬關係。