dsh-model-router:DSH 插件介紹

前言

DeepSeek Harness (DSH) 理念是“一切皆插件”。在模型推理場景中,通常需要同時維護多個模型(如低成本快速模型、高性能模型、備用模型)。當主模型出現故障時,手動切換或調整配置會打斷開發流程。dsh-model-router 將模型選擇轉化爲路由邏輯:你聲明一個虛擬模型 ID,該 ID 綁定一個候選模型池,插件通過算法選擇並調度,從而實現透明的故障轉移。

插件介紹

  • 插件名稱:dsh-model-router
  • 維護者:andrepontesmelo
  • 所屬分類:模型推理
  • 開源協議:MIT
  • 定位:DSH 插件,通過可插拔路由算法(如優先級、輪詢)將虛擬模型 ID 映射到真實提供者候選模型,並支持透明故障轉移。

核心功能

  1. 虛擬模型 ID 與路由算法:支持基於優先級和輪詢等算法,將虛擬模型 ID 背後映射到一組真實提供者候選模型。
  2. 透明故障轉移:當某個候選模型發生流式響應錯誤時,自動切換至下一個可用候選模型,無需應用層感知。
  3. 配置驅動路由:候選模型列表、排序順序、推理強度等參數全部通過配置文件管理,不涉及代碼邏輯修改。
  4. 響應來源追蹤:在響應元數據中記錄實際回答模型的信息,便於排查和審計。

安裝與啓用

該插件需要 Node.js 環境版本 22 或更高,且需先配置好 DSH profile。

安裝命令:

dsh plugin --profile <your-profile> add github:andrepontesmelo/dsh-model-router

配置示例(cordis.patch.yml):

- insert:
    - id: model-router
      name: 'dsh-model-router'
      config:
        routes:
          - id: routed-chat
            algorithm: priority
            candidates:
              - provider: deepseek-official
                model: deepseek-v4-flash
                reasoning: high

驗證與測試

插件內置了測試套件。在倉庫目錄下執行:

npm test      # 76 個單元測試
npm run smoke # 5 個內存故障轉移演練

注意事項

  1. 無會話粘性:同一對話的連續輪次可能會被路由到不同的候選模型。
  2. Reasoning Effing 限制:候選模型的 reasoning 參數僅在該模型支持對應 effort 時才生效,否則靜默使用提供者默認值。
  3. 配置信任:插件信任配置,列出的每個候選模型都是實際會被髮送請求的真實提供者。
  4. 依賴要求:運行環境需滿足 Node >= 22 且存在有效的 DSH profile。

總結

dsh-model-router 通過引入虛擬模型 ID 和路由算法,簡化了多模型場景下的故障處理和負載均衡配置。它將故障轉移邏輯下沉到插件層,使上層應用僅通過虛擬 ID 調用模型。更多細節可查閱插件目錄頁或 GitHub 倉庫。

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

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

小夜