dsh-llm-approve-for-me:DeepSeek Harness 沙箱权限自动审查插件

前言

在 DeepSeek Harness (DSH) 的开发中,沙箱权限升级(如执行 Shell 命令、修改文件)是必须谨慎处理的环节。通常需要手动审批或编写复杂的规则逻辑。dsh-llm-approve-for-me 插件通过内置的审查角色,利用 LLM 自动判定这些权限请求,减少人工干预的繁琐,同时保持决策的灵活性。

插件定位

这是一个 DeepSeek Harness 插件,通过内置审查角色自动判定沙箱权限升级。由用户 alaxrpg 维护,遵循 MIT 许可证。它解决了“如何在自动化流程中安全地处理沙箱权限请求”的问题,将决策权交给配置的 LLM 模型,而非硬编码规则。

核心功能

  1. 自动审查权限升级:拦截所有带 sandbox_permissions 的工具调用,包括 Shell/PowerShell 命令、write/edit 文件写入等。
  2. 专用审查角色:使用内置的 REVIEWER_ROLE。该角色无工具、无会话、单请求快速裁决,不借用环境中的通用子代理模板。
  3. 轻量级执行:不创建 Agent 或 Session,不污染子代理列表。每次授权仅返回原生的 allowed-once 一次性授权。
  4. 可视化面板:在 DSH Web 会话顶部提供“帮我批准”面板。
    • History:按 session 隔离展示最近 100 条审批记录(包含请求目标、理由、权限、审查模型、AI 结论与结果)。
    • Settings:可视化调整审查模型参数。
  5. 模型配置:支持配置审查模型的 Provider、Model、Timeout 和 Max tokens。

安装与启用

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

dsh plugin --profile web add github:alaxrpg/dsh-llm-approve-for-me

安装完成后重启 DSH Web。插件会自动添加“帮我批准”权限预设到会话中(可手动在设置页覆盖)。点击会话顶部的“帮我批准”即可进入审批面板。

典型用法

1. 配置审查模型

安装并重启后,进入“帮我批准”面板的 Settings 页面。建议将审查模型设置为快速非推理模型以提升响应速度。

设置项 默认值 范围 说明
Reviewer provider 空(继承主会话) 任意 provider 名 留空则继承提出请求的会话配置
Reviewer model 空(继承主会话) 任意 model 名 推荐指向快速非推理模型
Timeout 300 秒 1–600 秒 推理模型的思考时间计入超时
Max tokens 16384 256–65536 含推理过程

配置保存后会写入 ~/.dsh/llm-approve-for-me.settings.json,无需重启立即生效。

2. 审查协议

插件通过 DSH llm 服务向内置角色发起请求,要求其返回严格的 JSON 格式:

{"decision":"allow","rationale":"原因"}
  • decision:仅支持 allow、deny 或 ask。
  • rationale:必须使用简体中文输出一句话理由。

注意事项与配置

  1. 严格 JSON 格式:审查模型必须返回标准 JSON。如果输出包含 Markdown code fence 或非 JSON 响应,系统会自动回落到人工审批。
  2. 异常处理:审查超时、取消、模型调用异常或输出无效时,系统会回落人工审批并记录具体原因(同样为中文)。
  3. 目标提取限制:对于无法提取审查目标的请求(如某些带升级参数的工具),系统会交回人工审批。
  4. 内容截断:审查摘要会自动截断至 2000 字符,防止大文件刷屏。
  5. 优先级规则:设置文件 ~/.dsh/llm-approve-for-me.settings. 的优先级高于静态配置。
  6. 非安全产品:本插件非安全产品,不能替代人工授权、最小权限原则、数据备份或隔离措施。它的作用是将授权判断交给 LLM,而非作为防火墙使用。

结语

dsh-llm-approve-for-me 为 DeepSeek Harness 用户提供了一个基于 LLM 的沙箱权限审查方案。通过配置和监控审批历史,可以在自动化与安全性之间找到平衡。更多细节可参考其 GitHub 仓库。

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

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

小夜