xAgent 审批策略:控制敏感工具动作
版本范围:下文当前字段与行为按 2026-10-01 源码
43d2698核对。较早公开二进制可能不同;遇到界面或操作差异时,先核对自己的安装版本。
适用对象
本文适合需要确认风险动作的普通用户,以及需要配置安全规则的管理员。
用户审批入口为 /app/approvals,个人规则入口为 /app/approval-policy;管理员系统规则入口为 /admin/approval-policy。处理一次审批与修改长期规则是不同操作。
这是什么
审批用于在具体风险动作执行前让人确认。审批策略用于提前定义哪些工具操作可以直接执行、哪些必须确认、哪些应该拒绝。
用户可以先正常提交任务。只有当 Agent 执行到命中策略的工具调用时,会话才会进入 waiting_approval。同意后会恢复原来的工具调用,拒绝后不会执行该动作。
普通用户只需要知道:当页面提示需要确认时,先看清楚动作和影响,再决定是否允许继续。

图例说明:这是
v005系统策略界面参考图,不代表当前用户审批列表,也不表示系统规则一定优先于个人规则。
什么时候使用
当前可以按策略识别和控制的主要操作包括:
- 工作区文件读取、写入和删除。
- 网络请求和命令执行。
- 邮件等个人数据的读取、写入、删除和向外发送。
- 创建子会话。
- 激活 Skill 草稿和提交公共 Skill。
一次工具调用可能产生多个操作事实,最终按“拒绝优先于审批,审批优先于放行”合并判定。
普通用户怎么处理审批
当会话里出现等待确认时,按下面顺序处理:
- 看清楚要执行的动作。
- 看清楚涉及的文件、外部系统或接收对象。
- 判断是否符合当前任务目标。
- 如果只是生成草稿,可以要求“先不要发送”。
- 确认无误后允许继续;不确定时拒绝或补充说明。
不要因为页面提示“需要审批”就直接同意。审批的目的就是让用户在关键动作前停下来确认。
会话进入审批等待时,xAgent 会尝试向该用户全部可用的 IM 消息通道发送通知,包括 Web 发起的任务。通道需具备可用的消息发送工具、符合连接状态和目标权限要求;发送失败时仍可在 Web 处理。
按通知中的标准引用回复 @{approval:审批ID} 同意 或 @{approval:审批ID} 不同意;英文可用 @{approval:approval-id} approve 或 @{approval:approval-id} reject。旧式 #审批号 不是当前支持的引用格式。不要自行猜测审批 ID,应复制当前通知中的引用。
同一审批只接受第一个有效结果。其他入口稍后回复同一编号,不会重复执行或更改已经接受的结果;回到原会话核对后续执行,而不要重复点击或反复提交新任务。
管理员怎么配置策略
管理员进入 审批策略 页面后,可以维护系统级规则。页面通常包含策略概览、可视化编辑和高级 JSON。
建议优先使用可视化编辑:
| 字段 | 建议理解 |
|---|---|
| 原子操作 | 被控制的具体动作类型 |
| 判定 | 直接放行、需要审批或拒绝 |
| 资源范围 | 规则影响哪些文件、会话或外部资源 |
| 风险 | 对动作风险的标记 |
| 会话类型 | 规则适用于主会话、子会话或全部会话 |
| 数据域 | 规则适用于哪类数据 |
| 敏感动作 | 是否涉及发送、删除、授权等敏感行为 |
| 主机 / URL 前缀 | 外部请求的目标范围 |
策略按顺序匹配,命中第一条符合条件的规则后生效。把更具体、更高风险的规则放在前面,避免被宽泛规则提前放行。
系统策略与个人策略
管理员维护系统策略,普通用户可以维护当前账号的个人策略。当前测试版先匹配个人策略;个人策略未命中或选择“继承”时,再使用系统策略。个人规则明确命中时会覆盖系统判定。
因此,当前个人策略是覆盖层,不是只能加严的补充层。要求管理员策略成为不可放宽底线的企业环境,不应把当前机制当成最终治理方案,部署前需要评估是否开放个人策略配置。
当前默认策略
当前默认策略没有为主会话创建子会话增加单独审批规则;未命中其他规则时默认放行。删除被识别为当前会话子路径(current_session_child)的文件也默认放行,其中包括当前会话产物路径;这个范围已不限于旧文档所写的产物目录。下面这些动作默认需要单次审批:
- 删除工作区中的其他文件。
- 将个人数据发送到外部系统。
- 写入或删除个人敏感数据。
- 激活 Skill 草稿。
- 提交 Skill 到公共库。
没有命中规则的其他操作当前默认放行。团队部署时,应按实际风险补充网络访问、命令执行、文件写入和外部系统操作规则。
建议策略
| 场景 | 建议 |
|---|---|
| 普通文件读取 | 可直接放行 |
| 工作区内生成文件 | 可直接放行或低风险确认 |
| 删除、敏感写入、外部发送 | 需要审批 |
| 不明外部地址访问 | 需要审批或拒绝 |
| 明确禁止的路径或系统 | 直接拒绝 |
不同团队的安全要求不同,当前实际结果由个人策略和系统策略共同决定。
配置后检查
保存策略前建议检查:
- 是否有过于宽泛的直接放行规则。
- 删除、发送、外部请求是否仍会进入审批。
- 规则顺序是否符合预期。
- 是否误把示例主机、示例路径当成真实配置。
- 是否需要对个人审批策略做补充。
保存后可以用一条低风险测试任务验证策略是否生效。
至少分别验证“无个人命中 / 继承”和“个人明确命中”两种情况,并记录工具、实际资源、命中规则和最终判定。一次工具调用含多个操作事实时,单条放行不代表其他事实也获放行。
注意事项
- 审批策略不是用来替代账号权限的。
- 不要把密钥、token、真实密码写进策略说明。
- 系统策略会影响所有用户,修改前要谨慎。
- 当前个人策略可以覆盖系统判定,企业部署前应确认这一行为符合治理要求。
- 高风险动作即使能执行,也建议保留人工确认。
- 如果不确定规则影响范围,先用更严格策略,再逐步放开。