可续跑的 JavaScript 工作流:项目脚本、原生 subagent、token 预算与 worktree 隔离。
安装
# Release 预构建包
dsh plugin --profile web add "https://github.com/gulagala001/dsh-workflow/releases/download/v0.1.2-dsh.0.2.1-rc.2/dsh-workflow-plus-0.1.2-dsh.0.2.1-rc.2.tgz"
# GitHub 源码(首次需按提示配置 allowBuilds 构建授权后重试)
dsh plugin --profile web add github:gulagala001/dsh-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 0.2.1-rc.2, Node.js 22.19+.
子代理沿用宿主模型与权限,并产生正常模型用量。续跑会重新执行成功前缀之后的调用;先核对已有产物与副作用。
1. 安装
打开实际使用的 DSH 实例,在 插件 → + 添加插件 中粘贴:
https://github.com/gulagala001/dsh-workflow/releases/download/v0.1.2-dsh.0.2.1-rc.2/dsh-workflow-plus-0.1.2-dsh.0.2.1-rc.2.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。项目使用 .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/插件版本、实际入口、最小复现步骤,以及预期和实际表现;日志与截图先移除私人数据。
链接
同类插件
loopx-project/loopx#dsh-loopx-plugin★ 6388
LoopX——面向长周期 Agent 的提供商中立、本地优先状态内核与控制平面:在 DeepSeek Harness 执行层之上持久化 Goal、Todo、门禁、证据、配额、恢复与交接状态;插件负责引导安装 CLI 与技能、准入有界的同会话续跑,并为精确绑定的工作循环提供本地 GoalBar。
Q00/ouroboros#integrations/dsh-plugin★ 6255
通过 DSH MCP 客户端挂载 Ouroboros 的纯配置包,在 DSH 中提供 36 个涵盖需求访谈、Seed、执行、评估与演化流程的工具。
chuspeeism/dashi-taskboard#deepseek-harness★ 3376
把当前已安装并运行中的 Codex Taskboard 嵌入 DeepSeek Harness 侧边栏,并通过 Launcher 运行时描述文件连接,而不是使用固定端口。
NanmiCoder/dsh-agent-teams★ 2336
AgentTeams 多智能体团队。
EthanYoQ/AI-Novel-Writer#dsh-ai-novel-writer★ 1705
安装专用 AI 小说创作预设与工作台:提供带修订号的本地项目资产、紧凑侧边工作台,以及需要原生审批的逐文件变更。
Miaotofu01/Study-Mate★ 1124
你的AI学习搭档:定计划、讲知识、做项目,学透一门科目。
社区评论
评论公开保存在 GitHub Discussions。加载评论会连接 GitHub 和 Giscus;发表内容需要 GitHub 账号。