DeepSeek Harness 的默认行为是统一对待所有的模型调用。dsh-model-router 插件通过将会话拆分为“规划者”和“执行者”两个角色,解决了这个问题。
插件简介¶
这是一个用于 DeepSeek Harness 的小型插件,由 thedeveloper256 维护。它将智能体会话分为两个角色:
- 规划者:默认使用
deepseek-flash(V4.1 Flash,原生多模态)。负责理解需求、设计路径、审查结果、编写最终答案。 - 执行者:默认也使用
deepseek-flash。负责执行规划者委托的具体任务。
在 V4.1-Pro 发布前,两者共享同一模型。这种角色分离保留在配置中,以便将来将规划者切换回 Pro 模型,而不必为每一个工具调用支付 Pro 的价格。
核心功能¶
插件通过以下三个核心机制实现路由:
- 请求路由:在请求管道的最外层重写请求,给每个模型调用打上角色标签。根智能体获得规划者标签,委托的子智能体(如
subagent、subagent_fork、workflow workers)获得执行者标签。 - 提示词注入:在智能体角色提示词前插入一段简短指令,明确告诉规划者“你是思考者,去委托执行”,防止模型直接接管所有任务。
- 技能包:提供
pro-flash-routing技能,展示标准的执行节奏:Plan(计划)、Delegate(委托)、Review(审查)、Report(报告)。
此外,插件还提供视觉路由功能(需手动开启),用于处理图像请求。
安装¶
插件通过 npm 预构建,无需构建步骤。将其添加到 web 配置文件(可修改配置文件名):
dsh plugin --profile web add dsh-model-router
安装后重启配置文件,在 dsh web --dump-config 中应能看到 model-router 配置行。
配置与使用¶
GUI 设置¶
插件注册了一个设置卡片,路径为 Settings → Plugins → Model router。
- 启用/禁用:直接切换“Enabled”开关即可。更改会立即生效,并持久化到
settings.yaml的model-router键下。 - 视觉路由:在 v0.6.0+ 版本中,该卡片包含“Vision”开关,用于开启图像请求的路由功能。
注意:GUI 设置页面仅在 Loopback 浏览器(localhost / 127.x)中可用。如果通过远程浏览器访问,设置卡片可能显示只读或不可用。此时需通过配置文件或 Patch 行来控制。
配置文件管理¶
设置会保存在配置文件的 settings.yaml 中:
model-router:
enabled: true
vision:
enabled: false
Patch 行控制¶
也可以通过 cordis.patch.yml 文件控制插件行为。例如,在配置文件中添加以下行来禁用插件:
- enabled: false
视觉路由¶
视觉路由功能默认关闭。开启后,当会话日志中出现图像时,后续的所有请求(无论来自规划者还是执行者)都会被标记为视觉请求,使用 deepseek-flash 模型处理。
插件会检查 user/message、assistant/message 和 tool/result 中的图像内容。一旦检测到图像,该会话在后续请求中将持续使用视觉模型,直到日志被压缩或修剪。
生态与许可¶
- 许可:MIT。
- 目录:可在 skillhub.cn 查看详情。
- 源码:GitHub 仓库。