dsh-auto:为 DSH Web UI 增加模型审查的 Auto Approve 权限预设

前言

在 DSH Web UI 中,会话运行到需要审批的操作时,通常需要用户逐项确认。对重复性或低风险操作,人工确认会成为流程中的额外步骤。simon300000/dsh-auto 为此提供一个 Auto Approve 权限预设:在每个需要审批的操作被插件允许或拒绝前,先由一个新的受限 DSH 子 Agent 审查。

当前发布仅支持 Web UI。

这是什么

dsh-auto 是仓库所有者为 simon300000 的 DSH 插件,许可证为 MIT。它为 DeepSeek Harness Web UI 增加一个权限预设,让审批不再只依赖人工点击,而是经过一个受限 Reviewer 子会话审查后,再由宿主做最终允许或拒绝。

核心功能

  • 仅当会话选择 Auto Approve 时处理 approval/request
  • 每次审批启动一个受限 DSH 子 Reviewer 会话。
  • Reviewer 在只读沙箱中运行,并设置 approval/policy = never
  • 执行守卫只允许 readglobgrep 和 scoped structured-output tool,拒绝其他工具,不允许进一步 subagent,并最多允许四步调查加最终响应步骤。
  • Reviewer 只做有界只读调查,敏感文件仅在最小只读检查能改变决策时才可检查。
  • 结构化结果只要求 outcome,可包含 risk_leveluser_authorizationrationale
  • 宿主对 critical risk 一律拒绝;对没有至少 medium user authorization 的 high risk 也拒绝。
  • 无效输出、缺少 action 数据、超时、与取消无关的基础设施故障和工具故障都按失败关闭处理。
  • 模型拒绝不会重试,也不会回退到用户提示。
  • 同一父 turn 连续三次拒绝会中断该 turn;任何允许动作会重置计数。
  • 默认 90 秒期限覆盖子会话创建、所有模型步骤、本地只读调查和最终结构化输出。

安装与启用

先安装插件:

dsh plugin --profile web add github:simon300000/dsh-auto

重启 Web UI 后,在会话 Permissions 选择器或 General Settings 的默认权限预设中选择 Auto Approve

典型用法

  • 紧凑结果 {"outcome":"allow"} 默认低风险且授权未知。
  • reviewerProviderreviewerModel 必须同时设置;若两者都省略,Reviewer 使用父会话当前 provider 和 model。
  • 捆绑默认使用 deepseek-official/deepseek-v4-flashhigh reasoning。
  • 修改 configuration、policy 或 plugin code 后重启 DSH。

适用场景与注意

适合在 DSH Web UI 中使用插件审批、希望减少人工确认但仍保留受限审查的场景。需要注意:

  • 当前发布仅支持 Web UI。
  • Reviewer 的权限是受限的:只读沙箱、approval/policy = never、工具白名单、无进一步 subagent、步骤上限。
  • 高/关键风险操作不会因 Reviewer 宽松而直接通过;宿主会对 critical risk 和未满足授权条件的 high risk 做拒绝。
  • 插件会改变 DSH 审批链路的实际行为,并以当前 dsh 进程权限运行。安装前应检查源码、配置与 MIT 许可证。

结尾

dsh-auto 的价值在于把 Auto Approve 从“直接放行”变成“受限 Reviewer 先审查,宿主再按规则裁决”。当前资料未提供目录页链接,仓库地址为:

https://github.com/simon300000/dsh-auto
羽毛球分组比赛记分
小程序二维码

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

小夜