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 仓库。

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

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

小夜