DeepSeek Harness 沙箱有什么用?DSH plugin 的三种 SandboxMode 权限

概念与架构发布于 2026-10-03作者: DeepSeek Plugin 插件市场
DeepSeek HarnessDSH plugin沙箱SandboxMode权限
DeepSeek Harness 的 dsh-sandbox 用 SandboxMode 管控文件系统效果,分 read-only、workspace-write 与 danger-full-access 三档:只读不能写、工作区可写限在目录内、完全访问不加限制。网络与进程可见性不在这套沙箱范围内。

DeepSeek Harness 的 dsh-sandbox 用 SandboxMode 管控文件系统效果,分 read-only、workspace-write 与 danger-full-access 三档:只读不能写、工作区可写限在目录内、完全访问不加限制;网络与进程可见性不在这套沙箱范围内(来源)。 沙箱存在的理由很直接:既然模型能通过工具让命令真正跑起来,就必须有一条边界来约束「跑起来之后能动什么」。这篇讲这三档各是什么、边界在哪、怎么选;插件的权限边界见《dsh plugin 的能力与权限边界》,命令执行相关报错见《沙箱升级报错怎么修》。

为什么需要沙箱:给执行划一条边界

模型本身不能动文件,但它可以通过工具请求执行命令——一旦命令真的跑起来,副作用就发生在你的机器上,沙箱就是为这条执行路径划出的文件系统边界(来源)。 把因果链摆清楚:

  1. 能力来自工具:模型能执行命令,是因为有工具把请求转成了真实进程;没有工具,它连「请求执行」都做不到。
  2. 副作用来自真实进程:命令一旦执行,读写的是真实的文件系统,所以约束必须落在执行这一侧,而不是指望模型自觉。
  3. 约束需要档位化:不同任务对写入的需求差别很大——有的只需读、有的要在项目内改、少数确实需要全盘权限,一刀切既不安全也不好用。
  4. 档位带来可预期的默认值:有明确的三档,用户就能用「从紧到松」的方式起步,而不是每次都被迫做全有或全无的选择。

DeepSeek Harness 沙箱的三档 SandboxMode

DeepSeek Harness 的 SandboxMode 分三档:read-only、workspace-write 与 danger-full-access,档位决定执行的写入被限制到什么程度(来源)。 逐档看:

  1. read-only:不允许写入,执行只能读。适合「只想看不想改」的场景,比如检索、分析、生成报告。
  2. workspace-write:允许写入,但限制在工作区目录内。这是日常使用的中间档——既能让任务真正产出文件,又不会把改动扩散到项目之外。
  3. danger-full-access:不加这层文件系统限制,能力最强也最需要谨慎。名字里的 danger 不是修辞,它意味着执行可以写到任意位置。

档位构成一条从紧到松的阶梯:越宽的能力,越容易在需要时触发审批,这也是「升级」这件事存在的原因。

它只管控文件系统效果

DeepSeek Harness 的这套沙箱只管控文件系统效果,网络与进程可见性不在范围内(来源)。 这条边界必须说清楚,否则很容易高估它的保护范围:

  1. 管的是写入这类副作用:它能约束执行动了哪些文件,这是隔离的主要目标,也是「read-only / workspace-write」这两档的实际含义。
  2. 网络访问不由它负责:命令能不能联网、能连哪里,不在这套沙箱的管辖内,需要另行评估。
  3. 进程可见性也不由它负责:一条命令能看到机器上哪些其它进程,同样不属这套沙箱的范围。
  4. 因此别把「装了沙箱」当成万能保险:它是文件系统这一维度的边界,其它维度各有各的机制。

档位怎么被触发:审批与升级

档位不只是配置项,它还会在执行时被校验——当一次调用请求比当前档位更宽的权限时,就会触发审批相关的处理(来源)。 三点理解:

  1. 执行前校验:真正的执行会带着它所要求的档位意图,系统据此判断是否越出当前允许范围。
  2. 越界即触发审批:请求更宽权限时不会静默放行,而是走审批路径,由人决定要不要放宽。
  3. 升级必须是「更宽」:升级只在方向上是放宽时才有意义;这一约束相关的问题与报错见《沙箱升级报错怎么修》。

各平台后端与消费方

DeepSeek Harness 的本地沙箱后端按系统提供不同机制:Linux 用 bwrap 或 Landlock,macOS 用 Seatbelt,Windows 用受限令牌;上层看到的仍是同一套档位语义(来源)。 谁在用:

  1. 命令执行类消费方:如 dsh-bash-sandbox 与 dsh-pwsh-sandbox,在自己的执行路径上套用当前档位。
  2. 远端后端:dsh-sandbox-ssh 把执行放到远程环境,同样遵循这套档位。
  3. 提供方包与语义分离:具体机制由提供方包实现,但对上层暴露同一套 SandboxMode 语义——因此 DSH plugin 不需要为每个系统各写一份逻辑。
  4. 想装会执行命令的插件前:先评估它需要哪一档,可在「设置 → 插件市场」即 DSH Plugin Hub 里查看插件说明再决定。

怎么选档位:从紧到松

选档位的原则是从紧到松、按实际需要逐级放宽,而不是一上来就给最宽的那档(来源)。 一个可操作的判断顺序:

  1. 先问「这个任务需要改文件吗」:如果只是读取与分析,read-only 就够,别默认放开写。
  2. 再问「只需要改当前项目吗」:如果产出都落在工作区目录内,workspace-write 是合适的选择。
  3. 最后才问「真的需要全盘吗」:只有确实要写到项目外的场景才考虑 danger-full-access,并且要对后果有预期。
  4. 改动后重新评估:任务结束后不妨把档位收回更紧的一档,让默认状态保持安全。

理解沙箱的注意事项

把沙箱理解成「按档位限制文件系统效果」,就不会误以为它管网络。

  1. 三档是从紧到松:read-only → workspace-write → danger-full-access。
  2. 默认越紧越安全:能用只读就别升到可写,能用工作区可写就别开完全访问。
  3. 范围有限:只约束文件系统效果,网络与进程可见性另论。
  4. 越界会走审批:请求更宽权限不是静默放行,而是需要确认。
  5. 后端随系统不同:Linux、macOS、Windows 机制各异,但对外语义一致。
  6. 升档要谨慎:danger-full-access 风险最高,用完记得收回。
  7. 插件能力边界另见《dsh plugin 的能力与权限边界》;升级报错见《沙箱升级报错怎么修》。

来源:DeepSeek Harness 官方文档 - 沙箱子系统、官方文档 - 架构总览。

常见问题

DeepSeek Harness 的沙箱到底管什么,能限制哪些操作?

**DeepSeek Harness 的沙箱由 dsh-sandbox 提供,用来管控命令与工具对文件系统的效果。** 它把执行放进一条有档位的边界里,按当前 SandboxMode 决定能读哪些、能写哪些;这样 DSH plugin 触发的文件操作不会随意扩散到整台机器。

DeepSeek Harness 的 SandboxMode 有哪三档,各档能写哪里?

**DeepSeek Harness 的 SandboxMode 分三档:read-only、workspace-write 与 danger-full-access。** read-only 不允许写入,workspace-write 把写入限制在工作区目录内,danger-full-access 则不加这层限制;档位越宽,越需要谨慎使用。

DeepSeek Harness 的沙箱会限制网络访问和进程可见性吗?

**DeepSeek Harness 的这套沙箱只管控文件系统效果,网络与进程可见性不在它的范围内。** 也就是说它能约束写文件这类副作用,但不要指望它同时限制网络访问或进程能看到什么;这几件事在 DeepSeek Harness 里由别的边界负责。

DeepSeek Harness 的沙箱在不同操作系统上分别怎么实现?

**DeepSeek Harness 的本地沙箱后端在不同系统上采用不同机制:Linux 用 bwrap 或 Landlock,macOS 用 Seatbelt,Windows 用受限令牌。** 这些由提供方包实现,对上层是同一套 SandboxMode 语义,因此 DSH plugin 不需要为每个系统各写一份逻辑。

哪些 DSH plugin 会用 DeepSeek Harness 的沙箱,怎么判断?

**使用 DeepSeek Harness 沙箱的典型消费方是执行命令的工具,例如 bash 与 PowerShell 的沙箱包。** 它们在自己的执行路径上套用当前档位;此外还有面向远端的沙箱后端,用于把执行放到远程环境里,同样遵循这套档位语义。

相关术语

SandboxMode
SandboxMode 是 DeepSeek Harness 沙箱的档位,取值为 read-only、workspace-write 或 danger-full-access,决定执行的写入被限制到什么程度。— DeepSeek Harness 官方文档 - 沙箱子系统
dsh-sandbox
dsh-sandbox 是 DeepSeek Harness 中提供进程沙箱能力的 seam,负责按当前档位约束执行对文件系统的效果。— DeepSeek Harness 官方文档 - 沙箱子系统
workspace-write
workspace-write 是 DeepSeek Harness 沙箱的中间档,允许写入但限制在工作区目录范围内,兼顾可用性与隔离。— DeepSeek Harness 官方文档 - 沙箱子系统
danger-full-access
danger-full-access 是 DeepSeek Harness 沙箱的最宽档,不加文件系统写入限制,风险最高,需谨慎授予。— DeepSeek Harness 官方文档 - 沙箱子系统

来源