Multi-workspace sandbox: grants file-write access to every registered workspace automatically — add a workspace, write to it immediately, no config or escalation needed.
Install
# from GitHub (first run asks for allowBuilds approval — follow the hint, retry)
dsh plugin --profile web add github:somnusovis/dsh-multi-workspace
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
Multi-workspace sandbox for DeepSeek Harness (DSH).
Automatically grants file-write access to ALL registered workspaces — add a workspace in the UI, write to it immediately, no config needed.
Problem
By default, DSH file sandbox only allows writes to one workspace directory (the session cwd). Writing to other directories requires sandbox escalation.
Solution
This plugin reads the live workspace registry on every sandbox policy check and injects every registered workspace path as an additional writable root.
How it works
Two layers:
- Wraps sandboxPolicy.resolve() to attach workspace paths
- Wraps fs.writeText/editText with retry fallback on each workspace root
Limitations
- Shell commands stay confined to the session workspace. The multi-workspace
widening applies to the fs tools only (layer 2 re-issues each denied write
with the target workspace's root). The command sandbox seam
(
@deepseek-ai/dsh-sandbox-local, windows-acl / bwrap / seatbelt) reads only the singlepolicy.workspaceRoot, sopwsh/ bash writes outside the session workspace are still denied. - The fs fallback silently retries under
workspace-writewithout going through the approval flow. That is the plugin's intended "write immediately" behavior — make sure the registered workspaces are trusted. - The wrapped
resolve()must return a plain object (ownmode/workspaceRoot/sessionId): executors spread the policy ({ ...policy }), and a prototype-based copy silently drops those keys, making the windows-acl runner fail with--workspace undefined(SANDBOX_UNAVAILABLE).test/smoke.mjsguards this regression.
Installation
dsh plugin --profile web add github:somnusovis/dsh-multi-workspace
# Or from npm (once published)
dsh plugin --profile web add dsh-multi-workspace
Restart DSH web service and refresh browser.
License
MIT
Links
More in this category
Tencent/WeKnora#dsh-weknora★ 37401
Four read-only tools over a WeKnora knowledge base: list knowledge bases, hybrid passage search, reassemble one document's chunks in order, and WeKnora's own cited RAG or ReAct-agent answer with a resumable session id.
DayuanJiang/next-ai-draw-io#dsh-plugin★ 36932
Draws draw.io diagrams in DeepSeek Harness through the next-ai-drawio MCP server: the link in the reply opens a live preview in the right sidebar, you can edit the diagram by hand, and each AI change is a version you can restore. Node.js 18+; npx downloads the MCP server on first use.
superdesigndev/treg★ 7929
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.
T-Auto/dsh-ops★ 5798
Provides bash, PowerShell 7, and high-performance Rust tools for DSH on Windows to reduce token usage.
sixtysevenlf/dsh-blender-plugin★ 2081
Lets a DSH agent drive a local Blender over a direct TCP channel with 15 tools: viewport frames, custom-angle renders, Python execution, headless and job offload, transaction rollback, and a planning layer of 228 ops across 34 families.
yjl9903/AnimeGarden#dsh★ 1400
Anime Garden for DSH: search anime torrent resources from 動漫花園, 蜜柑计划, 萌番组 and ANi inside DSH — via chat, a sidebar panel with fansub and type filters, a seasonal calendar, and an in-app floating player.
Community comments
Comments are public GitHub Discussions. Loading them connects to GitHub and Giscus; a GitHub account is required to post.