dsh-tower: A Multi-Agent Control Tower Plugin for DeepSeek Harness
louifinn/dsh-tower
Tower is a multi-agent orchestration DSH plugin for DeepSeek Harness: it turns a session into a control tower where workers implement missions in isolated Git worktrees and merge back through review-gated checks.
dsh-tower is a multi-agent orchestration plugin for DeepSeek Harness that turns one session into a control tower while workers implement missions in isolated Git worktrees. It targets the difficulty of landing parallel agent changes safely in one repository, defining done through task contracts, test evidence, and optional independent review. Core capabilities include a configurable Tower mode, mission-level branch isolation, merge gates, persisted collaboration state, and stable error codes, released under the MIT license.
How to Install
dsh plugin --profile web add dsh-tower- Category
- Tools & Capabilities
- Platform
- DSH Plugin
- Author
- louifinn
- Distribution
- Plugin
dsh-tower Key Features
dsh-tower Repo Summary
What Does It Do?
Tower is a DSH plugin for DeepSeek Harness that turns a single agent session into a small engineering team: the session acts as the control tower, worker agents implement missions inside isolated Git worktrees, and changes merge into the baseline branch through scope and merge gates. It solves the problem of running multiple agents against a repository without a safe way to land their work, defining "done" as tasks plus test evidence and optional independent review rather than a chat message. Core capabilities include a configurable Tower mode, mission-level isolation, review-gated merges, resumable collaboration state, and stable error codes. It is maintained by louifinn under the MIT license, inspired by the experimental Tower mode in Kimi Code.
Core Features
- Configurable Tower mode:
/towerswitches a session-level mode that narrows the tool surface and injects the Tower protocol; agents may enter and exit with a reason by default, or you can restrict control to humans only. - Mission-level isolation: every mission gets its own branch and Git worktree, so workers never touch your main checkout.
- Review-gated merges: with review required, a reviewer reports on the current branch tip, and the merge gate re-checks scope, branch freshness, task completion, and worktree ownership before merging.
- Resumable collaboration state: roster, inbox, findings, reviews, and mission state persist under
.git/dsh-tower/, so plans survive restarts. - Traceable finding lifecycle:
tower_findingsmoves items throughopen → triaged → fixedorwontfix, and only the tower or a worker can change status. - Repo-level config and stable error codes: a per-repository config file overrides review/merge/worktree/spawn policy, and tool failures carry a
[tower:]prefix for reliable branching.
How to Use This Plugin?
After enabling it in DSH, run /tower on to enter Tower mode, then call tower_init to record the base branch, tower_plan to declare 2–8 missions with clear scopes, and tower_spawn to start a worker. The worker implements and commits inside its worktree, then calls tower_complete, which returns the final report to the control tower; if an agent drifts, stop it with tower_interrupt or an interrupt-flagged tower_send. Tower fits repository changes that split into independently reviewable missions, while single-file hotfixes, open-ended research, and cross-repo work are poor fits; it also rejects Team, Workflow, Ralph, and plain subagent tools so two orchestration protocols never drive one session.
How to Troubleshoot This Plugin?
Tool failures return stable error codes with a [tower:] prefix that point to the cause: mission-not-found means the mission identifier does not exist, so check the IDs produced by tower_plan; preset-missing means a referenced preset is absent, so restore it per the official instructions; config-invalid means the repo-level config is malformed, so verify its fields and values. If a merge is rejected by the gate, the usual causes are out-of-scope changes, a stale branch, incomplete tasks, or missing review records; fix each item the gate reports and retry.
This page is an independent rewrite of the plugin's official README — for authoritative documentation and the latest changes, refer to the source: louifinn/dsh-tower. The plugin is third-party code that runs on your machine once installed; inclusion does not imply endorsement — please review the source before installing.
