dsh-unattended:DSH 自动审查的无人值守模式

前言

DeepSeek Harness(DSH)的 @deepseek-ai/dsh-experimental-auto-review 预设会在每次工具调用前让 reviewer 判断:同意则执行,拒绝则在 ask 策略下弹出「等待审批」面板。人不在电脑前时,这个面板会长期阻塞任务。

dsh-unattended 针对这一场景提供开关:开启后,reviewer 拒绝的调用直接被拒绝,不再发起人工审批;reviewer 同意的调用照常执行。它不改变审查逻辑,只改变「拒绝之后找不找用户」这一步。

是什么

  • 插件名:dsh-unattended
  • 维护者:JHees
  • 分类:工作流
  • 功能:为 DSH 的自动审查预设增加「无人值守」开关
  • 适用:桌面版 / Web 版 DSH,配合官方 @deepseek-ai/dsh-experimental-auto-review 预设
  • 仓库:https://github.com/JHees/dsh-unattended

插件通过把当前会话的审批策略设为 never,使得 reviewer 拒绝的调用直接返回最终拒绝(AUTO_REVIEW_DENIED),而不触发审批请求。审查本身仍由 reviewer 判定,不会「不审查」或「全部放行」。

核心行为

状态 审查同意 审查拒绝
无人值守关闭(默认) 执行 弹人工审批
无人值守开启 执行 直接拒绝,不弹审批

无人值守会关闭该会话的所有人工审批(never)。自动审查预设本身是全权限沙箱,因此只有 reviewer 拒绝会产生审批请求,其余路径不受影响。

安装与启用

桌面版:

dsh plugin --profile desktop add github:JHees/dsh-unattended

Web 版:

dsh plugin --profile web add github:JHees/dsh-unattended

安装后刷新页面(或重启 DSH)即可。插件只会在「自动审查模式」下出现开关。

卸载:

dsh plugin --profile desktop remove dsh-unattended

典型用法

  1. 在 DSH 界面左下角、自动审查 ⌄ 旁边找到「无人值守」按钮:
    - 未开启时显示「无人值守」;
    - 点一下后高亮显示「无人值守中」= 已开启。

  2. 命令行等价入口(任意客户端可用):

/unattended on     # 开启
/unattended off    # 关闭
/unattended        # 查看当前状态
  1. 状态按会话保存在该会话日志的 approval/policy 事件里,刷新、重启后保留。

  2. 切换权限预设会重写审批策略,因此无人值守会自动关闭;重新打开即可。

适用场景与注意

  • 适合无人值守、长期运行的任务,避免审批面板挂起。
  • 只在自动审查预设下可用;其它权限模式下按钮隐藏,/unattended on 会报错提示先切到自动审查。
  • 插件依赖 approval/policy 事件与 Auto review 的既有行为,DSH 升级后需留意语义变化。
  • 未发布到 npm,只通过 GitHub 分发。

插件以当前 dsh 进程的权限运行。安装前建议查看源码与许可证(MIT)。

价值

dsh-unattended 不会引入新的判断逻辑,也不替代现有的审批策略插件,而是把「拒绝之后找不找用户」这一步变成可配置项。对需要无人值守运行、又希望保留自动审查能力的场景,它是一个轻量且可控的补充。

  • 仓库:https://github.com/JHees/dsh-unattended
  • 目录页:https://www.skillhub.cn/plugins/JHees/dsh-unattended
羽毛球分组比赛记分
小程序二维码

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

小夜