DeepSeek Harness 的持久化并发节点图工作流,支持 agent、命令、HTTP、人工、fan-out/join、gate 与子工作流节点。
安装
# npm 包(预构建)
dsh plugin --profile web add dsh-auto-workflow
# GitHub 源码(首次需按提示配置 allowBuilds 构建授权后重试)
dsh plugin --profile web add github:lyingloong/dsh-auto-workflow
装任何插件都等于在你的机器上跑第三方代码,权限和你本人一样大——能读你的文件、用你的凭据、访问网络,工具审批管不到它。GitHub 来源的插件还会在安装时执行构建脚本——pnpm 默认拦截,所以安装可能停在 ERR_PNPM_GIT_DEP_PREPARE_NOT_ALLOWED 或 ERR_PNPM_IGNORED_BUILDS;dsh 会打印出需要添加的确切键名,把它加进该 profile 的 pnpm-workspace.yaml 的 allowBuilds 下,重跑一次即可装上。放行构建本身就是一次信任判断:请只安装可信来源,并尽量锁定 commit(github:owner/repo#sha)。
README
dsh-auto-workflow是 DeepSeek Harness 的持久化、并发节点图工作流插件。它让模型、命令和人工决策在同一张图中协作:新任务以独立 packet 进入,某项等待 Human 审批时,其他任务仍可继续。
“Auto”指已授权流程的持续调度,不是免审批。 Host 常驻期间,空闲或 Human 等待不会结束运行;状态与数据引用会落盘。Host 停止、插件重载或执行中断后,不自动重放不确定的工作,也不承诺跨 Git/HTTP 的掉电事务。
当前发布为 v1.1.0;首个公开发布为 v1.0.0。仓库地址为 lyingloong/dsh-auto-workflow,项目页为 lyingloong.github.io/dsh-auto-workflow。
安装
要求 Node.js 22.5+、DeepSeek Harness 0.2.1-rc.5+(首发已验证 rc.5);开发示例还需要 Git 和可用的模型工具环境。以下使用 desktop profile,请按实际配置替换。
推荐固定 release,避免随开发分支变化:
dsh plugin --profile desktop add github:lyingloong/dsh-auto-workflow#v1.1.0
也可从 v1.1.0 Release 下载 .tgz,或安装本地 checkout:
dsh plugin --profile desktop add /absolute/path/dsh-auto-workflow-1.1.0.tgz
dsh plugin --profile desktop add /absolute/path/dsh-auto-workflow
安装后重启 DSH Host,再刷新 Web GUI。安装插件不会把示例脚本复制到业务仓库,也不会自动启动工作流。
快速使用:持续开发一个本地 GitHub clone
唯一主示例是 GitHub 项目持续开发:工作流自己维护每需求分支、worktree 和 PR,外部 Codex/人可以审核并 merge 该 PR。
- 准备项目:克隆你有权修改的 GitHub 仓库,配置
origin和gh auth login(或GITHUB_TOKEN);把示例脚本 materialize 到项目内并本地提交,使 checkout 干净。选择项目外的绝对、canonicaldataRoot。 - 输入真实需求:初始化业务存储(会放入 baseline discovery seeds),提交用户需求;可选用
driver seed补充相关证据 seed。用户需求优先级固定为0;示例不监听所有聊天,也不自动抓取 GitHub Issues。 - 授权并定义:检查 示例图 与模型提示词,明确批准命令 allowlist,再调用
auto_workflow_define。HTTP 默认拒绝;agent 工具权限另行控制。 - 开始运行:
auto_workflow_start绑定项目的绝对cwd和{ "dataRoot": "…" };auto_workflow_run挂载运行。在同一 run 中向mine-gate仅 enqueue 一次 producer,后续需求继续送入现有运行。 - 审核与合并:每个需求在
auto/req-<id>分支和独立 worktree 中开发;第一次 snapshot 后推送分支并创建 draft PR。review pass + 结构化 brief 后 PR 标记 ready,外部 Codex/你可以直接 merge。若宽限期selfMergeAfterMs内仍未 merge,才进入self-merge-human;Human 同意后工作流自己用 merge commit merge 该 PR,再验证并清理 worktree。默认after-verified-merge会删除 worktree(含开发期临时文件),提交和不可变记录保留。
主业务图
flowchart TD
U[用户 intake · priority 0] --> Q[稳定 ID 的需求队列]
S[已有证据 seeds] --> M[周期 producer / 挖掘]
M --> Q
Q --> R{需求来源与风险}
R -->|用户 / 挖掘 low| W[每需求一个 auto/req-* 分支和 attached worktree]
R -->|挖掘 mid / high| H[Human 需求审批]
H -->|approve| W
H -->|reject + 反馈| A[同 ID 修订需求]
A --> R
W --> E[engineer 池 · 最多 3]
E --> I[冻结 revision / epoch / one commit]
I --> P[push 分支并创建 draft PR]
P --> V[reviewer 池 · 最多 3,每需求一位]
V -->|revise| E
V -->|pass| G[Human brief / PR 门禁]
G -->|revise| E
G -->|reject| K[保留分支/worktree/PR]
G -->|approve| L[标记自己的 PR ready]
L --> X[Codex/人 external merge]
X --> T[验证合并 · 默认清理 worktree]
根并发上限为 6;命令和挖掘也共享这六个槽位。3+3 是两个工作池上限,不是每项需求三位 reviewer。返修保留同一需求 ID、分支、worktree 和 PR;snapshot 把分支压成一个 commit。完整语义见 业务流程与保证。
七个工具
| Tool | 用途 |
|---|---|
auto_workflow_define |
校验并保存节点图和用户批准的权限。 |
auto_workflow_start |
绑定不可变项目 cwd、预检并创建 run;不执行节点。 |
auto_workflow_run |
挂载或继续当前会话的常驻 job,立即返回。 |
auto_workflow_enqueue |
向现有 run 添加独立 packet;新工作不靠重启 run 输入。 |
auto_workflow_decide |
解决一个指定 Human token,不代替其他审批。 |
auto_workflow_control |
全局暂停/继续、单节点队列开关,或显式 Stop。 |
auto_workflow_status |
只读查看队列、并发、Human 待办和私有看板 URL。 |
节点类型包括 agent、command、http、human、fanout、join、gate、subworkflow。字段与协议见 插件参考;不要循环轮询 run。
看板
- Human 待处理详情:点“查看详情与输入”打开独立卡片,按需读取该 token 的输入 JSON,并在同一处填写留言、查看 outcome 后决策。
- 节点图模式:工具栏“简化”隐藏
busy-*重试门,只保留业务节点;“完整”显示全部边。 - 节点方块:每个节点是一个圆角方块,空闲/运行/等待/错误/关闭使用不同颜色;点击方块打开节点详情、数据包和历史。
边界与验证
- 插件负责通用调度和引用;需求优先级、Git worktree、审查与合并策略属于示例业务代码。
- command/HTTP 权限默认 deny。命令 allowlist 不是文件系统沙箱,也不替代 agent 工具权限。
- 暂停和禁用节点不会取消在途工作;Stop 不等于回滚。失败或中断后先检查副作用,再显式恢复或新建 run。
- 单 Host、本地文件锁;不是分布式队列、外部审批服务或 exactly-once Git/HTTP 事务。工作流会 push 自己的需求分支并创建/更新 PR,但不会 merge 远端、不会自行批准 GitHub PR,也不会部署。
- 包版本
1.1.0、定义apiVersion: 2、运行状态version: 3、示例业务存储version: 2是不同层的版本号,不要求相同。废弃开发序列与迁移边界见 更新记录。
已验证范围、真实模型执行概况与限制集中在 验证说明。从源码 checkout 运行完整回归:
npm test
继续阅读:文档导航 · 运行生命周期与排障 · v1.1.0 发布说明 · v1.0.0 历史发布。
链接
同类插件
loopx-project/loopx#dsh-loopx-plugin★ 6537
LoopX——面向长周期 Agent 的提供商中立、本地优先状态内核与控制平面:在 DeepSeek Harness 执行层之上持久化 Goal、Todo、门禁、证据、配额、恢复与交接状态;插件负责引导安装 CLI 与技能、准入有界的同会话续跑,并为精确绑定的工作循环提供本地 GoalBar。
Q00/ouroboros#integrations/dsh-plugin★ 6308
通过 DSH MCP 客户端挂载 Ouroboros 的纯配置包,在 DSH 中提供 36 个涵盖需求访谈、Seed、执行、评估与演化流程的工具。
chuspeeism/dashi-taskboard#deepseek-harness★ 3434
把当前已安装并运行中的 Codex Taskboard 嵌入 DeepSeek Harness 侧边栏,并通过 Launcher 运行时描述文件连接,而不是使用固定端口。
NanmiCoder/dsh-agent-teams★ 2647
AgentTeams 多智能体团队。
EthanYoQ/AI-Novel-Writer#dsh-ai-novel-writer★ 2265
安装专用 AI 小说创作预设与工作台:提供带修订号的本地项目资产、紧凑侧边工作台,以及需要原生审批的逐文件变更。
Miaotofu01/Study-Mate★ 1307
你的AI学习搭档:定计划、讲知识、做项目,学透一门科目。
社区评论
评论公开保存在 GitHub Discussions。加载评论会连接 GitHub 和 Giscus;发表内容需要 GitHub 账号。