← 返回列表
未验证
自动为已注册工作区授予文件写入权限,免配置
尚未跑自动兼容性验证,可查看页面内的依赖与入口分析。 · 最近上游提交 2026/8/29 · 已提供中文文档
综合分
28.9
GitHub 分
28.9
用户评分
—
★ Stars
1
周下载量
—
兼容 / 相关生态插件(非 dsh 原生,请按其对应运行时安装)
git clone https://github.com/somnusovis/dsh-multi-workspace.git数据截至 2026/9/16(元数据每日更新 · 实装验证按队列轮转,单条结论的验证时间见上方)
依赖的 DSH / Cordis 模块
@deepseek-ai/cordis用户评分
还没有人投票,来当第一个
订阅周报,不错过优质插件更新
每周一封 · 高评分插件 + 新用户活动
README
dsh-multi-workspace
DeepSeek Harness(DSH)的多工作区沙箱。
自动为所有已注册的工作区授予文件写入权限——在 UI 中添加工作区后即可立即写入,无需任何配置。
问题
默认情况下,DSH 文件沙箱只允许写入一个工作区目录(会话 cwd)。写入其他目录需要沙箱提权。
解决方案
本插件在每次沙箱策略检查时读取实时工作区注册表,并将每个已注册的工作区路径注入为额外的可写根目录。
工作原理
两层机制:
1. 包装 sandboxPolicy.resolve(),附加工作区路径
2. 包装 fs.writeText/editText,在每个工作区根目录上提供重试回退
限制
- Shell 命令仍被限制在会话工作区内。 多工作区扩展仅适用于 fs 工具
(第 2 层会以目标工作区的根目录重新发起每次被拒绝的写入)。命令沙箱接缝
(@deepseek-ai/dsh-sandbox-local、windows-acl / bwrap / seatbelt)只读取
单个 policy.workspaceRoot,因此 pwsh / bash 在会话工作区之外的写入
仍会被拒绝。
- fs 回退会在 workspace-write 下静默重试,而不经过审批流程。
这正是本插件预期的“立即写入”行为——请确保已注册的工作区是可信的。
- 被包装的 resolve() 必须返回一个普通对象(自有
mode / workspaceRoot / sessionId):执行器会展开策略
({ ...policy }),而基于原型的副本会静默丢弃这些键,
导致 windows-acl 运行器失败并报 --workspace undefined
(SANDBOX_UNAVAILABLE)。test/smoke.mjs 对此回归进行了防护。
安装
dsh plugin --profile web add github:somnusovis/dsh-multi-workspace
Or from npm (once published)
dsh plugin --profile web add dsh-multi-workspace
重启 DSH web 服务并刷新浏览器。
许可证
MIT扫码进群