1x1-lab
dsh-auto-execute
DeepSeek Harness(DSH)的 Cordis 插件:让审批自动放行
- Stars
- 0
- Language
- JavaScript
- Created
- Aug 14, 2026
- Updated
- Aug 14, 2026
Introduction
dsh-auto-execute —— 审批"自动执行"插件
English: dsh-auto-execute is a Cordis plugin for DeepSeek Harness (DSH) that auto-approves approval requests. It ships two modes: an auto-execute preset (select it in Settings → Permissions and every approval in that session is automatically allowed — the preset itself is the switch) and a rule mode (exact-match approvals by tool name + reason substring, controlled by an
enabledtoggle, e.g./auto-execute add ...). Every auto-approval is logged, and reverting the preset or disabling rule mode restores normal prompting. See the full English README.
DeepSeek Harness(DSH)的 Cordis 插件:让审批自动放行。两种模式:
- 自动执行预设联动(推荐):权限设置里新增了
auto-execute("自动执行")预设 (danger-full-access+ 审批链保留ask)。在网页 设置 → 权限 下拉选中它, 该会话的所有审批请求自动放行——选择预设即生效,预设本身就是开关。 - 规则模式:按 工具名 + reason 子串 精确放行(
/auto-execute add ...), 由enabled开关控制。
背景:DSH 内置审批只支持一次性授权(
allowed-once),没有"记住并放行";权限预设 的danger-full-access绑定approval: never(拒绝需要审批的操作),不是放行。 本插件在approval/request瀑布链上插入 answerer:预设态/规则命中 → 返回allowed-once;否则next()交给正常询问。
能干什么
- 增强权限 + 自动执行:权限下拉选"自动执行" → sandbox 立即
danger-full-access(比 workspace-write 更高),审批不再弹窗,重启后依然生效(预设写入会话事件 + settings)。 - 可关闭:权限下拉切回 workspace-write / danger-full-access 即停止自动放行;
规则模式用
/auto-execute disable。 - 精确匹配(规则模式):按 工具名 + reason 子串 匹配,不搞"全部放行"。
安装
在项目内(插件源码目录)执行:
# Windows(需要 PowerShell)
powershell -ExecutionPolicy Bypass -File install.ps1
# macOS / Linux(自带 sh/bash,无需装 PowerShell)
bash install.sh
脚本会(幂等):
- 把插件复制到
$DSH_HOME/profiles/web/node_modules/dsh-auto-execute cordis.patch.yml写入两段:插件启用行 +permission预设表覆写 (新增auto-execute预设,并保留 read-only / workspace-write / danger-full-access)
依赖
@deepseek-ai/*(cordis/schemastery/dsh-settings 等)由$DSH_HOME/profiles/node_modules的符号链接提供(dsh 启动时healProfilesModuleFallback自动建立),无需 pnpm。
最后重启 dsh web 服务(服务端插件,重启才加载):
# 停掉当前 dsh web 进程后,在原目录重新启动
dsh web
使用
方式一:权限下拉选择"自动执行"(推荐)
- 重启 dsh web 后,打开网页 设置 → 权限,下拉里出现 自动执行 选项 (对话输入框旁"访问模式"按钮同步显示 ✨ 图标)
- 选中它 → 立即生效:sandbox = danger-full-access,所有审批自动放行
- 想恢复询问:下拉切回 workspace-write 或 danger-full-access
方式二:斜杠命令(规则模式)
/auto-execute status # 看自动执行预设键、规则模式开关与规则
/auto-execute enable # 开启规则模式
/auto-execute disable # 关闭规则模式(自动执行预设不受影响)
/auto-execute add pwsh "escalate sandbox to danger-full-access" # 加规则
/auto-execute remove 0 # 删第 0 条
/auto-execute list # 列出规则
方式三:直接编辑 settings.yaml
$DSH_HOME/settings.yaml 加一段(热重载,不用重启):
auto-execute:
autoPreset: auto-execute # 自动执行预设键(默认值,一般不用改)
enabled: true # 规则模式开关
rules:
- tool: pwsh
match: "escalate sandbox to danger-full-access"
note: "idf.py 构建需要完整访问权限"
规则匹配说明(规则模式)
审批请求只有 toolName(如 pwsh/bash)和 reason(人类可读原因)两个匹配维度:
- 沙箱升级的 reason 固定前缀:
escalate sandbox to <mode>: <justification> match填稳定前缀最可靠(如escalate sandbox to danger-full-access),不要依赖模型生成的 justification 部分match留空 = 匹配该工具的全部审批请求(慎用,等于对该工具永久免问)
安全说明
- 自动执行预设:只有你在权限下拉显式选中它才生效(选 = 同意);切走即停
- 规则模式默认
enabled: false,装上后行为完全不变 - 每次自动放行都有日志(
[auto-execute] 预设"... "自动执行:放行 .../规则放行 ...) - 与 DSH 原有
danger-full-access预设(approval: never= 拒绝需审批的操作)不同:本插件的"自动执行"是放行(allowed-once)
跨平台
- 插件本体为纯 Node.js/Cordis,Windows / macOS / Linux 的 DSH 均支持
- 安装脚本按平台原生选择:Windows 用
install.ps1(PowerShell),macOS / Linux 用install.sh(自带 bash,无需装 PowerShell) - 两个脚本逻辑一致:复制插件 + 幂等写入 cordis.patch.yml;
DSH_HOME都支持环境变量优先、回退~/.dsh - 权限预设与访问模式图标均为平台无关配置/前端改动
已知限制
- 第三方插件的 settings 命名空间不会出现在网页"插件配置"页(host api-proxy 的 allowlist 是硬编码的);配置走斜杠命令、权限下拉或 settings.yaml
- 规则模式只匹配 toolName + reason 子串,无法看到工具参数(callId 不携带参数)
- 服务端插件,改动后需重启 web 服务(不走 client-plugin HMR)
- 子代理(subagent)会话:若未继承父会话的权限旋钮(approval=ask + sandbox=danger-full-access),其投影推导不出 auto-execute,会自动落回规则模式(安全)
目录
dsh-auto-execute/
├── package.json # 插件元数据
├── lib/index.js # 插件本体(approval 监听 + settings + 命令)
├── README.md # 本文档(中文)
├── README.en.md # 英文 README(English)
├── LICENSE # Apache License 2.0
├── install.ps1 # 安装脚本(Windows / PowerShell)
└── install.sh # 安装脚本(macOS / Linux / bash)
开源协议
本项目基于 Apache License 2.0 开源。