AgentHarness 课程
Hermes 专题/课程概述

第二十四课:审批机制与 ExecPolicy

untrusted/on-request/never.rules文件自定义策略

学习目标

  • 理解三级审批策略
  • 掌握 ExecPolicy 规则文件
  • 了解自定义策略配置

一、审批策略

审批策略决定了代理执行命令时是否需要用户确认。

1.1 untrusted(不信任)

所有命令都需要用户确认。这是最安全的策略,适合:

  • 安全审查
  • 敏感操作
  • 初次使用

1.2 on-request(按请求)

只有代理请求时才需要确认。这是推荐的日常策略:

  • 代理会自动判断是否需要确认
  • 危险操作会请求确认
  • 常规操作自动执行

1.3 never(从不)

自动批准所有命令。仅用于:

  • CI/CD 环境
  • 自动化脚本
  • 隔离环境

二、配置方法

2.1 命令行

codex --ask-for-approval untrusted "审查代码"
codex --ask-for-approval on-request "开发功能"
codex --ask-for-approval never "运行测试"

2.2 配置文件

# ~/.codex/config.toml
approval_policy = "on-request"

三、ExecPolicy 规则

ExecPolicy 允许你定义自定义的命令执行规则。

3.1 规则文件格式

# ~/.codex/rules
# 允许 git 命令
git * : allow
# 禁止删除
rm -rf * : deny
# 需要确认
npm install * : ask

3.2 规则优先级

规则从上到下匹配,第一个匹配的规则生效。

3.3 规则类型

  • allow:自动允许
  • deny:自动拒绝
  • ask:需要用户确认

四、最佳实践

  1. 使用 on-request 作为默认策略
  2. 为常见命令创建 allow 规则
  3. 为危险命令创建 deny 规则
  4. 定期审查和更新规则

五、本课小结

要点说明
untrusted所有命令需确认
on-request按请求确认(推荐)
never自动批准(CI用)
ExecPolicy自定义命令规则

下一步

下一课我们将了解安全最佳实践。