Save, compose and resume workflows using native DSH subagents.
DeepSeek Harness plugin
简体中文 · English
Get started · Docs · Report an issue
## Quick start **Required environment:** DSH **0.2.2-rc.1**, Node.js **24.9.0+**. Subagents use host models and permissions and incur normal model usage. Resume re-executes calls after the successful prefix; check existing artifacts and side effects first. ### 1. Install Open **Plugins → Add plugin** in the DSH instance you use, then paste: ```text https://github.com/gulagala001/dsh-workflow/releases/download/v0.1.8-dsh.0.2.2-rc.1/dsh-workflow-plus-0.1.8-dsh.0.2.2-rc.1.tgz ``` Wait for active tasks to finish, then follow the host’s activation/restart prompt. Keep your existing profile and data. See the [installation guide](docs/install_EN.md) · [SHA256SUMS](https://github.com/gulagala001/dsh-workflow/releases/download/v0.1.8-dsh.0.2.2-rc.1/SHA256SUMS). ### 2. Try this first In a conversation with a configured model, ask: ```text Use workflow to review auth and storage in parallel, then summarize the findings. Do not modify files. ``` **Success looks like:** The workflow panel shows actual phases, members and status, with agents running as native child conversations. ## Turn repeated work into resumable workflows - **Compose steps**: use `parallel()`, `pipeline()`, `phase()` and `log()` to express actual dependencies and execution state. - **Save and reuse**: submit a script directly, use `scriptPath`, or save named project workflows. - **Resume and isolate**: resume after a successful call prefix. Use Git worktrees for file isolation and retain results for review and merging. ### A minimal workflow ```js 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' }), ]); ``` The workflow entry beside the conversation title shows phases and members; agents run as native child conversations. `run_in_background: true` uses native Jobs, with `job_output` for inspection and `job_kill` to stop. [Complete usage](docs/workflow.md) ## Runtime boundaries | Capability | Conditions and behavior | | --- | --- | | Nested workflows | One level, sharing concurrency, call limits, cancellation and budget. | | `resumeFromRunId` | Reuses an unchanged successful prefix in the same conversation; later calls execute again. | | `isolation: 'worktree'` | Creates a separate checkout from current Git HEAD, retaining changes without automatic merging. | | Shared output-token target | Add `+500k` or `+1m` to the user message. Reaching it stops new dispatch while active calls can finish. | Without trustworthy usage, further dispatch stops. Model requests, network access and file permissions remain with the host and tool providers. ## FAQ