dsh-sandbox-mxc
在终端中运行以下命令:
dsh plugin install bitsmug/dsh-sandbox-mxc
将以下提示词粘贴到 DeepSeek Harness 对话框中:
在 DeepSeek Harness 配置或终端中执行 dsh plugin install bitsmug/dsh-sandbox-mxc,即可从 https://github.com/bitsmug/dsh-sandbox-mxc 安装本 MXC 沙箱提供者插件。
插件介绍
在 Windows 上跑 DeepSeek Harness 时,默认的本地沙箱未必能满足你对进程隔离强度的预期。本插件把 harness 的 sandbox 服务接到 Microsoft 执行容器(MXC)上:在真正 spawn 子进程前,用 wxc-exec 把完整 argv 包进容器,让 read-only、workspace-write 等策略通过 harness 统一的 writableRoots 与路径语义落地,而不是在插件里另写一套规则。
实现上刻意不 import @microsoft/mxc-sdk 的原生绑定,只依赖包内解析出的 wxc-exec 可执行文件,因此不受 SDK 对 Node 版本的 stdio 限制拖累,可与 harness 自带的 Node 一起工作。找不到 wxc-exec 时会 fail closed(SandboxUnavailableError),不会悄悄以无沙箱方式执行。针对 MXC 在 AppContainer+DACL 层面对路径与 ACL 的苛刻要求,插件会过滤不存在的路径,并在无法 DACL 增强时丢弃单条路径并说明原因,尽量让命令仍能跑起来。
容器内 Node 无法创建命名管道,默认会通过 NODE_OPTIONS 注入轻量 shim,让同步子进程走文件描述符而非挂死;需要异步 child_process 的场景应放在容器外或关闭该选项。网络默认阻断、剪贴板与宿主隔离,UI 相关策略按 MXC 与 harness 的约定固定,安全姿态在 README 中有实测记录(含 Win10 DACL 与 Win11 BaseContainer 差异)。
适合在 Windows 11(或能接受 Win10 DACL 层限制)上部署 DSH、希望用 MXC 替代 dsh-sandbox-local、且已准备好 wxc-exec 与非 MSIX 版 PowerShell(并将其安装目录列入只读路径)的运维与开发者。
使用场景
- 在 Windows 上为 Harness 代理命令启用 MXC 级进程与文件系统隔离
- 需要将默认 dsh-sandbox-local 替换为更强 Windows 后端且保持同一 sandbox 服务接口
- 在 Win10/Win11 上按策略运行 pwsh、Node 等工具并默认阻断外网与剪贴板互通
适合人员
- 在 Windows 部署 DeepSeek Harness 的平台或安全工程师
- 需要可控 workspace-write/read-only 策略的 AI 代理运维人员
- 已具备 wxc-exec 与非 MSIX PowerShell 环境的 Windows 开发者