← 返回列表
✓ 可直接安装
给 DeepSeek Harness 加第四档权限:在输入栏的权限下拉里选…
自动检查通过:npm 包已发布且 engines 声明满足基线(声明 Node ^22.19.0 || >=24.0.0);该结论来自程序自动检查,未经人工实机验证。 · 最近上游提交 2026/9/9 · 已提供中文文档
DeepSeek Harness 的自动模式:第四种权限预设——完全访问权限,以 LLM 分类器作为每次工具调用前的唯一关卡。
综合分
31.3
GitHub 分
31.3
用户评分
—
★ Stars
3
周下载量
—
安装插件(需先安装 dsh CLI 引擎:npm install -g @deepseek-ai/dsh)
dsh plugin --profile web add dsh-auto-approvalnpm 包 dsh-auto-approval 已校验归属本仓库,走 npm 安装最省事
数据截至 2026/9/18(元数据每日更新 · 实装验证按队列轮转,单条结论的验证时间见上方)
安装兼容性检查✓ 自动检查通过
以下结论由程序自动检查 npm 包、engines 声明与入口文件得出,未做人工实机验证——能装不等于用着没问题。
✓npm 包dsh-auto-approval @ 0.2.0
✓Node 引擎要求 ^22.19.0 || >=24.0.0 · 基线 Node 22.19 满足
✓dsh CLI 依赖未声明 dsh 版本约束
✓入口文件main/exports/bin 已声明
验证方式:npm registry 存在性 + package.json 静态校验 · 最后验证 2026/9/19 04:05:21
依赖的 DSH / Cordis 模块
@deepseek-ai/dsh-util-values@deepseek-ai/schemastery@deepseek-ai/cordis@deepseek-ai/dsh-agent@deepseek-ai/dsh-api-remotes@deepseek-ai/dsh-attachment@deepseek-ai/dsh-brand@deepseek-ai/dsh-client-locale@deepseek-ai/dsh-client-ui-conversation@deepseek-ai/dsh-client-ui-primitives@deepseek-ai/dsh-client-ui-renderer@deepseek-ai/dsh-client-ui-session用户评分
还没有人投票,来当第一个
订阅周报,不错过优质插件更新
每周一封 · 高评分插件 + 新用户活动
README
dsh-auto-approval 权限模型保持 3 + 1:官方三档沙箱,外加一档全托管。选其它 preset 即等于关掉本插件,没有第二个开关。 0.2.0 是对 0.1.x 的重写。 开关从插件设置改成了权限 preset:装好、选 Automode,就完事。升级见 从 0.1.x 升级。 演示 Automode:多步任务无人值守跑完,被拒的调用出现在决策表里 录屏内容:选 Automode,发一条 prompt(建目录 → 写文件 → 读回确认 → 执行 echo danger_test)。文件那几步全程无人值守通过(L1-deep / whitelist),最后那条命令被硬规则拦下(L0-deny);chip 弹窗同时显示两条判定和累计计数。 工作原理 模型要调工具 │ ├─ preset ≠ automode ──────────────► 完全不接管(官方行为) │ └─ preset = automode │ ├─ L0 规则(硬底线)────────► deny (rm -rf /、curl | sh、自毁命令 …) ├─ 免检工具 / bash 前缀 ────► allow └─ L1 分类器 ──────────────► allow | deny (fail-closed:超时/解析失败/无模型 → deny) - L0 —— 正则 deny 规则 + 自毁护栏 + 免检工具/命令前缀白名单,确定性判定,不调模型。 - L1 —— 拿「最近一条真实用户消息 + 裸工具调用」给两阶段分类器(fast 单 token 过滤 → 命中才走 deep CoT)。分类器永远看不到工具输出,所以被注入的内容没法把它骗成 allow。 - fail-closed —— 超时、解析失败、没有模型,一律 deny。 automode preset 写的是和「完全权限」同一组旋钮(完全权限 + 审批 never),所以其它通道也不会再问人;两者的区别就是本插件这道闸门。官方 preset 服务会记住最后选中的名字,所以下拉里能区分你选的是哪一档。 安装 dsh plugin --profile web add dsh-auto-approval 刚发新版? pnpm 11 默认拒绝发布不足 24 小时的版本(minimumReleaseAge,供应链保护),所以发布当天 add dsh-auto-approval 会解析到上一个版本。要么装精确版本(dsh plugin --profile web add dsh-auto-approval@0.2.0),要么在 profile 的 pnpm-workspace.yaml 里加: minimumReleaseAgeExclude: - dsh-auto-approval 然后在输入栏旁的权限下拉里选 Automode(或 /permission automode)。第一次选会在浏览器里弹一次性提示,说明这档的取舍(官方那个「Enable Full access?」确认硬编码在 danger-full-access 键上,自定义 preset 不会触发)。之后预设选择器旁边会出现 Auto 胶囊:累计放行/拦截计数,点开是决策表。 源码方式:clone 后 pnpm install && pnpm run build,再 dsh plugin --profile web add link:/。 从 0.1.x 升级 0.2.0 保留了包名、auto-approval: 配置段和所有配置项,升级不需要改配置。变的是: | | 0.1.x | 0.2.0 | |---|---|---| | 开关 | 插件设置 enabled + UI 里的 switch | Automode 权限 preset(没有第二个开关) | | 包 | dsh-auto-approval + dsh-client-ui-auto-approval | dsh-auto-approval(host + 浏览器半边同一个包) | | 沙箱 | 看当前 preset;DSH 自己的升级询问照旧弹给用户 | 完全权限 + 审批 never,完全不弹窗 | | L1 未配置 | 全部放行(橡皮图章) | 白名单外一律拒绝 | 1. 卸掉旧的伴侣包(浏览器半边现在就在主包里) dsh plugin --profile web remove dsh-client-ui-auto-approval 2. 升级 pnpm --dir "$DSH_HOME/profiles/web" up dsh-auto-approval 3. 重启 dsh,然后在权限下拉里选 Automode 如果 settings.yaml 里没配分类器(classifierFastProvider / classifierFastModel),automode 现在会 fail-closed——配上它,否则只有免检工具和白名单命令能跑。 配置 $DSH_HOME/settings.yaml,热重载: automode: denyPatterns: - 'rm\s+(-[a-z][fr][a-z]\s+)/\s$' - 'curl\s+[^|]\x7c\s(ba)?sh' autoApproveTools: [read, write, edit, glob, grep, ls] bashCommandPrefixes: [ls, pwd, git status, git diff, pnpm test] classifierFastProvider: deepseek-official classifierFastModel: deepseek-v4-flash classifierDeepProvider: deepseek-official classifierDeepModel: deepseek-v4-pro classifierGuidance: '只读命令和跑测试优先放行。' 所有键都可选。denyPatterns / autoApproveTools / bashCommandPrefixes 是整体替换默认值(YAML 数组不合并),要保留的默认项得自己写全。 不配 classifierFastProvider/classifierFastModel 就没有 L1,此时 automode fail-closed:只有免检工具和白名单命令能跑,其余一律拒绝。这是故意的——没有分类器的会话不是安全兜底,默认放行只会让这道闸门变成橡皮图章。 权限与数据 | 面 | 本插件做什么 | |---|---| | 读 | 待判定的工具调用参数;session log(仅用于取最近一条真实用户消息作为分类器意图) | | 写 | $DSH_HOME/logs/automode.log——本机 JSONL 审计文件,best-effort;写失败只记 warn | | 网络 | 仅当配置了 L1:把用户消息 + 工具调用发给所配置的模型服务 | | 执行 | 不执行任何东西。不起子进程、不走 shell、不改审计文件以外的文件 | | 拦截 | tools/pre-execute(prepend)+ 单调 ctx.tools.guard() deny 守卫,两者都按会话 preset 门控 | | 失败边界 | L1 超时 / 解析失败 / 无模型 → deny;配置非法在加载时 throw(fail-loud);settings 服务缺失回退 composition entry 配置 | 兼容性 只跟官方最新版走。当前在 @deepseek-ai/dsh 0.1.2-rc.1 上实测通过(一次性 DSH_HOME:安装 → 启动 → 真实 tool call 判定)。旧版本不保证。 bundle patch 会整体重述官方 preset 表,所以官方基础层新增 preset 时这个文件也要跟着更新。 开发 pnpm install pnpm run typecheck pnpm run test pnpm run build # lib/index.js(host)+ lib/client.js(browser) License BSD-3-Clause
扫码进群