morlay/dsh-plugin--packages-sandbox-dsh-sandbox-local ↗★ 9

@morlay/dsh-sandbox-local

提供可配置的本地进程与文件系统沙箱 支持自定义可写根路径、只读路径和拒绝访问规则,适合对安全隔离和权限控制有高要求的用户。

包名
@morlay/dsh-sandbox-local
兼容性
待验证
Harness 依赖范围
workspace:*
Cordis 依赖范围
workspace:*
版本
0.0.3-alpha.4
许可证
MIT
最近更新
2026年9月20日

安装

$npx -p @deepseek-ai/dsh dsh plugin --profile web add github:morlay/dsh-plugin#17db2e513964877a60c0d965cb6696c6539337f8&path:packages/sandbox/dsh-sandbox-local

配置

字段默认含义
access[]规则条目:`rw
可写根 /r-
只读 /--
` 拒绝访问;数组或一段多行文本
runnerCommand[]透传官方 sandbox-local:替换 runner argv(配置了它就不能用规则)
runnerFailureSignatures[]透传官方 sandbox-local:自定义 runner 的失败签名
probeTimeoutMs5000透传官方 sandbox-local:候选 runner 的探测超时
cwdprocess.cwd()透传官方 fs-local:相对路径的解析基准
diffBasisMaxBytes10485760透传官方 fs-local:overwrite diff 单侧字节上限

两种写法等价(数组每项一条,或多行文本每行一条;多行文本的空行忽略):

- id: sandbox-local
  config:
    access:
      - "rw {{ env.XDG_CACHE_HOME }}"
      - "r- {{ env.XDG_CONFIG_HOME }}"
      - "-- mise.*.toml"
      - "-- **/*.pem"
- id: sandbox-local
  config:
    access: |-
      rw {{ env.XDG_CACHE_HOME }}
      r- {{ env.XDG_CONFIG_HOME }}
      -- mise.*.toml
      -- **/*.pem

条目语法:

  • 每条必须以 rw / r- / -- 开头;缺前缀、或前缀后没有路径,加载即失败(规则 不因写法歧义而变形)。
  • 语义:rw 允许读写;r- 只允许读;-- 读与写都拒绝。优先级 -- > r- > rw。
  • {{ env.NAME }} 在加载期按进程环境展开;变量未设置或为空时插件加载失败。
  • 相对路径相对会话工作区(不是 cwd 配置项)解析。
  • r- 与 -- 条目接受 glob:* 与 ? 不跨 /,** 跨层级(**/ 也匹配零层), [!ab] 取反;生成的正则同时用于进程内匹配与 SBPL 的 (regex #"…"),因此只用两者 共有的语法。
  • 字面(无通配)的 r- / -- 条目命中自身及其全部后代;rw 条目必须是具体路径 (可写根没有「通配」语义)。