dsh-write-protect
在终端中运行以下命令:
dsh plugin install azazo1/dsh-write-protect
将以下提示词粘贴到 DeepSeek Harness 对话框中:
在 DeepSeek Harness 终端中执行 dsh plugin install azazo1/dsh-write-protect 即可安装,源码见 https://github.com/azazo1/dsh-write-protect
插件介绍
官方 DSH 沙箱只提供两档策略——整个工作区可写,或全部只读。开发者无法单独保护 .git、build/ 或某段配置路径,也无法把工作区外的一个相邻目录并进取写白名单而不把整个宿主文件系统打开。模型在 workspace-write 下改写版本控制元数据或覆盖关键文件时,此前没有任何精细手段可以拦截。
dsh-write-protect 用 gitignore 语义声明只读路径(支持 *、**、?、字符类、锚定、取反、目录标记),write/edit 工具在全平台逐路径实时判定;同时接受字面路径作为额外可写根,让 bash 与 write/edit 触达相邻目录而不必升到 danger-full-access。macOS 上追加 Seatbelt 拒绝规则堵住 launchd broker 逃逸通道;Linux 上叠加 bwrap 只读挂载或 Landlock 策略,读取始终不受影响。配置改后即时生效,无需重启 dsh web,也可在 Web Settings 面板中可视化编辑和预览。
适合在 DSH 中运行多步代码生成、需要保护 .git 与构建产物不被模型触碰的开发者,或需要 shell 命令访问工作区外指定目录的场景。支持逐会话独立生效,也支持部署级全局覆盖。
截图预览
使用场景
- 防止模型在 workspace-write 下改写 .git 或版本控制元数据
- 限制模型对构建产物或系统路径的写入权限
- 让 bash 命令访问工作区外的相邻目录而不必开启 danger-full-access
适合人员
- 在 DSH 中运行多步代码生成并需保护工作区内特定路径的开发者
- 需要精细控制工作区内外写权限、避免全放开的安全敏感团队
- 部署 Linux bwrap 或 macOS Seatbelt 沙箱并追求内核级加固的工程团队