dsh-edit-approval:DeepSeek Harness 的编辑与 Bash 审批插件

前言

DSH 的理念是「一切皆插件」。社区目录是独立站点,与 DeepSeek / 幻方无官方从属关系。对使用 DSH 的开发者来说,智能体调用 writeeditstr_replace_editorbash 时,通常需要确认当前变更内容,并决定是否放行。

dsh-edit-approval 提供这类审批:在 write / edit / str_replace_editor 调用写入文件前,展示红/绿行级 diff;在 bash 命令运行前,也可发起审批。Bash 审批默认关闭。

这是什么

dsh-edit-approval 是由 SiriLee 维护的 DeepSeek Harness 插件,许可证为 MIT。它面向两类工具调用:

  • writeeditstr_replace_editor:写入文件前审批,面板显示红色删除行和绿色新增行的行级 diff。
  • bash:命令运行前审批,默认关闭。

审批结果支持 allowed-oncerejectedSettings → General 提供 Edit approvalBash approval 主开关。

核心功能

编辑审批

编辑审批默认开启。当调用 writeeditstr_replace_editor 时,插件在写入文件前发起审批。审批面板显示红色删除行和绿色新增行的行级 diff。

用户可以选择 allowed-once,让当前调用继续;也可以选择 rejected,拒绝该调用。

Bash 审批

Bash 审批默认关闭。开启后,bash 命令运行前会发起审批。可以在 Settings → General 打开 Bash approval,也可以使用命令切换。

bash-approval settings namespace 的 allow 中可配置命令前缀白名单。白名单目前尚无 UI。

Bash 审批不读写文件系统,沙箱升级调用不会重复询问。

never 策略

当会话审批策略为 never 时,插件通过 next() 委托,保持 full-access 会话可用。插件不扩展访问权限,也不改变沙箱模式。

安装与启用

先安装插件:

dsh plugin --profile web add dsh-edit-approval

安装后重启 dsh web--profile web)。

运行环境需要 Node ^22.19.0 || >=24.0.0

贡献者可以使用固定 commit 安装:

dsh plugin --profile web add github:SiriLee/dsh-edit-approval#<sha>

如果从 git 安装首次运行失败,需要在 profile 的 pnpm-workspace.yaml 中添加 allowBuilds 键。npm pack 会运行 prepare,生成的 tarball 会携带预构建 lib/LICENSE

典型用法

1、编辑审批默认开启。任意 writeeditstr_replace_editor 调用前会显示红/绿行级 diff;选择 allowed-oncerejected

2、需要审批 bash 命令时,在 Settings → General 打开 Bash approval,或执行:

/approval-bash on

3、查看或关闭审批开关:

/approval-edit status
/approval-bash status
/approval-edit off
/approval-bash off

4、为 bash 审批配置白名单:在 bash-approval settings namespace 的 allow 中配置始终放行的命令前缀。

5、在 never 审批策略下,插件委托给沙箱,不扩展访问权限或改变沙箱模式。

适用场景与注意

适合希望在 DSH web profile 中逐次确认文件写入和命令执行的开发者。尤其适合需要查看编辑 diff、保留 full-access 会话可用,或对 bash 命令做前缀白名单的场景。

使用前注意:

  • 插件以当前 dsh 进程权限运行,安装前应检查源码与许可证。
  • Bash approval 默认关闭;如不启用,命令调用不会进入该审批。
  • allow 白名单目前尚无 UI,需要通过 settings namespace 配置。
  • Node 版本要求为 ^22.19.0 || >=24.0.0
  • git 安装首次运行可能需要 pnpm-workspace.yaml 中的 allowBuilds

获取

dsh-edit-approval 的价值是把编辑和命令的放行决策显式化:编辑有红/绿 diff,命令有独立开关和白名单,策略下委托沙箱。

GitHub:https://github.com/SiriLee/dsh-edit-approval

社区目录可按 dsh-edit-approval 搜索;本文不附未确认的目录页 URL。

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

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

Xiaoye