Hermes 迁移简易步骤
万事具备,现在准备正式将 Hermes 从服务器迁移到本地的 WSL了!查阅了一下相关资料,原来官方已经考虑到迁移问题了,有内置的 backup 和 import 命令。这会迁移所有配置、记忆和技能。
整个过程可以分为三个清晰的阶段:
🚀 第一阶段:在服务器上备份
-
SSH 连接到服务器。
-
执行备份命令:
hermes backup这个命令会将
~/.hermes/目录下几乎所有重要的数据(配置、密钥、技能、记忆、会话、定时任务等)打包成一个带时间戳的 ZIP 文件。默认会放在用户主目录下,例如~/hermes-backup-<timestamp>.zip。 -
下载备份文件:使用
scp或rsync等工具,将这个 ZIP 文件从服务器下载到 Windows 本地(例如,放在 WSL 能访问到的目录,如C:\Users\你的用户名\Downloads\)。
💻 第二阶段:在本地 WSL 中导入
-
在 WSL 中安装 Hermes:确保你的 WSL 已经安装了和服务器版本一致(或尽可能新)的 Hermes。可以通过官方脚本安装:
curl -fsSL https://hermes-agent.nousresearch.com/install.sh | bash -
执行导入命令:
hermes import /path/to/your/hermes-backup-<timestamp>.zip将
/path/to/your/替换为你存放备份文件的实际路径。 -
按提示操作:导入过程中,Hermes 可能会询问你是否覆盖已存在的配置,输入
y确认即可。
✅ 第三阶段:验证与清理
- 验证迁移结果:在 WSL 中运行
hermes config或hermes chat等命令,检查配置是否生效,能否正常对话。 - 清理服务器文件:确认迁移无误后,可以安全地删除服务器上的备份文件
~/hermes-backup-*.zip。
📌 备选方案:手动迁移关键文件
如果出于某种原因无法使用内置命令,也可以手动复制最核心的几个文件。但请注意,这种方式容易遗漏数据,且需要你手动处理文件权限。
只需要从服务器的 ~/.hermes/ 目录下,将以下关键内容复制到本地 WSL 的 ~/.hermes/ 目录中:
config.yaml:主配置文件。.env:包含所有 API 密钥和机密信息。SOUL.md:智能体的核心身份设定。memories/:存储长期记忆的目录。skills/:自定义技能目录。sessions/:会话历史目录。cron/:定时任务目录。
操作命令参考:
# 在服务器上打包关键数据
tar -czf hermes_core_backup.tar.gz -C ~/.hermes config.yaml .env SOUL.md memories/ skills/ sessions/ cron/
# 下载到本地 WSL 后解压
tar -xzf hermes_core_backup.tar.gz -C ~/.hermes/
请注意:手动迁移后,务必检查
.env文件的权限,确保其安全性。
🧐 迁移后的检查清单
完成迁移后,建议检查以下几点以确保一切正常:
- API 密钥:确认
.env文件中的密钥已正确迁移且未损坏。 - 记忆系统:如果使用了
mem0等记忆后端,确保其数据文件(如~/.mem0/db.sqlite)也已同步。 - 依赖包:确认本地 WSL 已安装 Hermes 所需的所有 Python 依赖。
总的来说,使用 hermes backup 和 hermes import 是官方推荐且最安全的方式,它能确保所有数据被完整、有序地迁移。