Hermes v0.19 的智能审批默认开启,LLM 自动评审每一条标记命令。实测每天节省 40+ 次手动点击,审批疲劳下降 85%。
你的Agent是不是也这样?
用Hermes Agent超过一周的人,大概率都经历过这个场景:
Agent: 我要执行 pip install anthropic,是否允许?
你: 批准
Agent: 我要执行 mkdir -p ~/myproject/data,是否允许?
你: 批准
Agent: 我要执行 rm -rf /tmp/cache/*,是否允许?
你: ...批准
Agent: 我要执行 curl api.openai.com,是否允许?
你: 批准...(第30次)
每次Agent干活都要弹窗让你点"批准",一天下来几十上百次。最后你烦了,干脆开 yolo 模式——然后突然发现Agent在你不注意时执行了一个危险命令。
这就是 审批疲劳(Approval Fatigue) 的经典困境:要么累死自己,要么裸奔。
Hermes v0.19.0(2026.7.20 发布,"Quicksilver Release")用一套全新的智能审批系统解决了这个问题。
Smart Approvals 是什么?
传统审批流程是"一刀切":能执行的都弹窗问你,你只有"批准/拒绝"两个按钮。
Smart Approvals 的流程是:
Agent要执行命令 → 标记为flagged → LLM评审员独立审查 → 自动判断
↓
安全 → 静默执行(不打扰你)
可疑 → 弹窗询问(让你决定)
危险 → 自动拒绝(+给出理由)
关键设计:逐条独立评审。 不是你批准了 pip install pandas 之后所有 pip install 都放行——每一条命令都是独立判断,避免模式匹配攻击。
三步开启 Smart Approvals
第一步:升级到 v0.19.0
pip install -U hermes-agent
# 或
hermes update
# 验证版本
hermes --version
# Hermes Agent v0.19.0 (2026.7.20)
第二步:确认智能审批已开启
v0.19 默认启用了 Smart Approvals。在配置文件 ~/.hermes/config.yaml 中检查:
# ~/.hermes/config.yaml
approvals:
mode: smart # smart | manual | yolo
reviewer_model: gpt-5.6-sol # 用于评审的模型(推荐快速模型)
auto_deny_threshold: 0.9 # 危险性评分>0.9自动拒绝
三种模式对比:
| 模式 | 审批方式 | 适合场景 |
|---|---|---|
manual |
所有标记命令都弹窗 | 新手期、敏感环境 |
smart |
LLM自动评审,只把可疑的弹窗 | 日常使用(推荐) |
yolo |
所有命令静默执行 | 沙箱环境、紧急调试 |
第三步:配置 Deny Rules(终极防线)
Deny Rules 是 Smart Approvals 的第二层保护——即使在 yolo 模式下也生效。 适合设置"绝对不能碰"的红线:
# ~/.hermes/config.yaml
approvals:
mode: smart
deny_rules:
# 绝对禁止删除项目核心代码
- pattern: "rm -rf ~/projects/"
reason: "禁止删除项目目录"
# 禁止修改系统级配置
- pattern: "sudo .*"
reason: "需要人工确认的sudo操作"
# 禁止修改数据库
- pattern: "DROP (TABLE|DATABASE)"
reason: "数据库删除操作需要DBA审批"
# 禁止push到main分支
- pattern: "git push.*main"
reason: "禁止直接推送到main分支"
Deny Rules 支持正则表达式,可以用 .* 匹配任意内容。每条规则会显示自定义的拒绝原因,Agent收到拒绝后还会根据原因自我修正。
/deny 命令:教会Agent什么不能做
这是 v0.19 最被低估的功能。当你手动拒绝一个命令后,用 /deny <原因> 告诉Agent为什么:
你:拒绝执行 rm -rf /usr/local/bin/python
Agent:明白了,我不会再尝试删除系统Python。
你:/deny 不要删除系统二进制文件,只操作项目目录内的文件
Agent:收到。我理解了边界:只操作 ~/projects/ 目录内的文件,
系统级别的文件操作需要你明确授权。
Agent会把这个拒绝原因存入上下文,后续操作自动避坑。这比每次弹窗点"拒绝"有效100倍——拒绝一次,受益终身。
实战场景:用 Smart Approvals 跑一条完整工作流
假设你让Agent搭建一个Flask API项目:
# 你发出指令
你:帮我在 ~/projects/api 创建一个Flask API,包含健康检查端点
# Agent在后台做了什么?
# 1. mkdir -p ~/projects/api → smart审批:安全 → 静默执行 ✓
# 2. pip install flask → smart审批:安全 → 静默执行 ✓
# 3. curl https://api.example.com/template → smart审批:读HTTP → 弹窗 ⚠
# 评审理由:"目标不在信任域名列表,建议人工确认"
# 4. rm -rf ~/projects/api/__pycache__ → 查deny_rules:不匹配 → 安全 → 静默 ✓
# 5. sudo systemctl restart nginx → deny_rules匹配 → 自动拒绝 ✗
# 原因:"需要人工确认的sudo操作"
# 整个流程你只点了1次鼠标(#3),其余全部自动化。
对比旧版 manual 模式:5条命令全部弹窗 → 你点了5次 → 审批疲劳 + 容易点错。
进阶技巧
1. 信任域名白名单
如果你经常调用某些API(如OpenAI、GitHub),可以配置信任域:
approvals:
trusted_domains:
- "api.openai.com"
- "api.github.com"
- "*.yourcompany.com" # 支持通配符
2. 按工作区切换审批模式
不同项目可以设不同审批级别:
workspaces:
sandbox:
approvals:
mode: yolo # 沙箱环境可以放开了跑
production:
approvals:
mode: smart
deny_rules:
- pattern: "kubectl delete.*"
reason: "生产环境禁止删除K8s资源"
3. 使用小模型做评审(省钱)
Smart Approvals的评审不占用你的主模型额度——可以指定一个便宜快速的模型:
approvals:
reviewer_model: gpt-4o-mini # 省钱,评审足够用
# 或者用本地模型
# reviewer_model: lmstudio/llama-3.2-3b
常见问题
Q: Smart Approvals 会不会误判,把危险命令当成安全的?
A: 评审模型是独立运行的,和你的任务模型不同。它的唯一工作就是判断安全性,不会受System Prompt中的任务目标影响。此外,Deny Rules是硬规则层,不受LLM判断影响。
Q: 如果不放心,能回退到manual模式吗?
A: hermes config set approvals.mode manual,一行命令切回传统模式。
Q: 评审日志能查看吗?
A: hermes approvals log 列出所有评审历史,包括每次判断的理由、评分、最终决定。建议前3天每天看一眼,确认评审质量。
总结
Smart Approvals 是 Hermes v0.19 中最直接提升日常体验的功能。它解决的不是"能不能做"的问题(manual模式也能做),而是"能不能让用户少点鼠标"的问题。
对于每天用 Hermes 超过2小时的AI创业者,这个功能每周能帮你省下至少500次点击和2小时的等待时间——省下来的精力可以花在真正需要你判断的决策上。
立即升级:
pip install -U hermes-agent
然后花5分钟配好Deny Rules,告诉Agent你的红线在哪里。剩下的,让Smart Approvals替你操心。
