Introduction¶
The core philosophy of DeepSeek Harness (DSH) is “everything is a plugin.” In agent development or code authoring workflows, it is often necessary to isolate code changes in an independent environment and validate them before final delivery. The dsh-worktree-studio plugin addresses the pain point of manually managing multiple Git worktrees and DSH sessions. It establishes a one-to-one mapping relationship among Git branches, worktrees, and DSH Workspaces and Sessions.
Plugin Positioning¶
- Name:
palaiologos1453/dsh-worktree-studio - Positioning: A human-operated Git worktree task board designed specifically for DeepSeek Harness
- Maintainer: Palaiologos1453
- License: MIT
Core Features¶
This plugin mainly provides the following capabilities:
- Isolated branches and worktrees: Create independent branches and associate them with the corresponding worktree.
- Native session integration: Check out a worktree as a native DSH Workspace and Session.
- State validation: When recording validation results, generate a token (SHA-256) based on the exact Git content state, ensuring that the validation result matches the current code.
- Merge preview: Use
git merge-treeto preview merge feasibility without modifying the target checkout directory. - Delivery gating: Re-check all delivery conditions before merging.
- Non-invasive design: It does not register model tools, modify system prompts, or add tool modes. The board and commands are outside the model context and do not increase prompt token consumption.
Installation and Enabling¶
Before installing, ensure that the environment requirements are met (see “Notes” below).
- Install the prebuilt npm package:
dsh plugin --profile web add dsh-worktree-studio
dsh web
- After installation, the Worktree tasks button appears at the bottom of the Web sidebar.
Typical Usage¶
The plugin manages the task workflow through the Web board and local commands.
Command List¶
All commands are handled locally and are not sent to the model:
/worktree-studio list
/worktree-studio create <title>
/worktree-studio inspect <id>
/worktree-studio validate <id> <command...>
/worktree-studio preview <id>
/worktree-studio deliver <id>
/worktree-studio archive <id>
/worktree-studio recover
Basic Workflow¶
- Create a task: Register the repository in the Web board and create a task.
- Develop: The plugin creates a
dsh/<task>-<id>directory, registers it as a Workspace, and starts a Session. Commit code within this Session. - Validate: Run “Validate” on the board to execute the specified command (e.g.,
pnpm test). - Preview: Use “Review” to inspect changes and “Merge check” to test merging the current commit into the target branch.
- Deliver: Run “Deliver”; the system rechecks the content token, validation results, and merge feasibility, and only performs a non-fast-forward merge after confirmation.
- Archive: Archiving removes clean worktrees while retaining the records; discarding requires confirming the task ID.
Notes¶
Environment Requirements¶
- DeepSeek Harness: 0.1.0-rc.7 or a compatible 0.1.x version.
- Node.js: 22.19.0 or later.
- Git: 2.38 or later (must support
merge-tree --write-tree). - Local repositories: The plugin manages local repositories only and does not involve pushing to a remote or creating Pull Requests.
Functional Limitations¶
- Delivery mechanism: Delivery merges only committed changes and does not copy uncommitted worktree contents to the target checkout directory.
- Data cleanup: Archived and discarded records remain in
tasks.json; the plugin currently does not provide an automatic cleanup feature. - Security: The plugin provides Host routing through loopback connections and same-origin markers, but the execution boundary is not authentication; local processes with the same permissions can still invoke it.
Summary¶
dsh-worktree-studio provides DeepSeek Harness with a code delivery workflow centered on human decision-making. Through Git worktrees and a state-token mechanism, it achieves isolated validation and safe merging of code changes without increasing the model context burden.
For more details and source code, see: GitHub | Community catalog