MIT-licensed DSH plugin (TypeScript) that registers additional project roots with per-root access levels, a Folders dialog, Files-tab browsing and namespaced skills.
DSH integration
Native runtime
Author-claimed
Safety audit
Unaudited
Last verified
2026-11-10
License
MIT
01What can it help you accomplish?
Let a DeepSeek Harness agent work across several independent Git repositories in one session
One primary root plus up to 16 additional roots per session, each with its own access level
Developers whose project is several repositories rather than one monorepo
Grant a narrower permission than the session mode without changing the agent's tools
A three-state access level per root — inherit, read-only, read-write — enforced by an in-process fence plus a kernel sandbox
Teams that want an agent to read a shared repo but never write to it
Browse and preview files in the extra roots from the Files tab
A root switcher in the Files tab header, with the native tree, lazy loading, watch refresh and open-in-app behaviour kept per root
Users who need to inspect files outside the primary workspace
02How to install into DeepSeek Harness
Prerequisites
- A DSH version from the plugin's exact-match support table — 0.1.5-rc.2 through 0.2.2-rc.1 depending on the series; if the version is not listed or the @deepseek-ai/dsh-* packages disagree, the plugin does not start
- A supported runtime platform: macOS (Seatbelt), Linux (bwrap / Landlock) or Windows (root-set ACL runner)
Installation steps
- 01
From the DSH sidebar Plugins page click Add plugin and enter `@dsh-electron/dsh-plugin-multi-root-workspace`, or run `dsh plugin --profile web add @dsh-electron/dsh-plugin-multi-root-workspace`
$ dsh plugin --profile web add @dsh-electron/dsh-plugin-multi-root-workspace
- 02
On the first install `dsh plugin add` may fail with [ERR_PNPM_IGNORED_BUILDS]: add `koffi: true` under allowBuilds in the profile's pnpm-workspace.yaml and run add again
$ dsh plugin add
- 03
Start DSH with your profile; a Folders (🗂) action appears at the bottom of the sidebar
- 04
Register an extra root with `/workspace-folders add ~/code/another-repo [--inherit|--read-only|--read-write]`
Verify the integration
- `dsh --profile web --dump-config | grep -A3 'multi-root'` shows the upstream fs-sandbox and sandbox rows disabled and the plugin's multi-root-* rows mounted
03DSH integration and capability boundaries
A DSH plugin installed into a profile with `dsh plugin add`; it disables the upstream fs-sandbox and sandbox rows and takes them over with its own multi-root-* rows, adding a Folders action and the /workspace-folders command.
/workspace-folders command family
an absolute path, a root order number or path, and an access level→list / add / access / skills / alias-id / alias / remove / reveal / isolate-profiles operations on the registered roots
paths that duplicate, nest inside, or equal the primary root are rejectedFolders dialog and Files-tab root switcher
the sidebar Folders action (and, on DSH 0.2.1-alpha.3+, the new-session hero row entry)→one dialog to add, remove, alias, switch access and reveal roots; a root switcher in the Files tab header
at window widths of 560px or less the hero entry collapses to an icon buttonSkills from additional roots
`.dsh/skills` and `.agents/skills` inside a registered root→skills callable as `/alias-id:skill-name`, with per-root on/off and an editable aliasId
the global enable toggle lives in Settings → Plugins → Multi-root Workspace and is on by defaultOptional Auto review adaptation
the default-off auto-review row enabled in the plugin manager→multi-root context (topology, per-root access level, live instruction files) supplied to the Reviewer
it takes over the official bundle of the same name when enabled, and only targets DSH 0.2.1-rc.2
04Who is it for? When not to use it?
Good for
- Developers whose project is several repositories rather than one monorepo
- Teams that want an agent to read a shared repo but never write to it
- Users who need to inspect files outside the primary workspace
Not for
- Support is an exact DSH version allowlist; when the host version is not listed or the core packages are mixed, the fs / sandbox / registry / instructions / lsp / workspace-files rows do not start and the setup degrades to not having the plugin installed.
- On Windows, UNC paths, \\?\ and \\.\ device paths and mapped network drives are rejected at registration with unsupported-path, because a restricted token's capability SID cannot bind SMB access.
- The confined Windows shell is pwsh and does not include Git Bash; MSYS cannot start under a restricted low-integrity token.
- Access is three-state: inherit follows the session mode, read-only refuses writes in every mode including full access, and read-write stays writable even in a read-only session. Already-started processes and persistent terminals keep the deny set they started with.
05Compatibility, maintenance and safety notes
- Support is an exact DSH version allowlist; when the host version is not listed or the core packages are mixed, the fs / sandbox / registry / instructions / lsp / workspace-files rows do not start and the setup degrades to not having the plugin installed.
- On Windows, UNC paths, \\?\ and \\.\ device paths and mapped network drives are rejected at registration with unsupported-path, because a restricted token's capability SID cannot bind SMB access.
- The confined Windows shell is pwsh and does not include Git Bash; MSYS cannot start under a restricted low-integrity token.
- Access is three-state: inherit follows the session mode, read-only refuses writes in every mode including full access, and read-write stays writable even in a read-only session. Already-started processes and persistent terminals keep the deny set they started with.
- Command output text is English because the host side has no active-language information, while panel text is bilingual and follows the interface language.
MIT · latest release v0.1.16 (2026-11-08); exact-match DSH version allowlist, upstream packages are never modified
06Frequently asked questions
How do I install Multi-root Workspace?
Click Add plugin on the DSH Plugins page and enter `@dsh-electron/dsh-plugin-multi-root-workspace`, or run `dsh plugin --profile web add @dsh-electron/dsh-plugin-multi-root-workspace`. On the first install you may need to add `koffi: true` under allowBuilds in the profile's pnpm-workspace.yaml and run add again.
How do I add a directory?
Use `/workspace-folders add ~/code/another-repo [--inherit|--read-only|--read-write]`, or open the Folders dialog from the sidebar. The default access level for a new root is inherit, which follows the session mode.
Does it add new tools the agent can call?
No. The README states the agent keeps using the native read / write / edit / bash tools; only the set of authorised directories grows.
Which DSH versions are supported?
Only the exact versions listed in the support table, from 0.1.5-rc.2 through 0.2.2-rc.1. If your version is not listed, or the @deepseek-ai/dsh-* packages are mixed, the plugin does not start and behaves like it is not installed.
Can a read-only root be written to in full-access mode?
No. A read-only root refuses writes in every mode including full access; the documented exception is a one-off escalation the user approves for a single call.
07Related DSH workflows
dsh-our-free-model
by ebony-vinyl
Adds model choices, availability checks, usage panels, and a local OpenAI-compatible forwarder.
dsh-routing-suite
by yjh051108
dsh-routing-suite — injector + router-standard kit: install the runtime injector first, then the task-aware reasoning-mode router preset (measured P1-P23).
dsh-ops
by t-auto
Run Bash and PowerShell commands, search and edit local files, and manage long-running background jobs from DSH.
brooks-lint
by hyhmrright
Portable AI code quality reviews for Codex, Cursor, Copilot and other coding agents: six Agent Skills for architecture, technical debt, tests and remediation.
08Data and sources
本插件将 DSH 的工作区范围拓展到“一个主目录 + 多个附加目录”。
dsh plugin --profile web add @dsh-electron/dsh-plugin-multi-root-workspace
This page is generated from the project’s public documentation, repository metadata and a structured parse of DSH Plugins; last verified on 2026-11-10. Found an error? Submit a correction.
Best DeepSeek Harness Plugins
Twelve plugins worth installing first — picked from the whole catalog, across every category.
