Hermes 官方教程 · 第9篇2026/8/9· Easy Understand Hermes Agent
安全设置——放心让 AI 帮你干活
Hermes Agent 官方教程第九篇:安全。命令审批、文件保护、容器隔离。
安全設定——放心讓 AI 幫你幹活
上一篇文章我們聊了怎麼讓 Hermes 自己定時幹活(cron),那問題來了:讓 AI 自動跑命令,萬一它幹壞事怎麼辦? 別慌,Hermes 的安全模型是「縱深防禦」,整整八層防護,咱們今天挑重點講。
八層防護,層層設卡
簡單說,Hermes 從「誰能跟我說話」到「命令危不危險」再到「檔案能不能亂寫」,每一層都有檢查。最核心的幾層:
- 使用者授權——只有白名單裡的人能指揮它(比如 Telegram/Discord 私聊配對)
- 危險命令審批——破壞性操作必須有人點頭
- 檔案寫入沙箱——
write_file/patch有黑名單和可選沙箱 - 容器隔離——Docker/Singularity/Modal 跑在沙盒裡
- 上下文檔案掃描——防止專案檔案裡藏提示注入攻擊
- 跨會話隔離——會話之間互相摸不到資料,cron 儲存路徑也防了路徑穿越
危險命令審批:三種模式隨便選
這是最常用的安全開關,配置在 ~/.hermes/config.yaml:
approvals:
mode: smart # smart | manual | off
timeout: 300 # 等使用者回覆的秒數
cron_mode: deny # cron 遇到危險命令:deny 直接攔,approve 自動放行
single_query_mode: deny # hermes chat -q 單次問答同理
三種模式的區別:
| 模式 | 行為 |
|---|---|
| smart(預設) | 用輔助 LLM 判斷風險。低風險命令(比如 python -c "print('hello')")自動放行;真危險的自動拒絕;拿不準的彈窗問你 |
| manual | 所有危險命令一律彈窗,人工審批 |
| off | 關閉所有審批,等於 --yolo,只在 CI/CD 或容器等可信環境用 |
YOLO 模式:想徹底放飛?有三道門
YOLO 模式會繞過所有危險命令審批(但硬性黑名單依然生效),三種開啟方式:
hermes --yolo # 1. 啟動時加參數
# 或會話裡輸入 /yolo # 2. 斜槓命令,再輸一次就關掉
# 或 export HERMES_YOLO_MODE=1 # 3. 環境變數
開啟後終端會一直顯示 ⚠ YOLO 紅色橫幅和狀態列標記,提醒你別浪過頭。注意:/clear、/new、/reset、/undo 這些破壞性會話命令,就算 YOLO 模式下也會彈確認框(除非設了 HERMES_TUI_NO_CONFIRM=1 強跳)。
新變化:審批逾時與 cron 策略
新版加了 timeout 參數(預設 300 秒),你半天不回覆,審批就逾時作廢。另外 cron_mode 和 single_query_mode 預設都是 deny——意思是定時任務或 -q 單次問答遇到危險命令時,直接拒絕,AI 得自己另想辦法,而不是傻等一個不會出現的使用者。
小貼士
- 日常用 smart 模式最省心,低風險命令不打擾你,真危險的才彈窗
- 跑自動化腳本建議用容器隔離 +
cron_mode: deny,雙保險 - 別在共享電腦上開 YOLO,除非你想看 AI 幫你
rm -rf /
安全設定調好了,AI 幹活你才能真放心。下一篇咱們聊聊怎麼用 MCP 給 Hermes 插上更多工具,記得關注!
📖 官方文档
本文根据 Hermes Agent 官方文档编写,原文见:官方文档 › user-guide/security