Domi-grade git worktree isolation and delivery: permanent worktrees under .dsh-worktrees, ready-for-review / apply / finish / discard lifecycle with conflict handling and safe cleanup (ported from Domi's production system).
Install
# from npm (prebuilt)
dsh plugin --profile web add dsh-git-worktree
# from GitHub (first run asks for allowBuilds approval — follow the hint, retry)
dsh plugin --profile web add github:wloops/dsh-git-worktree
Any plugin you install runs third-party code with your own permissions — it can read your files, use your credentials, and reach the network, and tool approvals don’t sandbox it. GitHub-sourced plugins also run build scripts at install time. Only install sources you trust, and pin a commit (github:owner/repo#sha).
README
Domi-grade git worktree isolation and delivery for DeepSeek Harness: permanent worktrees, a ready-for-review / apply / finish / discard lifecycle, conflict handling, and safe cleanup.
Ported from Domi's production worktree system (Session Target / Isolated Checkout), with the Local-preview surface removed to match the DSH sandbox model.
What you get
| Capability | Description |
|---|---|
worktree_create / worktree_list / worktree_remove |
Permanent detached worktrees under <repo>/.dsh-worktrees/, recorded in a per-repo manifest and registered as DSH workspaces |
worktree_ready_for_review |
Agent submits review facts (summary, validation tests, suggested commit message) |
worktree_apply |
Deterministically merge the worktree's changes into your Local checkout — conflict-aware, fingerprint-CAS, never touches Local until the plan is verified |
worktree_finish |
Commit the task delta onto your Local branch while preserving your own staged/working state |
worktree_discard |
Drop the worktree (dirty confirmation required) |
/worktree |
Human-facing command surface |
| Safe cleanup | Retained worktrees expire, residue is quarantined, dirty worktrees are never silently deleted, no global git worktree prune |
Why worktrees live inside the repo
DSH's workspace-write sandbox grants exactly the session workspace root. Worktrees therefore live at <repo>/.dsh-worktrees/<name> (same pattern as Codex's .codex/worktrees), so agent file tools and git operations stay inside the sandbox.
Install
# from npm (recommended)
dsh plugin --profile web add dsh-git-worktree
# or from GitHub source (built on install via the prepare script)
dsh plugin --profile web add github:wloops/dsh-git-worktree#v0.1.2
Git installs build the package on the fly. On pnpm ≥ 10 that build script is
blocked until allowed: add dsh-git-worktree: true under allowBuilds in the
profile's pnpm-workspace.yaml, then re-run the add command.
Status
Pre-release (0.1.0). The state machine and apply engine are ported from Domi's production code (journal-based crash recovery, fingerprint CAS, Windows cleanup retries); the DSH tool surface is new and being hardened. Requires DSH 0.1.0-rc.6 line (@deepseek-ai/dsh-tools / dsh-subprocess / dsh-commands).
License
MIT
Links
More in this category
liustack/modlens★ 1582
Vision bridge for text-only models: paste an image, get structured JSON evidence (OCR, layout, semantics).
superdesigndev/treg★ 412
Tool catalog for agents: search ~2,600 external endpoints (SEO and SERP, backlinks, social, people and company enrichment, ad libraries, scraping) by the task you want done, read each one's parameters and per-call price, then call it with the credential injected server-side. Ships the skill plus an MCP row that stays disabled until TREG_TOKEN is set.
Anionex/dsh-vision-toolkit★ 395
Vision tasks for text-only models: intent-aware image Q&A, long-screenshot OCR, UI reproduction, grounding, and pixel diff.
zhaoolee/notes★ 141
Export DSH conversations as Smartisan Notes-style PNGs, or create and update Markdown notes in a configured account-scoped workspace.
Lum1104/dsh-browser★ 129
Chrome sidebar extension that lets DSH operate your browser directly, no vision capabilities required.
liustack/modsearch★ 101
Web search bridge for text-only agents: ask the web or X, get structured JSON evidence (search, fetch, citations).