在 DeepSeek Harness(DSH)的插件化生态中,对智能体(Agent)的权限控制与审计是安全开发的核心需求。当 Agent 需要调用敏感工具或访问特定资源时,往往需要一套可配置、可审批、可追溯的拦截机制。dsh-agent-gate 旨在提供这样的权限闸功能,通过分层拦截与审计日志,帮助开发者精细化管理 Agent 的行为边界。
插件定位¶
dsh-agent-gate 是一个由 xingyingyuzhui 维护的权限闸插件。它基于 DSH 的钩子机制(tools/pre-execute + tools.guard),按分层权限对工具调用进行拦截,支持官方一次性审批,并记录 Claw 会话的审计日志。
核心功能¶
- 分层拦截
插件使用tools/pre-execute和tools.guard机制,按分层权限拦截工具调用。 - 审批与审计
拦截调用时触发官方一次性审批流程。审计日志写入~/.dsh/agent-gate/audit.l。 - 技能与 MCP 过滤
从会话的官方技能目录和/选单中移除 Agent 技能拒绝名单中的技能。拒绝未授权的 MCP 服务,并在会话开始时从模型可见工具中移除。 - 策略复用
策略计算复用同目录下的dsh-session-permissions文件(官方 ∩ Agent ∩ 会话)。 - 沙箱隔离
卸载闸后不再拦截新调用,但官方文件沙箱由权限插件继续钉住,不会因卸闸而变宽。
安装与启用¶
官方安装
dsh plugin --profile web add github:xingyingyuzhui/dsh-agent-gate
本地开发
dsh plugin --profile web add link:/abs/path/to/dsh-agent-gate
注意事项
建议同时安装 dsh-session-permissions 插件。安装完成后,重启 dsh web。
典型用法¶
- 配置权限策略
确保与插件同目录存在dsh-session-permissions文件,用于计算权限策略。 - 会话交互
当 Agent 尝试调用被拦截的工具时,会触发官方审批流程。 - 查看审计
查看~/.dsh/agent-gate/audit.l文件,了解拦截历史和结果。 - 管理 MCP
在设置中配置 MCP 拒绝名单,插件会在会话开始时生效。
适用场景与注意¶
- 会话类型
闸只拦截 Claw 会话;工作区会话仅走官方权限,不受此闸影响。 - 卸载影响
卸载插件后,拦截机制会停止,但已钉死的官方文件沙箱权限由权限插件独立维护,不会随之放宽。 - 运行环境
插件在当前 dsh 进程权限下运行。安装前应检查源码与许可证。
该插件为 DSH 提供了细粒度的权限控制层。更多细节与源码,请访问 GitHub。