DSH Orchestrator: Building Verifiable and Recoverable Pipelines from Confirmed Intentions

前言

在 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 中归纳的方法包括:

  1. 人的话是原始输入;AI 引导梳理并复述,经人确认才建立正式 Intent。
  2. 定义说明方法,运行固定版本;AI 需判断时用宿主 Agent,确定工作可由可信脚本驱动,关键取舍由人决定。
  3. 任务派发先持久化操作编号;中断后先读回状态,不自动重复未知副作用。
  4. 模型回报完成后,独立检查声明的文件产物;运行结束与交付合格分别判断。

状态写入配置项目下的 .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
羽毛球分组比赛记分
小程序二维码

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

Xiaoye