Hermes 官方教程 · 第30篇2026/8/9· Easy Understand Hermes Agent
第30篇:检查点与回滚——AI 的后悔药
Hermes Agent 官方教程第30篇:AI 的后悔药
第30篇:檢查點與回滾——AI 的後悔藥
你有沒有過這種時刻:AI 幫你改程式碼,改完發現還不如不改?或者它一個 rm -rf 下去,你心都涼了半截?
別慌,Hermes Agent 現在自帶「後悔藥」了——檢查點(Checkpoint)與回滾(/rollback)。簡單說,就是在 AI 幹「危險操作」之前,自動給你的專案拍一張快照,隨時可以一鍵還原。
這功能預設是關的?
對,v2 版本開始,檢查點是「自願加入」的。因為快照儲存會佔磁碟空間,大多數使用者根本用不上,所以預設關閉。
想用?兩種方式開啟:
單次會話開啟:
hermes chat --checkpoints
全域開啟(編輯 ~/.hermes/config.yaml):
checkpoints:
enabled: true
什麼時候會自動拍快照?
Hermes 會在這些「破壞性操作」之前自動存一個檢查點:
- 檔案工具:
write_file、patch - 危險終端命令:
rm、rmdir、cp、mv、sed -i、truncate、dd、shred、輸出重定向(>)、git reset/clean/checkout
而且每個目錄每輪對話最多只存一次,不會瘋狂刷快照。
怎麼用?超簡單!
在會話裡直接敲:
| 命令 | 作用 |
|---|---|
/rollback |
列出所有檢查點 |
/rollback 3 |
恢復到第 3 個檢查點(保留你手動改的東西) |
/rollback 3 --all |
完全恢復,你手改的也覆蓋掉 |
/rollback diff 3 |
預覽第 3 個檢查點和現在的差異 |
/rollback 3 某個檔案 |
只恢復那一個檔案 |
背後原理是啥?
Hermes 內部有個 Checkpoint Manager,它維護一個共享的影子 Git 倉庫,放在 ~/.hermes/checkpoints/store/。你專案的真實 .git 永遠不會被動。
所有專案共用這一個倉庫,Git 的內容定址儲存會自動去重,所以不會爆炸式佔空間。
命令列管理工具
在終端機外也能管理:
hermes checkpoints # 檢視總大小、專案數、各專案明細
hermes checkpoints prune # 清理孤兒/過期快照,強制 GC
hermes checkpoints clear # 清空所有檢查點(會先確認)
設定項一覽
checkpoints:
enabled: false # 總開關(預設關)
max_snapshots: 20 # 每個專案最多 20 個快照
max_total_size_mb: 500 # 總儲存上限 500MB
max_file_size_mb: 10 # 超過 10MB 的檔案不拍快照
auto_prune: true # 自動清理過期快照
retention_days: 7 # 保留 7 天
min_interval_hours: 24 # 至少間隔 24 小時才清理一次
舉個實際例子
你讓 AI 改設定檔,它用 sed -i 改了,結果改錯了。你只需要:
/rollback
看到列表:
📸 Checkpoints for /path/to/project:
1. 4270a8c 2026-03-16 04:36 before patch (1 file, +1/-0)
2. eaf4c1f 2026-03-16 04:35 before write_file
3. b3f9d2e 2026-03-16 04:34 before terminal: sed -i s/old/new/ config.py
然後:
/rollback 3
搞定!檔案恢復如初,你手改的其他內容也還在。
小結
檢查點功能就是給 AI 操作加了一道安全網。雖然預設關閉,但如果你經常讓 AI 動檔案、跑命令,強烈建議開啟。畢竟——後悔藥這種東西,有備無患嘛。
📖 官方文档
本文根据 Hermes Agent 官方文档编写,原文见:官方文档 › user-guide/checkpoints-and-rollback