在 DeepSeek Harness (DSH) 中构建智能体时,权限管理是核心痛点。频繁的人工审批会拖慢迭代速度,而完全放开权限又存在安全风险。DSH 原生的审批流程需要逐条确认,对于确定性的操作缺乏自动化处理能力。
dsh-auto-pass 插件通过引入“模型审查”机制,为 DSH 增加了一个“自动审批”权限预设。它不会盲目放行,而是由模型对每个需要审批的操作进行单次审查,仅对通过审查的请求自动放行,其他情况交还给人工作业。
核心功能¶
该插件提供以下核心能力:
- 模型审查机制:每个审批请求都会经过一次单次模型调用(无子代理、无工具调用),模型根据操作的安全性和意图决定是否放行。
- 黑白名单管理:支持全局和项目范围的双重允许列表与拒绝列表。命中名单的操作直接放行或拒绝,无需经过模型审查。
- 审批时间线面板:在 Web UI 中提供可视化的审批记录面板,支持按状态筛选。
- 拒绝列表开关:默认关闭,开启后命中拒绝列表的操作将直接被拒绝,不再进入人工审批流程。
工作原理¶
插件的工作流程遵循“沙箱检查 -> 审查 -> 决策”的路径。
- 基础检查:操作首先检查是否满足基础工作区写入权限,满足则直接执行。
- 优先级检查:对于需要升级权限的操作,插件先检查允许列表和拒绝列表。
- 允许列表:命中则直接放行,不调用模型。
- 拒绝列表:命中则根据开关决定。若开关关闭,转交人工;若开启,直接拒绝。
- 模型审查:未命中列表的操作,插件构造包含规范化操作描述和证据(最后一条直接消息)的 Prompt,调用模型进行单次审查。
- 结果处理:模型审查通过则自动执行一次;审查拒绝、超时或模型无法判断的情况,均转交给人工作业。
配置与用法¶
在 DSH Web UI 中启用该插件非常直接:
- 选择预设:在权限预设选项中,选择
自动审批。 - 配置阈值:默认情况下,同一个权限在同一个项目中连续批准 3 次后,会自动将该权限写入允许列表(项目级)。连续拒绝 3 次则写入拒绝列表。
- 使用拒绝列表:在“审批策略”面板中,找到“拒绝列表”开关并开启。开启后,命中拒绝列表的操作将不再弹出审批卡片。
技术要求¶
- 运行环境:该插件基于 Node.js 开发,需要安装 Node.js 版本
^22.19.0 || >=24.0.0。 - 权限指纹:允许列表和拒绝列表的匹配基于“权限指纹”,即工具名加上规范化后的参数(排除描述性字段、管道符、输出重定向等不可变特征,保留关键参数)。
- 审查 Prompt:模型仅收到规范化后的操作描述和有限的证据信息,无法访问子代理或文件系统,保证了审查的独立性和安全性。
注意事项¶
- 该插件无法解决无人值守操作,模型拒绝或审查失败的操作必须由用户决定。
- 列表检查优先于模型审查,且项目级规则优先于全局规则。
- 插件仅在使用“自动审批”权限预设时生效,其他预设走 DSH 原生流程。