前言¶
DeepSeek Harness(DSH)允许通过插件接管审批面板。在「工作区内修改」场景下,模型可能发起提权请求,用户容易凭习惯直接允许。这个插件的目标是增加一层事实核查:在用户点「允许」前,先由会话模型判断该请求是否安全,再决定是否解锁按钮。
是什么¶
这是一个 DSH 插件,用于防止用户盲目批准模型的提权请求。它仅在「工作区内修改」会话生效,审核由模型完成,但不自动放行,只是控制「允许」按钮的可用状态。
核心功能¶
- 会话范围:只接管
workspace-write会话。read-only、danger-full-access、custom会话不受影响。 - 审核逻辑:审核内容基于事实——工具名、
callId对应的参数、审批 reason、cwd。插件不执行命令,也不写入会话日志。 - 审核方式:使用当前会话的模型进行判断。模型以英文 policy 和固定 JSON 输出契约进行推理,结论语言跟随用户界面语言。
- 结果处理:
- 审核通过 → 解锁「允许」按钮。
- 审核不通过 → 锁定按钮 N 秒(默认 3 秒,0–30 可配),之后仍可人工允许。
- 超时、无可用模型、模型返回非 JSON 均按「不可用」处理并倒计时。
- 不计 token:审核调用是插件发起的附加模型调用,不会出现在会话日志或上下文里。
- 结果缓存:同一审批结果会在插件实例上短缓存(最多 64 条),避免重复调用。
安装与启用¶
在 DSH 的安装页面中输入以下任一地址即可安装:
@dynastxu/dsh-anti-blind-approval
https://github.com/Dynastxu/dsh-anti-blind-approval
安装后,在设置页启用「启用 AI 审核」即可生效。关闭该选项会立即回退到 DSH 原生审批面板。
配置项¶
插件通过宿主侧的 Config.volatile() 字段暴露配置,由 @deepseek-ai/dsh-settings 投影成浏览器表单,写入会落在当前 profile 的 cordis.patch.yml:
- id: dsh-anti-blind-approval
name: 'dsh-anti-blind-approval'
config:
enabled: true
model: 'deepseek-account::deepseek-flash' # 留空跟随当前会话
delaySeconds: 3 # 0 表示不锁定
prompt: '' # 留空使用内置提示词
reviewTimeoutMs: 10000 # 10 秒超时
各字段含义如下:
- 启用 AI 审核:开关,关闭后回退到原生面板。
- 审核模型:可选任意已登记的 provider/model,留空则跟随当前会话模型。
- 不安全时锁定时长:0–30 秒,0 表示不锁定。
- 审核超时时间:5000–300000ms,单次审核最大耗时,超时视为失败。
- 审核提示词:内置为英文,可完全自定义,支持
{language}占位符(会被替换为用户界面语言)。 - 测试审核:使用内置样例发起一次真实模型调用,用于验证模型与凭据。
行为与边界¶
- 只接管
workspace-write会话:read-only/danger-full-access/custom会话不受影响(宿主侧会再校验一次 preset)。 - 审核提示词为英文,结论语言跟随用户:内置 policy 与 JSON 输出契约均为英文,通过
{language}占位符控制结论语言,不会因为提示词语言影响reason。 - 只审核,不替你决定:审核通过 = 解锁按钮;审核不通过 = 锁定 N 秒,之后仍可人工允许。
- 失败也锁:超时、无可用模型、模型返回非 JSON 都会按「不可用」处理并倒计时;设为 0 可只提示不锁定。
- 审核调用不计入会话 token:这是插件发起的附加模型调用,不会出现在会话日志/上下文里。
- 结果缓存:同一审批结果会在插件实例上短缓存,重复挂载不会重复调用模型(最多 64 条)。
- 配置是 profile 级的:设置页的写入落在当前 profile 的
cordis.patch.yml,由 config-editor 校验后热更新;同一 profile 的所有浏览器立即看到同一份值;手工编辑cordis.yml也等效。
已知限制¶
- 替换
conversation.composer依赖 DSH 的 slot 链契约(priority 升序、首个非空 select 胜出)。DSH 改版若调整该契约,关掉「启用 AI 审核」即可立即回退原生面板。 - 设置页依赖 ui-settings 提供的
ctx.configForms;在禁用 ui-settings 的客户端组合里插件不会接管审批面板。 - 审核由浏览器面板触发,headless/无 UI 场景没有这层审核。
- LLM 判断可能出错:这是防「盲点允许」的辅助层,不是安全保证。
- 自定义提示词会连同待审参数一起发给审核模型,注意其中可能含敏感内容。
适用场景¶
适合在需要严格控制提权请求的「工作区内修改」场景下使用,作为对原生审批面板的补充。它适合有安全意识的团队或个人,用来减少因习惯性点击导致的误放行。安装前建议检查源码与许可证(MIT)。
结尾¶
插件通过事实核查和锁定机制,降低了盲目批准提权请求的风险。更多细节可参考目录页与 GitHub 仓库。
生态背景¶
DeepSeek Harness 的理念是「一切皆插件」。社区目录是独立站点,与 DeepSeek / 幻方无官方从属关系。