Hermes 没有像 OpenClaw 那样会自动备份配置文件,也不会用git本地备份在关键操作时自动备份,我已经把Hermes搞崩三五次了,比如上次让它自己配置tavily把整个配置文件搞崩等。看网上推荐,都使用三层备份策略。
- 第一层:本地Git,快速回滚到任意版本
- 第二层:Hermes backup/import,导出独立文件
- 第三层:Git远程仓库,防止本地磁盘损坏,异地备份。
具体实现
1. 本地Git备份
- 初始化git仓库
# 进入hermes目录
cd ~/.hermes
# 初始化仓库
git init
- 创建 .gitignore 忽略文件,在
~/.hermes/目录下新建.gitignore文件,根据自己需求配置:
# 敏感文件
.env
.env.*
*.key
secrets/
# Hermes 源码和运行时(文件比较大,重装可重现)
hermes-agent/
node/
node_modules/
# 日志文件
*.log
logs/
*.log.*
# 临时文件
tmp/
temp/
.cache/
# 其他文件根据自己情况设置
- 添加并首次提交
# 添加忽略文件
git add .gitignore
# 添加整个目录
git add .
# 添加账号(如果之前没有添加过)
git config --global user.name "你的用户名"
git config --global user.email "你的邮箱@example.com"
# 第一次提交
git commit -m "Initial Hermes backup"
- 后续备份,写个脚本
#!/bin/bash
cd ~/.hermes
git add .
git commit -m "Auto backup $(date '+%Y%m%d_%H%M%S')" || echo "No changes to commit" echo "Hermes Git 备份完成"
- 还原,直接回滚
cd ~/.hermes
# 查看提交记录
git log
# 回滚到指定版本
git checkout <commit_id>
给执行权限:chmod +x ~/hermes_git_backup.sh,要备份时执行,也可以添加cron定时执行
2. 使用Hermes 内置备份命令
Hermes 从 v0.9.0+ 开始内置了 hermes backup 和 hermes import 命令。
- 备份
# 导出备份文件
hermes backup -o /home/backup/hermes-backup-$(date +%Y%m%d).zip
生成带日期文件名的zip文件,存放在/home/backup目录(前提要创建目录),差不多备份的文件有这么多。

- 恢复
hermes import /home/backup/hermes-backup-20260419.zip
3. 上传远程仓库
- 以GitHub为例,在上面创建一个空的私有仓库(如:hermes-backup),不勾选
Add a README file等。

- 添加远程仓库
git remote add origin git@github.com:你的用户名/hermes-backup.git
- 设置密钥,将github中的密钥文件复制到
/root/.ssh/github_ed25519中 - 修改
/root/.ssh/config添加
Host github.com
HostName github.com
User github用户名
IdentityFile ~/.ssh/github_ed25519
- 测试github链接
chmod 600 /root/.ssh/github_ed25519
chmod 600 /root/.ssh/config
ssh -T git@github.com
- 第一次提交
cd ~/.hermes
git push --set-upstream origin master
- 之后提交
#!/bin/bash
cd ~/.hermes || exit 1
git add .
git commit -m "backup $(date '+%Y%m%d_%H%M%S')" || true
git push || echo "Push 失败,请检查网络或认证"
echo "Hermes 本地 + 远程备份完成 $(date)"
- 恢复,如果本地损坏或重装了。使用克隆
git clone git@github.com:你的用户名/hermes-config-backup.git ~/.hermes
关于.env 相关敏感文件
- 如果是完全私有的自建仓库:可以备份.evn敏感文件,备份更完整,恢复后直接用不用再配置环境变量
- 第三方私有仓库(Github、Gitee等):谨慎备份,建议排除
- 公开仓库:不建议备份到公开仓库中,即使不备份环境变量及各种Key,也会有session等聊天记录备份上去。
总结
| 层级 | 命令/操作 | 频率建议 | 用途 |
|---|---|---|---|
| 第一层 | git add . && git commit |
每次配置变更 | 快速回滚 |
| 第二层 | hermes backup export |
每天自动 | 完整备份 |
| 第三层 | git push origin |
每次 commit | 远程兜底 |
评论区