DeepSeek Harness 插件

NEVSTOP-LAB/dsh-approval-mode

Star 数 ★ 7 分类 安全与权限 收录于 2026-08-23

在权限下拉框旁增加「审批模式」开关:默认审批保留逐次确认,绕过审批自动放行所有工具调用,同时保持 Workspace Write 权限。

安装

# GitHub 源码(首次需按提示配置 allowBuilds 构建授权后重试)

dsh plugin --profile web add github:NEVSTOP-LAB/dsh-approval-mode

装任何插件都等于在你的机器上跑第三方代码,权限和你本人一样大——能读你的文件、用你的凭据、访问网络,工具审批管不到它。GitHub 来源的插件还会在安装时执行构建脚本——pnpm 默认拦截,所以安装可能停在 ERR_PNPM_GIT_DEP_PREPARE_NOT_ALLOWED 或 ERR_PNPM_IGNORED_BUILDS;dsh 会打印出需要添加的确切键名,把它加进该 profile 的 pnpm-workspace.yaml 的 allowBuilds 下,重跑一次即可装上。放行构建本身就是一次信任判断:请只安装可信来源,并尽量锁定 commit(github:owner/repo#sha)。

README

DSH 审批模式插件。在 DSH 窗口的权限下拉框(Read Only / Workspace Write / Full Access)旁边加一个「审批模式」按钮,权限可以保持 Workspace Write,审批模式选「绕过审批(提权除外)」——工具调用自动放行,但文件操作仍被沙箱限制在工作区内,比切到 Full Access 更安全、更方便。

[!IMPORTANT] 两种「绕过审批」都会自动批准工具调用,普通操作全程没有确认提示。

  • 绕过审批(提权除外):普通工具调用自动放行;工作区外的写文件、命令提权仍会弹窗,由你决定是否放行这一次。
  • 绕过审批:连提权也自动批准,沙箱边界一起放开(高风险)。

只在完全信任当前任务时使用,用完记得切回「默认审批」。 当会话权限为 Full Access 时,DSH 本身不会发起审批请求,此模式不生效。

功能

  • 按钮在输入框工具栏、权限选择旁边,样式和权限控件一致
  • 默认审批:和 DSH 原有行为一样,工具调用需要点击批准
  • 绕过审批(提权除外):工具调用自动批准;工作区外写文件、执行命令所需的提权仍会弹窗,由你决定
  • 绕过审批:所有工具调用自动批准,含提权,不弹任何提示(高风险)
  • 切换立即生效,并按会话持久保存
  • 绕过模式下按钮显示为橙色;提权除外用空心盾牌,全部绕过用闪电
  • 权限为 Full Access 时,按钮置灰并显示「绕过审批」:DSH 不再发起审批请求,模式不可切换
  • 切换模式会通知该会话的代理
  • 「设置 → 插件」中有本插件的默认审批模式配置项(DSH 0.1.7+ 由宿主按插件 Config 自动渲染;更早版本是「插件配置」里的独立卡片),可设置打开会话时使用的默认审批模式

配置

审批模式分两个值,各有一个入口:

入口 位置 作用范围
审批模式按钮 输入框工具栏,权限下拉框旁边 当前会话:只改这个会话,其他会话不受影响
默认审批模式 设置 → 插件(0.1.7+)/ 插件配置卡片(0.1.6 及更早) 默认值:没有自己模式的会话(含正在运行的)立即跟随;已用按钮单独设过模式的会话不受影响

工具栏按钮不会改写默认值;默认值只对没有自己模式的会话生效。想改默认就动设置,想单独放行某个会话就动按钮。

存储位置:默认模式是本插件的配置项(DSH 0.1.7+ 由宿主写在 profile patch 里); 按会话的模式写在 $DSH_HOME/approval-mode/sessions.json(插件自有目录,原子写入)。 两者都立即生效并持久保存。

[!IMPORTANT] 从 DSH 0.1.6 及更早升级到 0.1.7+ 时:0.1.7 换掉了旧的 settings 存储通道 (settings.yaml 会被改名成 settings.yaml.imported),旧版本写入的默认模式在新宿主上 读不到了,请在「设置 → 插件 → dsh-approval-mode」里重新选一次。按会话的模式由插件首次 启动时自动迁移,无需手动处理。

安装

需要 dsh CLI(下界 0.1.1-rc.2,实测 0.1.5-rc.2、0.1.7-rc.1 与 0.2.0-rc.1,见下方版本说明)。

从 GitHub 仓库安装:

dsh plugin --profile web add github:NEVSTOP-LAB/dsh-approval-mode

[!NOTE] --profile web 是默认 profile。桌面版(DSH Desktop)用 --profile desktop;其他 profile 把 web 换成对应名字即可。

[!NOTE] 版本要求:DSH 0.1.1-rc.2 及以上(无上界);已在 DSH 0.1.5-rc.2 (DSH Desktop 2.0.11)、0.1.7-rc.1(DSH Desktop 2.0.14)与 0.2.0-rc.1 (DSH Desktop 2.0.16)上验证。低于 0.1.1-rc.2 的宿主会被 dsh-market 标记为 「低于声明下界」,请先升级 DSH。 0.1.7 更换了 settings 服务的契约(插件 Config 取代命名空间),本插件两代都支持; 升级后默认模式需要重设一次,见上文「配置」。 0.2.0 起宿主不再声明任何 @deepseek-ai/dsh-* peer:插件不 import 带版本号的宿主包 (通知消息在插件内构造),因此 0.2 的 DSH 不会再把本插件判为不兼容。 开发、版本声明的判定依据与兼容性校验方法见 CONTRIBUTING.md。

建议锁定提交,避免后续更新改变实际内容:

dsh plugin --profile web add github:NEVSTOP-LAB/dsh-approval-mode#<commit-sha>

也可以从 Releases 下载 tarball 安装:

dsh plugin --profile web add ./dsh-approval-mode-0.2.0.tgz

安装后确认组合层里出现该插件:

dsh --profile web --dump-config

启动后,输入框工具栏权限下拉框旁边会出现「默认审批」按钮。

卸载:

dsh plugin --profile web remove dsh-approval-mode

License

MIT

内容来自项目 README(GitHub)↗

链接

同类插件

查看整个分类 →

社区评论

评论公开保存在 GitHub Discussions。加载评论会连接 GitHub 和 Giscus;发表内容需要 GitHub 账号。