DeepSeek Harness 插件:dsh-full-with-approval

DeepSeek Harness (DSH) 采用插件化架构,允许用户通过配置文件扩展功能。在某些场景下,开发者需要 GPU 访问权限以运行模型推理,但又必须严格限制对文件系统的写入操作。dsh-full-with-approval 插件通过引入“全计算访问 + 写入审批”的混合模式,填补了这一空白。

插件简介

由 zjuhbh 维护的 DSH 配置文件插件。它不修改 DSH 核心包,而是通过挂载层引入第四个权限预设 full-with-approval。其核心价值在于:在保持 danger-full-access 沙箱模式(支持 GPU、网络、设备)的同时,对工作区外的写入或对受保护文件的写入增加了一次性审批机制。

核心功能

  1. 全计算访问:激活该预设后,会话沙箱模式为 danger-full-access,进程运行无限制,CUDA、GPU、设备及网络访问均不受阻。
  2. 写入操作审批:当执行 write 或 edit 操作时,如果目标是工作区外文件或工作区内受保护文件(默认为 .git/**、.env*),系统会通过交互式提示请求一次性审批。未通过或取消审批则操作失败。
  3. Shell 修改审批:通过 bashGuard 启发式规则,检测 shell 命令中是否有修改文件外部的证据(如重定向 >, chmod, rm, python -o 等)。仅包含读取操作(如 cat, ls)的命令可无提示执行。
  4. 非侵入式设计:插件通过 cordis.patch.yml 挂载,不影响 DSH 核心代码。

安装与启用

在 DSH profile 目录下执行以下命令安装:

dsh plugin --profile web add ./dsh-full-with-approval

安装完成后,重启或刷新 Web UI 以加载插件。也可以使用绝对路径或 npm 包名进行安装。

使用方法

  1. 激活预设:在命令行输入 /permission full-with-approval,或在 Web UI 的权限选择器中选择“Full With Approval”。
  2. 执行操作:当尝试写入受保护文件或外部文件时,系统会弹出审批窗口。
  3. 切换预设:随时可以切换回 workspace-write、danger-full-access 或 read-only 预设,审批机制随之生效。

配置项

通过覆盖 cordis.patch.yml 中的配置,可以调整受保护路径和审批规则:

- id: full-with-approval
  config:
    # POSIX 相对路径的通配符匹配,或绝对路径
    protectedPaths:
      - ".git/**"
      - ".env*"
    # 除了平台临时目录外,绝对路径的额外可写根目录(不会触发审批)
    extraWritableRoots: []
    # 是否启用 Shell 守卫层(默认 true)
    bashGuard: true
    # 强制触发审批的额外子字符串
    extraBashTokens: []

已知限制与注意事项

  • 图标缺失:Web UI 的图标来自核心客户端的值键表,插件新增的预设无法提供自定义图标。
  • 代码执行不检查:run_code / code-mode 执行不被检查文件效应,仅检查原生 write/edit 和 shell 命令。
  • 路径边界判定:使用规范路径进行比对,Windows 8.3 等符号链接别名可能导致边界判定具有建议性,内核层面的沙箱限制仍是权威。
  • Shell 限制机制:Shell 写入受启发式限制而非内核限制,命令可通过动态路径构建、cd 后相对写入等方式规避检查。

该插件适用于需要在 DSH 环境中获得 GPU 能力但又必须严格管控文件写入权限的管理场景。使用前请务必检查源码与许可证。

羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

小夜