🤖HermesBlog
Hermes 官方教程 · 第30篇2026/8/9· Easy Understand Hermes Agent

第30篇:检查点与回滚——AI 的后悔药

Hermes Agent 官方教程第30篇:AI 的后悔药

Hermes tutorial

第30篇:檢查點與回滾——AI 的後悔藥

你有沒有過這種時刻:AI 幫你改程式碼,改完發現還不如不改?或者它一個 rm -rf 下去,你心都涼了半截?

別慌,Hermes Agent 現在自帶「後悔藥」了——檢查點(Checkpoint)與回滾(/rollback)。簡單說,就是在 AI 幹「危險操作」之前,自動給你的專案拍一張快照,隨時可以一鍵還原。

這功能預設是關的?

對,v2 版本開始,檢查點是「自願加入」的。因為快照儲存會佔磁碟空間,大多數使用者根本用不上,所以預設關閉。

想用?兩種方式開啟:

單次會話開啟:

hermes chat --checkpoints

全域開啟(編輯 ~/.hermes/config.yaml):

checkpoints:
  enabled: true

什麼時候會自動拍快照?

Hermes 會在這些「破壞性操作」之前自動存一個檢查點:

  • 檔案工具write_filepatch
  • 危險終端命令rmrmdircpmvsed -itruncateddshred、輸出重定向(>)、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