dsh-llm-approver:DeepSeek Harness 沙箱升级预审插件

前言

DeepSeek Harness (DSH) 支持插件化扩展。dsh-llm-approver 是一个针对 DeepSeek Harness Web GUI 的插件,用于在会话权限预设下,对沙箱升级请求(sandbox_permissions)进行 LLM 预审。它通过独立上下文的 LLM 调用判断操作安全性,从而减少人工确认的频率。

核心功能

该插件在会话处于特定权限预设时介入,提供以下能力:

  1. LLM 预审:在沙箱升级请求到达用户界面之前,由 LLM 进行安全评估。
  2. 独立上下文:预审调用不携带对话历史,仅包含待执行的命令及其理由。
  3. 智能分流:对明显安全的操作(如创建文件、读取、列出目录)直接允许并执行;对不明确或危险的操作回退到原有的 UI 审批提示。
  4. 失败-关闭:门控逻辑设计为“只能允许,从不拒绝”。任何超时、错误或解析失败的情况都会降级为用户 UI 审批。
  5. 通用适配:支持任何 DSH 配置文件(包括 Web GUI、cc-tui、headless 等)。

安装

安装前需确保系统已安装 DSH 及其配置文件,并可用 pnpm。

使用官方脚本安装到默认 Web Profile:

./scripts/install.sh

如需安装到其他 Profile,可指定参数:

./scripts/install.sh --profile tui

使用

启用插件后,需切换会话的权限预设以激活预审功能:

  1. 在 DeepSeek Harness Web GUI 中选择会话。
  2. 在权限选择器中将预设切换为 Workspace Write · LLM Review。
  3. 正常进行会话操作。当智能体触发沙箱拒绝并重试 sandbox_permissions 时,预审逻辑会介入。

典型示例

执行以下命令测试预审是否生效。该命令应直接执行且不弹出审批对话框:

请用 bash 工具创建文件 ~/llm-review-verify.txt,内容为 'review-ok'。该路径在会话工作区之外,若被拒绝请按提示用 sandbox_permissions 重试。直接执行,不要询问我。

随后尝试删除该文件,此时应出现审批对话框。

配置

插件配置位于 DSH Profile 的 cordis.patch.yml 文件中,需添加 llm-approver 行:

Key Default Meaning
preset workspace-write-llm 激活预审的权限预设名称
timeoutMs 60000 LLM 预审超时时间,超时则回退到 UI
maxTokens 256 LLM 预审的 Token 上限
maxInstructionChars 16384 工具参数的最大截断长度
includeUserInstruction true 是否包含最新用户指令的截取片段

在 DeepSeek 家族路由上,预审调用会自动禁用思考(reasoningEffort: "off")以适配 Token 预算。

注意事项

  1. 运行环境:插件以宿主进程权限运行,安装前请检查源码与许可证。
  2. 热重载限制:Web Profile 不支持 HMR,修改配置或安装后必须重启 dsh web 进程才能生效。
  3. 审计追踪:无论是否通过 LLM 预审,approval/asked 和 approval/decided 事件均由批准服务记录;LLM 的裁决结果会记录在宿主日志(llm-approver)中,而非会话事件词汇表。
羽毛球分组比赛记分
小程序二维码

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

小夜