动态

Hermes检查点系统:自动快照破坏性操作,支持/rollback回滚

Hermes检查点系统:自动快照破坏性操作,支持/rollback回滚
Teknium 🪽
RT @iamlukethedev: Hermes隐藏功能:/rollback

我刚刚看到一个人工智能智能体在3秒内销毁了一个代码库。

rm -rf src/
rm -rf tests/
git reset --hard

它在一个回合中全部执行了。智能体早期出现逻辑错误,逐渐升级为灾难性故障。

于是我输入:/rollback 1

一切恢复了。

文件还原。智能体上下文回退。就像从未发生过一样。

这就是检查点系统。

它的功能如下:

Hermes在每次破坏性操作前自动快照您的项目:

- 文件写入(write_file)
- 文件修补(patch)
- 危险终端命令(rm, git reset --hard, sed -i 等)

每个目录每个回合一个快照。长时间会话中不会产生垃圾。

当事情出错时(或者做对了,但您想要不同的方法):

/rollback 列出所有带变更统计的快照
/rollback <N> 恢复到快照N并回退智能体上下文(文件系统状态与智能体上下文匹配)
/rollback diff <N> 预览自快照N以来的变更
/rollback <N> filename 从快照N恢复单个文件

如何启用:

每会话:
hermes chat --checkpoints

或全局在~/.hermes/config.yaml:
checkpoints:
enabled: true

底层工作原理:

单一共享git仓库(~/.hermes/checkpoints/store/)
Git的内容寻址对象数据库跨项目去重
每个项目的引用独立跟踪快照历史
结果:第一个快照后,每个新快照几乎零存储成本

安全护栏:

跳过大于max_file_size_mb(默认10MB)的文件
跳过过宽的目录(根目录/,家目录$HOME)
跳过包含5万以上文件的仓库
自动清理孤儿项目(其工作目录不再存在)
尊重max_snapshots(默认20)和max_total_size_mb(默认500)
如果git不在PATH中,检查点透明禁用
非致命错误在调试级别记录;您的工具继续运行

它不是什么:

不是git的替代品
不是完整的版本控制
不是递归备份魔法

只是人工智能操作的安全网。可选加入。静默。几乎零成本。

最适合:

无人值守自动化(cron任务、部署、CI/CD)
错误级联的多步骤重构
希望立即中止的批量文件操作
不完全有把握的实验

真实例子:

智能体重构您的包结构:
快照1:write_file新模块(+847行)
快照2:跨15个文件patch导入
快照3:终端rm -rf old_src/

在步骤3的某个地方,它删除了比预期更多的内容。

/rollback 1

回到重构开始之前。智能体上下文回退。您重新掌控。

这就是区别:
- 手把手自动化(您观看每一步)
- 可信自动化(您放手去做,但有撤销按钮)

CLI命令(在会话外):

hermes checkpoints
hermes checkpoints status
hermes checkpoints prune
hermes checkpoints clear

配置选项:

checkpoints:
enabled: false
max_snapshots: 20
max_total_size_mb: 500
max_file_size_mb: 10
auto_prune: true
retention_days: 7

为什么现在很重要:

大多数人工智能智能体框架没有撤销功能。您应该手动使用git。Hermes内置了它,透明、自动、智能。
动态Teknium 🪽2026-07-22原文

相关内容