我用 1 小时,把 AI Agent 从 OpenClaw 迁到了 Hermes,踩了 4 个坑
上周,我发现一直在用的 OpenClaw AI Agent 对比 Hermes 没有那么好用。
OpenClaw 作为早期热门的 AI Agent 框架,在编程辅助和插件生态上确实做得不错,但随着使用深入,一些问题逐渐暴露:跨会话记忆不够持久、消息平台接入繁琐、对国产模型的支持也不够友好。
而另一边,Hermes Agent 正在快速崛起。它不仅继承了 OpenClaw 的核心架构,还增加了自进化能力、持久化记忆、消息网关等新特性。腾讯云 Lighthouse 甚至把它做成了内置应用模板,一键就能部署。
既然如此,为什么不直接迁过去呢?
说干就干。整个过程花了我大约一个小时,包括备份、重装、迁移、验证。但说实话,如果没有那 4 个坑,半小时就够了。
下面我把完整过程记录下来,供你参考。
一、动手之前,先做好这两件事
任何涉及服务器系统的操作,第一步都应该是备份。不是”等会儿再备”,是”现在就备”。
1.1 创建自定义镜像
登录腾讯云 Lighthouse 控制台,找到你的服务器,点击「更多」→「制作镜像」。输入镜像名称,等待 10-20 分钟,一个完整的系统镜像就做好了。
这个镜像有什么用?如果后续操作出了大问题——比如误删数据、迁移失败、系统崩了——你可以在控制台用这个镜像一键恢复,服务器会回到备份时的状态,所有文件原封不动。
1.2 创建快照
快照是云硬盘的增量备份,比镜像更轻量。在 Lighthouse 控制台找到云硬盘,点击「创建快照」。快照通常几分钟就能完成。
镜像 + 快照,双保险。 镜像用于整机回滚,快照用于快速恢复磁盘数据。操作之前这一步不能省。
我在实际操作中就遇到了备份文件下载损坏的问题,最后靠自定义镜像恢复了原始系统,才得以重新备份。如果当初没做镜像,数据就真的丢了。
二、备份 OpenClaw 数据
做好镜像和快照后,开始备份数据。
OpenClaw 的核心数据都在/root/.openclaw 目录下,包括:
-
模型配置和 API 密钥 -
Agent 会话历史 -
自定义技能 -
记忆和用户画像 -
工作区文件
我的数据量大约 2.9GB,压缩后 986MB。备份命令:
sudo tar -czf /home/ubuntu/openclaw-backup-20260704.tar.gz -C /root .openclaw
然后下载到本地:
scp -i your-key.pem ubuntu@your-server-ip:/home/ubuntu/openclaw-backup-20260704.tar.gz ./
这里我踩了第一个坑。
坑 1:SCP 下载文件损坏
第一次下载时,文件大小看起来正常,但解压时直接报错。原因是 SCP 在传输大文件时没有进度显示,网络波动可能导致传输不完整。
解决方法:下载完成后务必验证完整性。
# 本地计算 MD5 md5 openclaw-backup-20260704.tar.gz # 服务器端计算 MD5 md5sum /home/ubuntu/openclaw-backup-20260704.tar.gz # 比对两者是否一致 # 再用 gzip 测试文件完整性 gunzip -t openclaw-backup-20260704.tar.gz
MD5 一致 + gzip 测试通过,才能确认文件完好。这一步不能省,否则后面的迁移全是在白费力气。
三、重装为 Hermes 系统
确认备份文件完整后,进入腾讯云 Lighthouse 控制台。
点击「重装系统」→ 选择「应用模板」→ 找到「Hermes Agent」→ 确认重装。整个过程大约 5-10 分钟。
重装完成后,你会获得一个新的系统,Hermes 已预装完毕。SSH 登录凭据可以在控制台查看或重新设置。
注意:重装系统会清空磁盘上的所有数据!这就是为什么必须先做好备份。
四、上传备份并执行迁移
4.1 上传备份文件
scp -i your-key.pem ./openclaw-backup-20260704.tar.gz ubuntu@your-server-ip:/home/ubuntu/
4.2 解压到临时目录
sudo mkdir -p /tmp/openclaw_migrate sudo tar -xzf /home/ubuntu/openclaw-backup-20260704.tar.gz -C /tmp/openclaw_migrate
4.3 执行一键迁移
Hermes 内置了专属迁移命令,一条命令就能完成所有迁移工作:
hermes claw migrate --preset full --migrate-secrets --overwrite --yes --source /tmp/openclaw_migrate/.openclaw
理想情况下,这条命令会:
-
迁移灵魂配置(SOUL.md) -
迁移记忆和用户画像 -
迁移所有自定义技能 -
迁移模型配置和 API 密钥 -
迁移 Agent 会话历史 -
迁移工作区文件
听起来很美好。但实际上,我在这里连踩了三个坑。
坑 2:残留的 OpenClaw 进程
执行迁移命令时,Hermes 检测到 OpenClaw 进程仍在运行,直接中断:
✗ OpenClaw appears to be running: * openclaw process(es) (PIDs: 4888)
重装系统后怎么还会有 OpenClaw 进程?因为 Hermes 和 OpenClaw 共享部分底层组件,系统启动时自动拉起了相关进程。
解决方法:
# 杀掉所有 OpenClaw 相关进程 sudo pkill -9 -f openclaw # 如果是 systemd 服务控制的,先停掉 sudo systemctl stop openclaw sudo systemctl disable openclaw
杀掉进程后,这些进程可能会自动重启。你需要确认进程完全消失后再执行迁移。
坑 3:文件权限问题
这是最让人头疼的一个坑。
迁移过程中不断报错:
Permission denied: '/root/.openclaw/workspace'
原因很隐蔽:/root 目录的权限是drwx------,即只有 root 用户可以访问。而 Hermes 迁移工具是以普通用户 ubuntu 运行的,根本无法穿越/root 目录去访问任何子目录。
即使你把子目录的权限全改成 777,只要/root 本身不放开,一切都是白费。
解决方法:
# 临时给 /root 添加其他用户的执行权限 sudo chmod o+x /root
这步之后,迁移工具的权限检查就能通过了。迁移完成后可以恢复:
sudo chmod o-x /root
坑 4:配置文件中的硬编码路径
OpenClaw 的很多配置文件中,路径是写死的/root/.openclaw。你把数据拷贝到其他位置,这些引用并不会自动更新。
虽然 Hermes 迁移工具会自动处理大部分路径替换,但在预览阶段就可能因为这些硬编码路径导致失败。
解决方法:把数据完整复制到原始路径,让迁移工具能找到它期望的位置:
sudo cp -a /tmp/openclaw_migrate/.openclaw /root/.openclaw sudo chown -R ubuntu:ubuntu /root/.openclaw
五、迁移结果
解决完这四个坑之后,迁移终于顺利完成了。
最终结果:73 个项目成功迁移,包括:
|
|
|
|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
迁移前的自动备份保存在/home/ubuntu/.hermes/backups/ 目录下,随时可以回滚。
六、总结
整个过程的技术难度其实不高,Hermes 的迁移工具做得相当成熟。真正耗费时间的,是那些看似不起眼的”小事”:
- SCP 文件损坏
— 务必验证 MD5 和 gzip 完整性 - 残留进程
— 迁移前彻底清理所有相关进程 - 目录权限
— /root的默认权限是迁移的最大隐形杀手 - 硬编码路径
— 配置文件中可能存在绝对路径引用
回顾这次迁移,我的建议是:
迁移前做好镜像和快照。 这让你有随时”反悔”的底气。我在备份文件损坏时,就是靠自定义镜像恢复了原始系统,才避免了数据丢失。
每一步都做验证。 文件下载完验证 MD5,进程杀完确认消失,权限改完测试可读。宁可多花 30 秒验证,也不要花 30 分钟排查。
善用 Hermes 的迁移工具。 它确实做得不错,73 个项目一次完成,记忆、技能、配置全部平滑过渡。相比之下,手动迁移的工作量要大得多。
现在,我的 Hermes Agent 已经在腾讯云 Lighthouse 上稳定运行。Gateway 服务常驻后台,API 密钥已配置,历史会话全部保留。
如果你也在考虑从 OpenClaw 迁到 Hermes,希望这篇文章能让你少踩几个坑。
夜雨聆风