Git worktree panel for DSH Web: replaces the workspace sidebar with project → main/linked worktree → session groups, creates and removes worktrees, switches the main branch, and migrates configurable project-local or global storage with dirty-tree and active-session safeguards.
Install
# from GitHub (first run asks for allowBuilds approval — follow the hint, retry)
dsh plugin --profile web add github:HeathHe/dsh-worktree-panel
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 — pnpm blocks those until you allow them, so an install can stop with ERR_PNPM_GIT_DEP_PREPARE_NOT_ALLOWED or ERR_PNPM_IGNORED_BUILDS; dsh prints the exact key to add under allowBuilds in your profile’s pnpm-workspace.yaml, and the install works on the next run. Allowing a build is a trust decision: only install sources you trust, and pin a commit (github:owner/repo#sha).
README
A Git worktree and branch-management panel for the DeepSeek Harness Web GUI. It extends the official workspace/session sidebar with a project → main working tree / branch worktree → session hierarchy while preserving the original workspace interactions.
Usage
Install
dsh plugin --profile web add dsh-worktree-panel
Restart dsh web after installation. The worktree hierarchy will then appear in the workspace sidebar.
Install a specific version:
dsh plugin --profile web add dsh-worktree-panel@0.1.6
Upgrade
dsh plugin --profile web add dsh-worktree-panel@<version>
# Restart dsh web afterwards.
Local development
dsh plugin --profile web add link:/absolute/path/to/dsh-worktree-panel
Features
- Main working tree + branch worktrees — displays the main working tree, current branch, clean/modified state, and linked branch worktrees inside each project group.
- Session management — starts sessions inside a worktree, removes worktrees, and switches the main working tree branch.
- One-click creation — creates a worktree for an existing branch or creates a new branch and its worktree.
- Session-first non-Git folders — the project-row plus button starts a conversation directly. “Initialize Git and enable worktrees” is available from the project actions menu.
- Configurable storage — stores worktrees in
<project>/.dsh/workspaces/by default or in a custom global directory. - Safe migration — detects and migrates existing worktrees when the storage location changes, while skipping worktrees with uncommitted changes or active sessions.
- Progressive enhancement — non-Git workspaces retain the default session workflow and only gain an optional Git/worktree initializer.
Compatibility
- Tested with DSH Desktop 2.0.3 / DeepSeek Harness 0.1.1-rc.2.
- DSH peer dependency range:
>=0.1.1-rc.2 <0.2.0. - Uses a dedicated Worktree settings page through
settings.section. - Supports the current Host description store and home-directory path abbreviation.
Generated client bundle
lib/client.js is generated by lib/build.mjs from the official @deepseek-ai/dsh-client-ui-workspace browser bundle. The build validates the upstream package version and records it in the generated file header.
The build also synchronizes dsh.client.external in package.json with the modules required by the client bundle, so DSH loads their code before starting the plugin. The inject service declaration does not replace this module-loading declaration.
Use an explicit upstream bundle when needed:
DSH_WORKSPACE_BUNDLE=/absolute/path/to/client.js npm run build
License
MIT. lib/client.js is derived from @deepseek-ai/dsh-client-ui-workspace; see NOTICE and LICENSE.
Links
More in this category
zhu1090093659/dsh-web#packages/dsh-git-graph★ 8759
Git branch selector and Git graph for the dsh web GUI: switch branches and explore branch-lane and commit history from the conversation header.
Akimiya-z/codex-guard#dsh★ 136
Pre-submit pull-request hygiene checks inside DeepSeek Harness: scans the current diff for TODO leftovers, hardcoded secrets, and non-conventional commit subjects.
Cerbur/clutch-dsh#clutch-dsh-worktree★ 34
Adds a Worktree view to DSH Web UI that groups Sessions by Git worktree while keeping DSH as the source of truth.
lehhair/dsh-diff-viewer★ 26
PiUI-style diff viewer replacing the stock DiffBlock for write/edit tool calls.
DamonKoy/dsh-web-ui#dsh-git-graph★ 24
Git branch selector and Git graph in the conversation header of the dsh web GUI.
PerryLink/dsh-github★ 22
Official-grade GitHub CI integration: a composite action.yml, a polling PR review bot with idempotent inline comments and a status-check gate, plus PR/issues tools with every write gated by human approval.
Community comments
Comments are public GitHub Discussions. Loading them connects to GitHub and Giscus; a GitHub account is required to post.