dsh-smart-scenario-router:DeepSeek Harness 場景化模型路由插件

前言

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 界面的設置頁,找到“智能場景路由”模塊。這裏可以進行以下操作:

  1. 管理模型池:啓用或停用模型池中的模型。所有模型均通過下拉框從 dsh「設置 → 模型」中選擇,無需手動輸入名稱。
  2. 編輯候選鏈:爲每個場景配置候選模型順序。順序即回退順序,插件會依次嘗試直到成功。
  3. 查看狀態:查看當前的路由狀態和模型映射關係。

插件首次使用時會自動寫入默認規則。如果 dsh「設置 → 模型」中不存在默認模型,插件會嘗試替換爲同系列(deepseek / glm / qwen / gpt)的真實配置模型。如果模型未註冊或 Provider 不可用,路由時會自動跳過該模型並嘗試下一個。

工作方式

插件的工作流程如下:

  1. 讀取當前會話中的用戶消息。
  2. 如果消息包含圖片或明確涉及圖片內容,路由至 multimodal 場景。
  3. 如果文本較長,路由至 long_context 場景。
  4. 按高優先級意圖匹配:涉及工具推薦進入 plugin_discovery,Git diff 進入 code_diff,代碼質量分析進入 code_review,架構規劃進入 project_planning,開發實現請求進入 coding。
  5. 剩餘消息根據雙語關鍵詞表匹配場景。置信度低於閾值時,調用裁判模型(默認 Flash)再次判斷。
  6. 檢查候選模型是否可用,選擇第一個可用模型發送請求。
  7. 如果請求失敗,繼續嘗試候選鏈中的下一個模型。
  8. 如果用戶手動選擇了非默認模型,插件會保留該選擇,不強制覆蓋。

升級與故障排查

升級注意:0.3.0 起引入了規則表版本(schemaVersion)。舊版升級後,持久化的默認規則會被自動替換爲新的默認映射;手動定製過的候選鏈和模型池會保留。

502 上游錯誤排查:如果直接選擇模型可調用,但啓用插件後出現 502 upstream service unavailable,請打開“智能場景路由”設置,確認該模型在 dsh「設置 → 模型」中的 Provider 與實際可用的 Provider 完全一致。插件會校驗 provider/model 組合後再注入請求。修改配置後需重啓 Web profile。

總結

該插件通過自動化場景識別和模型回退機制,幫助開發者減少手動切換模型的操作。配置簡單,且完全兼容 DSH 的現有認證體系。更多細節可參考GitHub 倉庫。

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

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

小夜