前言¶
在 DeepSeek Harness 里让 Agent 做多步任务时,常见做法是口头约定步骤、靠会话记忆推进。一旦中断、需要人工拍板,或要核对「文件是否真的写出来了」,状态往往散落在对话里,难以对账和接手。DSH Orchestrator(dsh-orchestrator)面向这类问题:把人确认过的意图组织成可观察、可验证、可恢复的管线,并通过 DSH 插件与本地看板交付。仓库当前标注为开发预览;核心与插件适配已有可运行代码,具体验证范围见仓库内 STATUS.md 与验证文档。
这是什么¶
DSH Orchestrator 由社区维护者 8778fkv694-hub 发布,在 SkillHub 目录中归类为工作流。一句话定位来自项目简介:Evidence-driven pipelines for DeepSeek Harness——强调已确认意图、人工门、持久化恢复与可核验交付。
插件注册的是 Harness 工具(orch_*),不是 slash command;意图确认、人工门与对账仍在 Harness 会话内由人完成。看板提供只读观察与调度入口,不替代人类确认,也不代执行任务或调模型。
与同一维护者的 pre-flight(起飞) 可衔接:起飞侧建立 AGENT、Intent、Spec 与 Plan,管线引用相关路径并固定内容摘要。本仓为原创实现,不要求安装数字员工。
设计方法(简要)¶
README 中归纳的方法包括:
- 人的话是原始输入;AI 引导梳理并复述,经人确认才建立正式 Intent。
- 定义说明方法,运行固定版本;AI 需判断时用宿主 Agent,确定工作可由可信脚本驱动,关键取舍由人决定。
- 任务派发先持久化操作编号;中断后先读回状态,不自动重复未知副作用。
- 模型回报完成后,独立检查声明的文件产物;运行结束与交付合格分别判断。
状态写入配置项目下的 .orchestrator/。同一运行限定所属会话;路径禁止越界及符号链接,文件证据上限 4MB。当前没有 DAG、跨机器并发、分布式事务等能力;真实故障留下的锁需人工在确认无写者后处理。
核心功能¶
Harness 工具流¶
典型流程(来自 README):
orch_create → orch_next → 确认新工作单未执行后 orch_claim → 按工作单使用已获授权的宿主工具 → orch_complete → orch_next。
- 遇到人工门调用
orch_gate;状态查看用orch_status。 - 恢复已有工作单须先核对未知效果,不直接接单重跑。
- 暂停/继续:
orch_pause、orch_resume;恢复读回:orch_recover。 - 未知效果先检查执行端与文件,再由
orch_reconcile请求人确认已核验或已停止。 orch_cancel遇到在途动作只记取消请求,不能证明外部进程已经停止。
orch_create 会展示 AI 复述、步骤及验收条件,通过宿主提问让你确认;拒绝、无答案或超时均不建立正式运行。
本地管线看板(只读 + 调度入口)¶
看板读取工作区 .orchestrator/ 下的运行快照,提供总览、运行记录、输出物内嵌预览与运行详情抽屉;状态文件变化后通过 SSE 与文件监听推送(≤1 秒量级,断线自动重连)。
调度按钮(启动 / 继续 / 暂停 / 取消)只写内核调度状态并显示 operation ID,不执行任务动作、不调模型、不启动外部命令。需要人决定的内容仍走 Harness 提问卡;看板给「复制 runId / 继续提示」等指引。
启动示例:
orch view /绝对路径/工作区
orch view /绝对路径/工作区 --port 8899 --read-only
npm run view -- /绝对路径/工作区
默认只绑定本机回环地址;访问令牌每进程生成,出现在启动输出的 URL 中。--read-only 关闭动作端点。
零配置演示¶
不安装到 Harness 也可本地体验看板与合成数据:
npm run quickstart
会在本机创建/重置 .demo-workspace/(合成演示数据,不调用模型、不读凭据、不改主 profile),然后启动看板并打印带 token 的本机 URL。换端口示例:npm run quickstart -- --port 8892。
要求 Node 22+;仓库声明无运行时 npm 依赖(见 package.json 的 engines)。
诊断与参数化模板¶
只读诊断(不建立运行):
node src/cli.js doctor <工作区>
机器可读输出加 --json。宿主插件加载与会话工作区无法仅凭本地文件确认时会标为 unknown。
参数化模板实例化示例:
node src/cli.js instantiate examples/parameterized-template.json > /tmp/review-pipeline.json
只输出定义,不执行任务、不默认为已确认。
可选侧栏入口(entry/)¶
仓库带可选 DSH profile bundle:在 Harness Web UI 左侧栏「插件」下方增加常驻「管线」入口,用于多看板管理(工作区目录或外链、打开看板、进入会话预填提示词等)。安装与配置见仓库 entry/README.md;不修改 DSH 程序或本仓 orchestrator 插件本体。
Skill 配方(会话内更稳的用语)¶
插件不改变权限,也不允许模型代点人工门。仓库建议将 skill 复制到工作区:
mkdir -p <工作区>/.agents/skills
cp -R skills/dsh-orchestrator <工作区>/.agents/skills/
之后可在会话中用自然语言描述目标,由 Agent 调用 orch_*;skill 中含建管线、取工作单、人工门、暂停/继续/取消/对账、看板与失败纪律的标准配方。
安装与启用¶
需要 Node 22+ 及支持插件 bundle 的 DeepSeek Harness。README 写明已核验运行时接口:0.2.1-rc.3;其他版本需自行重新验证。
下载仓库并进入目录后,按 README 顺序执行:
npm test
npm run demo
npm pack
将生成的包安装到新建验收 profile(勿覆盖正在使用的 profile):
dsh plugin --profile orch-acceptance add /绝对路径/dsh-orchestrator-0.1.0-alpha.1.tgz
在该 profile 的 cordis.patch.yml 中覆盖插件配置,填入专用测试项目的真实绝对路径:
- id: evidence-orchestrator
config:
workspace: /绝对路径/测试项目
questionTimeoutMs: 90000
先核对该 profile 的宿主界面、模型、提问服务和端口配置,再启动。默认工作目录为空时,配置好后工具才能读写管线状态。
卸载隔离 profile 内插件:
dsh plugin --profile orch-acceptance remove dsh-orchestrator
卸载会注销工具并中止插件等待;不负责停止由宿主工具启动的外部任务。请先核对执行端。
当前包版本为 0.1.0-alpha.1(见 package.json)。代码采用 MIT 许可;非 DeepSeek 官方插件,与 DeepSeek 无隶属关系。
典型用法¶
在 Harness 里创建并推进一条管线¶
让 Agent 读取仓库 examples/pipeline.json,用你自己的目标改写候选定义,并调用 orch_create。确认通过后按上文工具流推进;遇到人工门在会话内响应 orch_gate。
会话内一句话式目标(配合 skill)¶
README 给出的说法示例:
- 「按新闻简报管线跑一份今天的简报,四项偏好问我。」
- 「看一下刚才那条运行到哪了;需要我决定就弹卡片。」
- 「把这个运行暂停/继续;外部动作不确定时先对账。」
真实项目看板¶
orch view <你的工作区>
或 node src/viewer.js <工作区>。
适用场景与注意¶
适合谁:需要在 DSH 里把多步 Agent 工作收成有 Intent、有证据、有人工门、可暂停恢复和对账的管线;同时希望用本地看板观察运行、产物哈希与调度状态,而不是只靠聊天记录。
务必注意:
- 插件以当前 dsh 进程权限运行;安装前应自行检查源码与 MIT 许可证,并在隔离 profile 中验收。
- 看板是本地可信操作面,不是安全边界;令牌勿外传;未做局域网多用户与账号权限。
harness.userQuestions表示答复经过宿主提问通道,不能单凭它证明具体是谁点击;受托代操作需额外身份与审计机制。- CLI 与核心是可信本地编程接口,不能用 CLI 的确认参数代替宿主真人确认。
- 目录页星标等为社区展示信息;以 GitHub 仓库与 README 为准。
结尾¶
DSH Orchestrator 把「人确认过的意图」落到可持久化的管线状态上,用 orch_* 工具在 Harness 内推进,用 orch view 在本机观察与调度,并在未知副作用场景下通过对账与恢复读回降低盲目重跑的风险。开发预览阶段的功能与验证边界以仓库 STATUS.md 为准。
- 目录页:https://www.skillhub.cn/plugins/8778fkv694-hub/dsh-orchestrator
- GitHub:https://github.com/8778fkv694-hub/dsh-orchestrator