前言¶
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 加载为配置文件层。
核心功能¶
该插件主要提供以下能力:
- 多模型编排指导:插件向主模型注入系统提示,指导其如何拆解任务。它会提示主模型使用
subagent工具,并明确指定provider和model参数。 - 模型感知调度:你可以为每个路由定义 strengths(优势)和 weaknesses(劣势)。主模型会阅读这些备注,根据任务难度选择合适的模型(例如用强推理模型处理复杂逻辑,用快/廉价的模型处理高吞吐量工作)。
- 按模型 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 工具分发任务。
注意事项¶
使用该插件时,有几个关键细节需要注意:
- Token 统计机制:
model_token_usage返回的数据是按进程累积的,每次 Harness 重启都会清空。如果查询结果为空,请确保至少有一次模型调用返回了usage数据块。 - 编排提示的全局性:编排指导是注入到全局的,因此子代理也会读取这些提示。提示的措辞旨在防止子代理陷入递归拆解其单一任务的循环。
- 路由类型:第三方路由默认被注册为非推理模型。如果需要使用推理模型(如 GLM-5.3),可能需要在 Web 界面的“Models”页面为特定路由添加
reasoningEfforts或compat.thinkingFormat。 - 推理模型兼容性:某些推理模型(例如 GLM-5.3 系列)在未明确指定
reasoning_effort参数时会拒绝调用。如果分发失败,请尝试在配置中显式指定推理等级(如low)。 - 凭证检查:如果路由配置了 API Key 但环境变量或凭证文件中未提供,请求会在运行时报
MISSING_CREDENTIAL错误。 - 模块加载错误:如果遇到
ERR_MODULE_NOT_FOUND: Cannot find package '@deepseek-ai/...',通常是因为手动链接了插件(rawlink:+ 手工创建node_modules)而非通过dsh plugin安装。请通过标准命令安装。
总结¶
dsh-multi-model-orchestrator 为 DSH 用户提供了一个标准化的方式来利用多个模型。通过配置 settings.yaml,你可以将主模型转化为一个智能调度中心,实现任务的自动拆解和按需分发,同时监控各模型的 Token 消耗。
更多详情与源码,请访问 GitHub。