dsh-multi-model-orchestrator:将主模型变成多模型调度器

前言

DeepSeek Harness (DSH) 的核心理念是“一切皆插件”。在开发多智能体系统或处理复杂任务时,单一模型(通常是 DeepSeek R1)可能无法高效处理所有子任务。引入第三方模型(如 GLM、Kimi、Qwen)可以分担压力,但手动管理调用链路成本较高。

dsh-multi-model-orchestrator 插件解决了这个问题。它将主模型转化为一个“主脑”,负责将复杂任务拆解,并根据各子模型的特性(如推理能力、速度、成本)将子任务分发到最适合的模型上执行。

插件简介

这是一个 DeepSeek Harness (dsh) 插件,由用户 Bazley13 维护,采用 MIT 许可证。它的核心作用是将主 AI 模型升级为一个多模型编排中心,通过系统提示注入和工具调用,实现模型感知的任务分发和按模型统计 Token 使用量。

安装

安装该插件需要将其添加到指定的 DSH 配置文件中。通常使用 web 配置文件。

dsh plugin --profile web add dsh-multi-model-orchestrator

安装完成后,重启 Harness 或重新加载配置文件。插件通过 cordis.patch.yml 加载为配置文件层。

核心功能

该插件主要提供以下能力:

  1. 多模型编排指导:插件向主模型注入系统提示,指导其如何拆解任务。它会提示主模型使用 subagent 工具,并明确指定 provider 和 model 参数。
  2. 模型感知调度:你可以为每个路由定义 strengths(优势)和 weaknesses(劣势)。主模型会阅读这些备注,根据任务难度选择合适的模型(例如用强推理模型处理复杂逻辑,用快/廉价的模型处理高吞吐量工作)。
  3. 按模型 Token 统计:提供一个 model_token_usage 工具,用于报告每个 provider/model 组合在当前进程内的输入、输出、缓存读写 Token 及请求数量。

配置与使用

要启用这些功能,需要在 $DSH_HOME/settings.yaml(默认路径为 ~/.dsh/settings.yaml)中进行配置。

1. 添加第三方模型路由

首先,你需要配置第三方模型的路由。GLM、Kimi、Qwen 等预设格式可以直接参考示例文件。每个路由只需配置 apiKeyEnv。

llm-pi-ai.providers:
  - api: openai-completions
    baseURL: https://open.bigmodel.cn/api/paas/v4
    apiKeyEnv: GLM_API_KEY
    models: ["glm-4.6"]

2. 启用子代理模型选择

允许主模型在调度子任务时选择模型。需要设置 enabled: true 并在 allowedModels 中列出允许的模型。

subagent-model-selection:
  enabled: true
  allowedModels:
    - { provider: glm, model: glm-4.6 }
    # 可以添加更多路由,如 kimi, qwen 等

3. 添加模型备注

为主模型提供模型能力的上下文,帮助其做出调度决策。

multi-model-orchestrator:
  modelNotes:
    glm/glm-4.6:
      description: Zhipu flagship, strong reasoning.
      strengths: complex reasoning, coding, agentic tool use
      weaknesses: slower and pricier

4. 执行任务

重启 Harness 后,直接在主对话中提出复杂任务,例如:“把这个任务拆分成并行子任务,并分发到最合适的模型上。”

主模型会自动记录子任务、调用 list_subagent_models 查看可用路由、并通过 subagent 工具分发任务。

注意事项

使用该插件时,有几个关键细节需要注意:

  1. Token 统计机制:model_token_usage 返回的数据是按进程累积的,每次 Harness 重启都会清空。如果查询结果为空,请确保至少有一次模型调用返回了 usage 数据块。
  2. 编排提示的全局性:编排指导是注入到全局的,因此子代理也会读取这些提示。提示的措辞旨在防止子代理陷入递归拆解其单一任务的循环。
  3. 路由类型:第三方路由默认被注册为非推理模型。如果需要使用推理模型(如 GLM-5.3),可能需要在 Web 界面的“Models”页面为特定路由添加 reasoningEfforts 或 compat.thinkingFormat。
  4. 推理模型兼容性:某些推理模型(例如 GLM-5.3 系列)在未明确指定 reasoning_effort 参数时会拒绝调用。如果分发失败,请尝试在配置中显式指定推理等级(如 low)。
  5. 凭证检查:如果路由配置了 API Key 但环境变量或凭证文件中未提供,请求会在运行时报 MISSING_CREDENTIAL 错误。
  6. 模块加载错误:如果遇到 ERR_MODULE_NOT_FOUND: Cannot find package '@deepseek-ai/...',通常是因为手动链接了插件(raw link: + 手工创建 node_modules)而非通过 dsh plugin 安装。请通过标准命令安装。

总结

dsh-multi-model-orchestrator 为 DSH 用户提供了一个标准化的方式来利用多个模型。通过配置 settings.yaml,你可以将主模型转化为一个智能调度中心,实现任务的自动拆解和按需分发,同时监控各模型的 Token 消耗。

更多详情与源码,请访问 GitHub。

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

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

小夜