dsh-workflow
gulagala001/dsh-workflow
可恢复的 JavaScript 工作流,支持原生子任务、共享预算与 worktree 隔离。
安装
dsh plugin --profile web add github:gulagala001/dsh-workflowREADME
DSH Workflow
保存、组合与续跑工作流,沿用 DSH 原生子代理。
DeepSeek Harness 插件
简体中文 · English
快速开始
适用环境: DSH 0.2.1-rc.3, Node.js 22.19+.
子代理沿用宿主模型与权限,并产生正常模型用量。续跑会重新执行成功前缀之后的调用;先核对已有产物与副作用。
1. 安装
打开实际使用的 DSH 实例,在 插件 → + 添加插件 中粘贴:
https://github.com/gulagala001/dsh-workflow/releases/download/v0.1.5-dsh.0.2.1-rc.3/dsh-workflow-plus-0.1.5-dsh.0.2.1-rc.3.tgz
等当前任务结束后,按宿主提示启用或完整重启该实例,沿用原 profile 与数据。其他宿主、升级和卸载见安装指南 · SHA256SUMS.
2. 先试这一件事
在配置好模型的会话中输入:
使用 workflow 并行审查 auth 和 storage,汇总发现;不要修改文件。
成功标志: 会话工作流面板显示真实阶段、成员与状态,子代理在原生子会话中运行。
把重复任务写成可以继续的工作流
- 组合步骤:用
parallel()、pipeline()、phase()和log()表达实际依赖与执行状态。 - 保存与复用:直接传入脚本,或使用
scriptPath与项目中的命名工作流。 - 恢复与隔离:从成功调用前缀续跑;需要文件隔离时使用 Git worktree,保留结果供检查和合并。
最小工作流
export const meta = {
name: 'review-modules',
description: 'Review two modules',
phases: [{ title: 'Review' }],
};
phase('Review');
return await parallel([
() => agent('Review auth for correctness. Do not edit files.', { label: 'auth' }),
() => agent('Review storage for correctness. Do not edit files.', { label: 'storage' }),
]);
会话标题旁的工作流入口展示阶段与成员;子代理由原生子会话承载。run_in_background: true 使用原生 Jobs,以 job_output 查看、job_kill 停止。完整用法
运行边界
| 能力 | 条件与行为 |
|---|---|
| 嵌套工作流 | 支持一层,沿用共享并发、总调用数、取消信号与预算。 |
resumeFromRunId | 在同会话内复用未变化且已成功的调用前缀,其后调用重新执行。 |
isolation: 'worktree' | 从当前 Git HEAD 创建独立目录;保留有改动结果,不自动合并。 |
| 共享输出 Token 目标 | 用户消息末尾 +500k/+1m;达到目标停止新派发,已运行调用可收尾。 |
缺少可信用量时停止继续派发;模型请求、网络和文件权限继续由宿主与工具提供方负责。
常见问题
续跑会重新做已经完成的操作吗?
只复用符合条件的成功调用前缀,之后的调用会重新执行。先核对已有产物和外部副作用,不把续跑当任意操作的事务重放。
卸载会删除脚本或 worktree 吗?
插件不会主动删除已保存脚本、运行记录和 worktree。项目使用 .omd/workflows/、.omd/worktrees/,独立运行与预算数据位于 DSH_HOME/dsh-workflow/。
开发与许可
安装标识为 dsh-workflow-plus,通过固定 GitHub Release 分发;不要安装其他作者的 npm 同名近似包。
pnpm install --frozen-lockfile --ignore-scripts --config.strict-dep-builds=false
pnpm build
架构。采用 MIT,第三方来源见 THIRD_PARTY_NOTICES.md。
文档与支持
| 我想做什么 | 去哪里 |
|---|---|
| 安装、升级、卸载 | 安装指南 |
| 了解使用方法与边界 | 使用文档 |
| 查看版本变化 | Releases |
| 反馈问题 | Issues |
反馈时请提供完整 DSH/插件版本、实际入口、最小复现步骤,以及预期和实际表现;日志与截图先移除私人数据。