DSH Orchestrator:强模型规划、便宜模型干活的硬隔离调度

前言

在 DeepSeek Harness(DSH)里做高强度开发时,常见做法是主会话用强模型,需要时再派子代理或走 workflow。原生 subagent、官方 @deepseek-ai/dsh-experimental-agent-team-profile(Agent Team)能分担任务,但在模型成本、主代理是否「亲自下场」、长跑 Worker 的可观测性,以及批量同构任务的结构化执行上,仍容易踩坑:子代理模型要么继承主模型、要么靠主模型每次传参;主代理往往仍握有读写与终端工具;派出后只能干等或阻塞轮询。

下面介绍社区插件 DSH Orchestrator(维护者 SShiRkiT,GitHub:SShiRkiT/dsh-orchestrator,SkillHub 目录:dsh-orchestrator)。它面向 DSH Desktop / Web GUI,用「调度模式」把主代理锁在规划与验收,把执行统一交给可单独配置路由的子代理,并附带零 Token 日志巡检与声明式批量流水线。插件分类为工作流;许可证 MIT。

这是什么

一句话定位:Plan-only 主代理 + 可切换默认路由的委派 Worker,专为 DeepSeek Harness 设计的硬隔离调度模式。

插件形态为 Cordis 后端补丁(cordis.patch.yml)与 Web GUI 客户端扩展(lib/client.js)。环境要求:宿主为 DSH Desktop 或 Web GUI,Node.js >= 22(DSH Desktop 运行时内置),界面中 / 英自适应。

与原生 subagent / Agent Team 的差异(资料摘要)

场景 原生 subagent / Agent Team DSH Orchestrator
模型成本 无独立子代理面板,易继承贵模型或传参遗漏 UI 双路由:Main 与 Subagent 解耦;未配子代理模型时派发报错,不回退主模型
主代理动手 靠提示词约束,工具仍在 tools.restrict + tools.guard:默认禁 42 项读写/搜索/终端等;主代理保留 delegate、orchestrate、send_message 等
便宜模型卡壳 运行期黑盒 后台读会话事件日志巡检(不调 LLM),超时或停滞时通知主代理纠偏
大批量同构任务 workflow 手写 JS,易失控 声明式 orchestrate:items × stages,并发与 JSON Schema 校验

核心功能

双路由与调度模式面板

输入框下方有「调度模式」面板:

  • Main Agent:使用宿主 agent-default-model(面板可读写),适合澄清需求、切分任务、验收结果。
  • Subagent:workerProvider / workerModel 必填;所有经 delegate、orchestrate 派出的 Worker 强制走该便宜路由(除非当前消息明确指定其他模型)。
  • 总开关 enabled:关闭后立即恢复主代理全部工具,无需重开会话。

面板右侧 Denied Tools 可勾选宿主、MCP 与其他插件工具;deniedTools / allowedTools 为 volatile 配置,下一条消息生效。

主代理缴械、子代理全工具

默认主代理不可使用 read、edit、bash、grep、原生 subagent、workflow 等执行类工具;子代理在独立上下文中保留完整工具链,收尾结论回传主代理验收。

零 Token 后台巡检

在 superviseEnabled 为 true 时,按 superviseIntervalSeconds(默认 600 秒,范围 10–86400)扫描运行中 Worker 的事件日志,汇总时长、轮次、工具调用与最后输出,唤醒主代理。主代理可回复「巡检:正常」、send_message 纠偏,或 interrupt_agent 止损。相关字段:superviseMaxNoticesPerChild(默认 3)、superviseNotifyOnNoProgress(默认 false)。

delegate 与 orchestrate

  • delegate:派发自包含任务(目标、可改文件、验收命令、失败兜底);同回合多次调用可并行;子代理被注入简体中文回复要求,收尾禁止对父代理 send_message(结果自动送达主代理)。
  • orchestrate:批量流水线,items 1–64、stages 1–8,maxConcurrency 1–16(默认 4);支持多阶段逐条目推进、单项失败隔离与阶段级 JSON Schema 校验。

安装与启用

在 DSH 插件页从 GitHub 添加,或使用 CLI(资料原文):

SShiRkiT/dsh-orchestrator#main
dsh plugin --profile desktop add SShiRkiT/dsh-orchestrator#main

安装后需完全退出并重新打开 DSH(客户端插件在启动时组合,不支持热更新)。

配置说明

以下均为 volatile,面板修改后立即生效(子代理模型从下一次委派起生效):

字段 默认值 说明
enabled true 调度模式总开关
workerProvider / workerModel "" 子代理路由,必填
workerReasoningEffort "" 子代理思考强度,留空用模型默认
deniedTools / allowedTools 42 项内置名单 主代理禁/放工具
superviseEnabled true 巡检总开关
superviseIntervalSeconds 600 巡检间隔(秒)
superviseMaxNoticesPerChild 3 每子代理最多通知次数(0 表示不限)
superviseNotifyOnNoProgress false 无新日志是否仍通知

典型用法(操作顺序)

  1. 安装插件并重启 DSH,在「调度模式」面板为 Main 选强模型、为 Subagent 选便宜模型(未配子代理模型时派发会被拦截)。
  2. 保持 enabled 开启,按需调整 Denied Tools 与巡检间隔。
  3. 在主会话用自然语言拆任务,让主代理通过 delegate 并行派出 Worker,或用 orchestrate 处理多条目多阶段批量作业。
  4. 收到巡检摘要时,用极少回复确认进展,或通过 send_message / interrupt_agent 纠偏或止损。
  5. 需要主代理临时亲自读写、跑命令时,关闭「启用调度模式」即可。

README 中的示例图路径:docs/images/dispatch-panel.png(调度面板)、docs/images/patrol-notice.png(巡检纠偏),可在仓库文档中查看。

适用场景与注意

适合:希望主模型只做规划与验收、执行统一走廉价高吞吐模型;长跑子任务需要日志级巡检而非盲等;批量同构条目需要结构化扇出与阶段校验的团队或个人。

注意:

  • 插件在当前 DSH 进程权限下运行,安装前请阅读 源码 与 MIT 许可证,确认工具禁列表与委派行为符合你的安全预期。
  • DSH 生态是「一切皆插件」;SkillHub 等为社区目录,与 DeepSeek / 幻方无官方从属关系。
  • README 徽章显示版本 0.6.2,package.json 中版本为 0.6.5,以你本地安装的实际包为准。

结尾

DSH Orchestrator 把「贵脑便宜手」从提示词约定变成面板路由加工具闸门,并用日志巡检与 orchestrate 补全批量调度缺口。需要细节与英文说明时,见仓库 README 与 README.en.md。

  • 目录页:https://www.skillhub.cn/plugins/SShiRkiT/dsh-orchestrator
  • GitHub:https://github.com/SShiRkiT/dsh-orchestrator
羽毛球分组比赛记分
小程序二维码

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

Xiaoye