前言¶
在 DeepSeek Harness(dsh)裏換模型,熟悉做法是打開內置 /model 彈窗,在幾十條候選裏點選。對話裏若想讓當前模型「幫我換成 glm」,它拿不到和彈窗同源的目錄,也無法走同一條寫入路徑。社區插件 dsh-model-switcher(維護者 skyrocks)把「查目錄 / 切模型」註冊成 Host 側可調用的 find_models 與 switch_model,數據來自 sessionController.modelCatalog(),切換走 selectModel(),與 /model 一致。本文介紹其定位、工具參數、安裝步驟與使用注意。
這是什麼¶
dsh-model-switcher 是 DSH 的 Host 插件(包名 @skyrocks/dsh-model-switcher,當前版本 0.2.1,MIT 許可)。分類屬於 模型推理:在對話中用自然語言或關鍵詞查當前會話可選模型,並在用戶明確選擇後切換;手動點選仍用 /model,插件不另做界面。
項目地址:GitHub - skyrocks/dsh-model-switcher
生態目錄:SkillHub 插件頁
核心功能¶
兩個工具¶
| 工具 | 參數 | 作用 |
|---|---|---|
find_models |
query?(自然語言或關鍵詞) |
查當前會話真正可選的模型;不帶 query 返回完整目錄;帶 query 按相關度排序,最多 25 條 |
switch_model |
model(必填)、provider?、reasoningEffort? |
從下一次模型請求起生效,並保存爲默認模型 |
find_models 返回值含 current(當前模型)、models(候選及推理檔位)、failures(某 provider 目錄讀取失敗時的說明,不影響其它 provider)。
與 /model 同源¶
候選來自 DSH 模型目錄(sessionController.modelCatalog()),切換使用同一 selectModel()。插件不硬編碼模型列表,不讀寫用戶文件,不執行 shell,不發送外部網絡請求。
多版本與歧義¶
說「glm」可能同時命中 glm-5.2、glm-5.3、glm-5.3-flash 等時,find_models 會列出全部候選並等待用戶選定;switch_model 遇歧義會報錯並列出候選,不會自動猜測。僅當查詢整串字面唯一匹配時纔會自動選中。同一 model id 出現在多個 provider 下時,須帶上 provider。
環境要求¶
| 項 | 要求 |
|---|---|
| DSH | >= 0.2.1-rc.3 < 0.3.0(桌面版與 dsh web 均可) |
| Node | >= 18 |
| 運行時依賴 | 無(純 ESM) |
0.2.0 及更早依賴已移除的 apiProxy,在 0.2.1-rc.3 上會報錯,需升級到 0.2.1 線。0.3.x 下 engines.dsh 會拒絕安裝。
安裝與啓用¶
插件以當前 DSH 進程的 Host 權限運行;安裝前可在 GitHub 查看源碼與 MIT 許可證。
桌面端(圖形界面,推薦)¶
- 打開 DSH 桌面端,進入 設置 → 插件。
- 點「添加插件」,在彈窗中粘貼:
github:skyrocks/dsh-model-switcher
- 確認安裝,等待依賴解析完成。
- 完全退出 DSH 再重新打開(macOS 用
Cmd+Q;Windows 從托盤退出)。只關窗口不夠,Host 插件僅在啓動時加載。 - 新開會話,說「列一下模型」驗證。插件列表中顯示
@skyrocks/dsh-model-switcher(插件行 id 爲model-switcher)。
命令行(可選)¶
# GitHub(推薦)
dsh plugin --profile desktop add github:skyrocks/dsh-model-switcher
# 本地目錄(開發)
dsh plugin --profile desktop add /absolute/path/to/dsh-model-switcher
desktop 爲桌面版 profile;若使用 dsh web,將 --profile desktop 換爲 --profile web。安裝完成後同樣需要完全退出並重啓 DSH。
典型用法¶
在對話中直接說明意圖,由當前模型決定是否調用工具,例如:
有哪些模型?
列一下 glm 系列
換到 claude haiku
用最便宜的那個
切到 deepseek 推理
也可使用精確 id(如「換成 glm-5.3」)。支持中英文混說及常見同義詞(如 flash/turbo、pro/max、智譜 → glm 等)。切錯可用內置 /model 改回。切換對當前這一輪迴復可能仍用舊模型,從下一條消息起生效;行爲與 /model 一致,會一併更新默認模型。
適用場景與注意¶
適合:經常在長對話中按口語換模型、希望模型先列候選再切換、不想記精確 model id 的 DSH 用戶。
注意:
- 無獨立 UI,手動點選繼續用
/model。 - 每次調用
find_models讀取實時目錄(排序爲啓發式,生僻暱稱可能需報精確 id)。 find_models中出現failures時,常見原因爲該 provider 缺 Key,可在「設置 → 模型」補憑據。- 工具列表中沒有
find_models時,檢查是否已完全重啓、是否裝到當前 profile(desktop/web)。 - 非官方插件,與 DeepSeek 無隸屬關係;SkillHub 等爲社區目錄,非官方應用商店。
結尾¶
dsh-model-switcher 把 DSH 已有的模型目錄與切換路徑暴露給對話裏的 function call:查用 find_models,切用 switch_model,多候選時由用戶拍板,避免誤切。進一步瞭解見 SkillHub 目錄頁 與 GitHub 倉庫。