前言¶
DeepSeek Harness (DSH) 的核心理念是“一切皆插件”。在多模型並存的開發環境中,手動爲每一條對話選擇合適的模型(例如代碼編寫用 DeepSeek,日常問答用 GLM)效率較低。dsh-smart-scenario-router 插件解決了這一問題,它通過分析用戶消息內容,自動將請求路由到最合適的模型,並在請求失敗時自動嘗試下一個模型,從而降低運維成本。
是什麼¶
這是一個由 xobexo 維護的模型推理插件,爲 DeepSeek Harness 提供基於對話場景的模型路由能力。它不會保存 API Key,Provider 的認證信息仍由 dsh 自行管理。
核心功能¶
- 場景識別:根據消息內容自動識別場景,包括項目拆解、插件查找、代碼審查、代碼變更對比、代碼編寫調試、複雜推理、日常對話、極速高併發、多模態處理及長文本分析等。
- 模型優先級:默認優先使用國產模型(DeepSeek、GLM、Qwen),配置的 GPT 模型作爲兜底。
- 自動回退:當請求失敗時,自動嘗試當前場景候選鏈中的下一個模型。
- 可視化配置:在 dsh Web 設置頁顯示模型池、場景映射和當前路由狀態,支持持久化保存配置。
安裝與啓用¶
安裝前請確保滿足以下環境要求:
- DeepSeek Harness 版本 >= 0.1.1-rc.1
- 已安裝 Node.js 和 pnpm
- 在 dsh 中已配置至少一個可用的模型 Provider
執行以下命令安裝:
npx -y @deepseek-ai/dsh plugin --profile web add github:xobexo/dsh-smart-scenario-router
安裝完成後,重啓 Web profile 以使插件生效:
npx -y @deepseek-ai/dsh web
配置¶
安裝後,打開 dsh Web 界面的設置頁,找到“智能場景路由”模塊。這裏可以進行以下操作:
- 管理模型池:啓用或停用模型池中的模型。所有模型均通過下拉框從 dsh「設置 → 模型」中選擇,無需手動輸入名稱。
- 編輯候選鏈:爲每個場景配置候選模型順序。順序即回退順序,插件會依次嘗試直到成功。
- 查看狀態:查看當前的路由狀態和模型映射關係。
插件首次使用時會自動寫入默認規則。如果 dsh「設置 → 模型」中不存在默認模型,插件會嘗試替換爲同系列(deepseek / glm / qwen / gpt)的真實配置模型。如果模型未註冊或 Provider 不可用,路由時會自動跳過該模型並嘗試下一個。
工作方式¶
插件的工作流程如下:
- 讀取當前會話中的用戶消息。
- 如果消息包含圖片或明確涉及圖片內容,路由至
multimodal場景。 - 如果文本較長,路由至
long_context場景。 - 按高優先級意圖匹配:涉及工具推薦進入
plugin_discovery,Git diff 進入code_diff,代碼質量分析進入code_review,架構規劃進入project_planning,開發實現請求進入coding。 - 剩餘消息根據雙語關鍵詞表匹配場景。置信度低於閾值時,調用裁判模型(默認 Flash)再次判斷。
- 檢查候選模型是否可用,選擇第一個可用模型發送請求。
- 如果請求失敗,繼續嘗試候選鏈中的下一個模型。
- 如果用戶手動選擇了非默認模型,插件會保留該選擇,不強制覆蓋。
升級與故障排查¶
升級注意:0.3.0 起引入了規則表版本(schemaVersion)。舊版升級後,持久化的默認規則會被自動替換爲新的默認映射;手動定製過的候選鏈和模型池會保留。
502 上游錯誤排查:如果直接選擇模型可調用,但啓用插件後出現 502 upstream service unavailable,請打開“智能場景路由”設置,確認該模型在 dsh「設置 → 模型」中的 Provider 與實際可用的 Provider 完全一致。插件會校驗 provider/model 組合後再注入請求。修改配置後需重啓 Web profile。
總結¶
該插件通過自動化場景識別和模型回退機制,幫助開發者減少手動切換模型的操作。配置簡單,且完全兼容 DSH 的現有認證體系。更多細節可參考GitHub 倉庫。