DeepSeek Harness Hub
← 返回列表

多工作区沙箱somnusovis/dsh-multi-workspace

DeepSeek 客户端兼容 / 相关生态spec-screened在 GitHub 查看 ↗
未验证

自动为已注册工作区授予文件写入权限,免配置

尚未跑自动兼容性验证,可查看页面内的依赖与入口分析。 · 最近上游提交 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

上游仓库有新提交时邮件通知你(每天最多一封,无更新不打扰),随时一键退订。

💬 加入 DPharness 群聊

插件用法、部署报错、新插件第一时间同步——群里问,比一个人翻文档快。

点击加入 QQ 群
DPharness 群聊二维码,手机 QQ 扫码进群
扫码进群