Introduction¶
For DSH users, if a single delegation handles only one task, facing a batch of dependent tasks requires manual handling of parallelization, isolation, conflict, and recovery. TaskSwarm packages these into a plugin: first dividing tasks into waves based on dependencies, then executing tasks within the same wave in parallel lanes, and finally performing review, merging, and state retention.
Below is an introduction to TaskSwarm’s positioning, core capabilities, installation method, and typical usage.
What is it¶
TaskSwarm (Swarm) is a multi-agent task orchestration plugin for DeepSeek Harness (DSH). The npm package is named dsh-taskswarm, maintained by february2015, and licensed under MIT. Documentation indicates its upstream is TaskPlane, and this project is a native port.
It organizes a batch of tasks into task packets and provides a collaborative workflow of supervisor, worker, reviewer, and merger within a DSH session.
Core Features¶
Waves / Lanes Parallel Orchestration¶
- Tasks are stratified into waves based on dependency DAG.
- Tasks within the same wave are executed concurrently, forming parallel lanes.
- Lane worktrees are created from the
taskswarm/orchHEAD, inheriting previously merged outputs.
Git worktree Isolation¶
- Each task or lane uses an independent worktree.
- Results of a lane are merged into
taskswarm/orch. taskswarm/orchis the integration branch and should be preserved; do not delete it.
Task packets¶
- Each task contains
PROMPT.mdandSTATUS.md. PROMPT.mdsaves task descriptions, steps, and constraints.STATUS.mdsaves progress, providing workers with persistent task memory for cross-context resetting.
Checkpoint discipline¶
- Automatic
git commitat step boundaries. - When a worker crashes, committed work is not lost.
- Persistent disk state, checkpoints, and preserved lane branches collectively support crash recovery.
Cross-model review¶
- An independent reviewer scores tasks based on the task’s
Review Level. PASSto merge.REVISEto return to the worker for modification.
File mailbox¶
- Workers and supervisors communicate asynchronously via files.
- Communication does not rely on a shared context.
Conversational supervisor¶
- The supervisor is shared with the current DSH session.
- Supports commands such as
start,pause,abort,integrate, andopen dashboard. - Notifications and prompts are bilingual (Chinese/English).
- Language settings are persisted to
.taskswarm/config.json.
Web Dashboard¶
- Local real-time dashboard based on
node:http+ SSE. - Dashboard starts automatically when a batch is launched, and a link is printed in the session.
- Only one instance per workspace; existing instances are reused, no duplicate starts.
LLM merge agent¶
- When merging a lane into
taskswarm/orchresults in a conflict, an independent merger agent performs semantic resolution. - If unresolved, the lane enters a
conflictstate and pauses the batch.
Installation and Enabling¶
First, install the npm package:
dsh plugin --profile web add dsh-taskswarm
After installation, restart:
Restart dsh web
The plugin takes effect when DSH starts.
Between 2026-08-17 and 2026-08-18, the npm package dsh-taskswarm was removed from the registry and required installation from GitHub; as of 2026-08-19, the npm package has been restored.
When upgrading an installed version, if executed directly:
dsh plugin --profile web add dsh-taskswarm
It may report Already up to date. In this case, you need to explicitly specify the new version:
dsh plugin --profile web add dsh-taskswarm@<new-version>
Or run:
pnpm update --latest
Restart dsh web after completion.
Typical Usage¶
First, create example task packets:
/tswarm-init
This command creates two example task packets: EXAMPLE-001 and EXAMPLE-002.
Then preview the wave plan:
/tswarm-plan all
This step only previews the task plan after grouping by dependencies, without executing tasks.
Then start the batch:
/tswarm all
Run all tasks in parallel; you can also run a single task:
/tswarm EXAMPLE-002
Check progress at any time:
/tswarm-status
Open the dashboard:
/tswarm-dashboard
You can also start it with the standalone CLI:
npx taskswarm-dashboard --root <repo>
Or, without installing the plugin first, obtain it temporarily via npx:
npx --package dsh-taskswarm taskswarm-dashboard --root <repo> [--port 8100] [--no-open]
When starting a batch, the dashboard starts and prints a link in the session.
Validate task packets:
/tswarm-check
Or:
npm run check:tasks
State and Git Model¶
Persistent state is located at:
<repo>/.taskswarm/
Batch status files are:
.taskswarm/batches/<batchId>.json
In the Git model, taskswarm/orch is the integration branch where all lane outputs are merged; it should be preserved and not deleted.
The baseline of the lane worktree comes from the taskswarm/orch HEAD, so the lane inherits previously merged outputs.
Applicable Scenarios and Notes¶
Suitable for scenarios where a batch of related tasks requires dependency sorting, parallel execution, workspace isolation, review merging, and crash recovery.
Notes:
- The plugin runs with the permissions of the current
dshprocess and can access the repository, git status, and local ports; you should check the source code, dependencies, and MIT license before installation. taskswarm/orchis the integration branch; do not accidentally delete it.- If you remain on an old version after upgrading, you need to explicitly specify the new version or update dependencies, then restart
dsh web. - It is published in a community directory; the directory is a separate site and should not be regarded as an official app store.
Links¶
- Directory page: https://www.skillhub.cn/plugins/february2015/dsh-taskswarm
- GitHub: https://github.com/february2015/dsh-taskswarm