前言¶
在 DeepSeek Harness(DSH)里跑长任务时,常见两类中断:一是当前模型请求失败,任务直接停住;二是任务本身可以拆成多个独立子步骤,却仍在单会话里串行推进,耗时长、中间结果也难以追踪。
社区插件 dsh-ha-orchestrator(GitHub:Saktawdi/dsh-ha-orchestrator)针对这两个问题做了组合处理:模型出错时按备用链自动重试,并通过 orchestrate 工具把适合并行、分阶段或需要评审的工作交给子智能体执行。下面介绍它的定位、能力与安装用法。
这是什么¶
dsh-ha-orchestrator 是 DSH 的 Cordis 动态插件,维护者为 Saktawdi,当前发布版本 v0.12.2,许可证 MIT,GitHub 星标 9,社区目录分类为工作流。
一句话定位:在 DSH 长任务中提供模型高可用回退,并提供 orchestrate 编排工具,支持 fanout、pipeline、supervisor、map-reduce、router 五种子智能体编排模式。配置界面与提示词文案支持中英文,跟随 DSH 语言设置。
模型失败自动回退¶
模型请求出错时,插件会改用下一个备用模型重试,备用模型按顺序轮换。出错的模型进入冷却,冷却结束后恢复使用。机制还包括:
- 突发窗口失败计数
- Provider 级熔断与恢复探测
- 可选的上下文超长降级
- 每次故障有重试上限,用尽后停止,避免无限循环
若模型错误导致任务中断,插件会把任务重新拉起一次。备用模型、冷却时间、失败阈值、错误码过滤等可在 设置 →「HA 与编排」→「模型高可用」 中调整。
HA 运行态以 500ms 防抖持久化到 dsh-ha-orchestrator.ha.json,重启后自动恢复。可通过 /ha、/ha status 查看隔离、失败计数、轮换游标与切换历史;/ha probe <provider> <model> 可手动探测指定模型是否恢复。
编排工具 orchestrate¶
orchestrate 工具在所有会话中可用。工具说明与系统提示词会引导模型在任务可并行、分阶段或需要评审时自行调用;若未自动触发,可直接说「用编排」。
五种编排模式如下:
| 模式 | 作用 |
|---|---|
fanout |
拆成子任务并行执行,再汇总结果 |
pipeline |
各阶段依次执行,上一阶段输出作为下一阶段输入 |
supervisor |
并行执行子任务后,由监督子智能体审查合并 |
map-reduce |
并行执行 map 任务,再由归约子智能体合并结果 |
router |
把候选任务交给路由子智能体,由它选择或安排后续工作 |
工具还支持:保存配方、按 runId 恢复中断任务(/ha-orch-resume <runId>)、监督评审轮次、多评审者、单次子智能体调用预算、结构化输出 Schema,以及自定义子智能体的工具白名单/黑名单。子智能体默认不能再次发起嵌套编排。
编排运行记录写入 dsh-ha-orchestrator.runs.jsonl,并生成 dsh-ha-orchestrator.run-<runId>.md 保存完整子任务输出。对话流内会显示 orchestrate 运行卡片(进度、子任务状态、各子代理实际使用的模型);工具区有 HA 状态胶囊。
自定义子智能体¶
在配置页 「自定义子智能体」 可定义可复用角色:名称、provider/模型、模型 effort、描述、系统提示词,以及可选的工具白名单/黑名单。每个角色可单独配置按顺序执行的 fallbacks 模型链(格式 provider/model@effort);启动失败或返回模型错误时,只切换该角色自己的回退链,不读取全局 HA 备用模型。内置 reviewer、researcher、research-merger;「智能新增」可用一句话让当前模型生成完整定义。
自动触发与手动控制¶
若会话使用 minimal / minimal-v3 等 complete: true 人设预设,平台会丢弃插件注入的系统提示词段落,自动触发主要依赖 orchestrate 工具描述。若仍不触发,请直接说「用编排」。
不想模型自动调用时,可在 设置 →「HA 与编排」→「系统」 关闭上下文注入,之后在提示词里写「使用 dsh-ha-orchestrator 插件进行调用」手动触发。子智能体默认不会获得这段上下文注入;如需同步注入,可在「系统」卡片打开同时注入子智能体。
安装与启用¶
前置条件:DeepSeek Harness(web profile)。发布包无需本地构建,运行时 peer 服务由 DSH 提供。Node 引擎要求 >=20.19.0。
方法一:npm 一条命令(推荐)¶
本包已发布到 npm,包名 dsh-ha-orchestrator:
dsh plugin --profile web add dsh-ha-orchestrator
因为本包声明了 dsh.bundle.patch,dsh plugin add 会自动把 dsh-ha-orchestrator 加进 dsh.profile.bundles 并应用 cordis.patch.yml,无需手写组合行。bundle patch 层支持 Cordis HMR 热加载,无需重启 DSH 进程;刷新浏览器页面即可看到配置页。
方法二:本地仓库(开发用)¶
需要 PATH 里有 pnpm:
dsh plugin --profile web add "file:<本仓库绝对路径>"
方法三:手动安装(无需 pnpm)¶
- 把仓库复制到
~/.dsh/profiles/web/node_modules/dsh-ha-orchestrator - 在
~/.dsh/profiles/web/cordis.patch.yml中加入:
- insert:
- id: dsh-ha-orchestrator
name: dsh-ha-orchestrator
经过上面的步骤,刷新浏览器即可在 设置 →「HA 与编排」 看到配置页。
典型用法¶
日常使用无需特殊指令,模型会根据任务结构自行选择编排模式。README 中的示例如下:
并行调研(fanout)
你: 帮我调研这三个开源项目,比较许可证和社区活跃度,给出选型建议。
模型: 识别出 3 个独立子任务 → 自动调用 orchestrate(fanout)→ 并行调研 → 汇总对比 → 给出建议
大型代码库阅读(fanout)
你: 阅读下这个大型项目,梳理整体架构和当前进度。
模型: 按模块/文档/代码拆成多个独立阅读子任务 → 自动调用 orchestrate(fanout)→ 并行阅读 → 汇总架构与进度
分阶段计划(pipeline)
你: 先做需求分析,再写设计文档,最后写实现计划。
模型: 自动调用 orchestrate(pipeline)→ 每阶段输出自动成为下一阶段输入
监督评审(supervisor)
你: 生成一份竞品分析报告,找个资深评审把关。
模型: 自动调用 orchestrate(supervisor)→ 并行分析 → 评审合并 → 输出报告
查看运行状态可用斜杠命令:/orchestrate runs 列出最近 24 次编排运行,/orchestrate show <runId> 查看详情,/orchestrate presets 列出已配置的编排配方。
适用场景与注意¶
比较适合: 深度调研、大型代码库阅读、批量审查、多方案对比和实现计划编排。
插件以当前 DSH 进程权限运行,安装前应阅读 源码 与 MIT 许可证,确认信任维护者与代码行为。配置和 HA 状态按会话 workspace / DSH_HOME → 沙箱 workspace-write 可写根查找;运行记录和 Markdown 工件可能包含任务 prompt 与模型输出,请确保 workspace 只对可信用户/进程可读。
若部署环境没有 DSH 的 commands 服务,插件核心功能仍可用,但 /ha、/orchestrate 等斜杠命令不可用。仓库文档还包含 架构、配置参考、安全说明 与 兼容矩阵;测试矩阵显示 219 项通过(来源:README badge)。
结尾¶
dsh-ha-orchestrator 把模型故障恢复与五种子智能体编排放在同一个 DSH 插件里:长任务不因单次模型错误轻易终止,复杂工作可以并行推进并保留可恢复的 runId 与运行记录。