dsh-nl-model-switch:在對話裏用一句話切換 DSH 會話模型

前言

在 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、幻方無官方從屬關係。

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

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

小夜