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

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

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

检查点与回滚:AI 的后悔药

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

你有没有过这种时刻:AI 助手一顿操作猛如虎,结果把你的配置文件改得乱七八糟,你想回到五分钟前那个“还能跑”的状态,却只能干瞪眼?

好消息是,Hermes Agent 从 v2 开始内置了检查点(Checkpoint) 系统——相当于给 AI 装了一颗“后悔药”。更妙的是,它默认是关闭的,想用才开,不打扰大多数人。

怎么开启?

两种方式,任选其一:

临时开启(仅本次会话):

hermes chat --checkpoints

永久开启(写入全局配置):

# ~/.hermes/config.yaml
checkpoints:
  enabled: true

什么时候会自动拍照?

Hermes 会在破坏性操作前自动快照,比如:

  • 文件工具write_filepatch
  • 危险命令rmrmdircpinstallmvsed -itruncateddshred> 重定向,还有 git reset / clean / checkout

每个目录每轮对话最多存一个快照,不会刷屏。

怎么用?超简单!

在会话里直接敲:

命令 作用
/rollback 列出所有检查点
/rollback 3 恢复到第 3 个检查点(保留你手动改的内容)
/rollback 3 --all 完全恢复(覆盖你手动改的内容)
/rollback diff 3 预览第 3 个检查点和现在的差异
/rollback 3 config.py 只恢复单个文件

背后的黑科技

这个系统靠一个共享的影子仓库工作,存在 ~/.hermes/checkpoints/store/ 里。你项目的真实 .git 完全不会被碰。所有项目共用同一个存储,Git 的内容寻址机制会自动去重,所以不会爆炸式增长。

命令行管理

在终端外也能管:

hermes checkpoints          # 查看总大小、项目数
hermes checkpoints prune    # 手动清理孤儿/过期快照
hermes checkpoints clear    # 清空整个检查点库(会先问你)

顺带一提,hermes checkpoints statuslist 跟裸敲 hermes checkpoints 是一回事;如果你是从 v1 升上来的,还能用 hermes checkpoints clear-legacy 单独删掉迁移时留下的旧归档。

容器后端的小提醒

如果你用的是容器终端后端(dockersingularitymodaldaytonavercel_sandbox 或容器插件),文件路径属于沙箱而不是宿主机,Hermes 就不会给这些路径做检查点。这时 /rollback 还是能列出宿主机上已有的检查点,但 diff 和恢复会被拒绝,并告诉你原因;TUI 和 Desktop 里也一样,/rollback list 能用,/rollback diff/rollback <N> 会被挡下。本地和 SSH 后端不受影响。

配置调优

checkpoints:
  enabled: true
  max_snapshots: 20          # 每项目最多 20 个快照
  max_total_size_mb: 500     # 总大小上限 500MB
  max_file_size_mb: 10       # 超过 10MB 的文件不备份
  auto_prune: true           # 自动清理过期快照
  retention_days: 7          # 保留 7 天

自动清理现在是后台跑的:CLI 启动后会在辅助线程里扫一遍,网关则在自己的例行维护时扫,不会卡住你的输入或启动(毕竟大仓库上跑一次 git gc 可能要几十秒)。它只删超过 retention_days 的项目,从不动那些“孤儿”条目(工作目录找不到的)——因为目录消失可能是项目删了,也可能是外接盘/网络共享/VPN 还没挂上,所以清孤儿只能靠你手动 hermes checkpoints prune,还会先问你一句。

小结

检查点系统就像游戏里的自动存档——平时感觉不到它的存在,但关键时刻能救你一命。强烈建议开启试试,尤其是做大规模重构或者让 AI 跑危险命令的时候。

下次 AI 把代码改崩了,别慌,一句 /rollback 就能回到从前。这感觉,真香!

📖 官方文档

本文根据 Hermes Agent 官方文档编写,原文见:官方文档 › user-guide/checkpoints-and-rollback