从 OpenClaw 迁移到 Hermes Agent:完整手动指南
从 OpenClaw 迁移到 Hermes Agent 的完整手动流程:导出状态、安装、迁移服务商配置、技能、记忆与 Telegram。另附 1 分钟快捷方案。

决定已经做出,接下来才是真正的工作
你已经拍板了。也许你读了 Hermes Agent 与 OpenClaw 的对比,认为这个专注型智能体运行时更契合你的实际工作方式;也许是团队里的某人做出了这个判断。无论如何,决策已经翻篇。摆在你面前的是一项实实在在的运维工作:把一个运行中的 OpenClaw 环境——连同数月积累的记忆和调优好的技能——完整地迁移到全新的 Hermes Agent 实例上,同时不丢失任何重要内容。
Hermes 内置了官方迁移命令。hermes-migrate 包于 2026 年 3 月 10 日发布,hermes claw migrate 流程可以导入设置、记忆、技能、频道和 API 密钥,能够处理顺利的迁移路径。但它处理不了周边工作:申请主机、将 OpenClaw 旧格式的服务商配置转换为 Hermes 的 snake_case 结构、对静态密钥加密存储、重新绑定 Telegram 机器人,以及在宣告上线之前完成端到端验证。
本指南将逐步手动演示整个流程,让你清楚地知道自己承担了多少工作量。文章最后还会介绍一个 1 分钟的快捷方案。
第一步:冻结并导出 OpenClaw 状态
不要一开始就去安装 Hermes,先让 OpenClaw 那边的状态静止下来。
OpenClaw 官方迁移文档明确要求:在复制状态之前先停止网关,否则对话历史和频道会话会在你操作时持续写入。默认状态目录是 ~/.openclaw/,其中包含 openclaw.json、网关设置、auth-profiles.json、服务商凭证、会话数据、WhatsApp 和 Telegram 的频道状态,以及你的工作区文件,包括 MEMORY.md、USER.md、技能和提示词。
openclaw gateway stop
cd ~
tar -czf openclaw-state-$(date +%Y%m%d).tgz .openclaw
sha256sum openclaw-state-*.tgz
如果你通过 OPENCLAW_STATE_DIR 自定义了路径,或者同时运行了多个配置文件(如 ~/.openclaw-work 或 ~/.openclaw-personal),请分别单独打包归档。迁移的完整性取决于你记得备份哪些目录——漏掉某个配置文件的后果是静默丢失:Hermes 会正常启动,但那个配置文件对应的个性设置就此消失,不会有任何报错。
在做任何其他更改之前,先将归档文件复制到新主机。如果你跳过这一步,而新主机的安装又出现故障,你就需要一条不依赖旧机器正常运行的干净回滚路径。
第二步:准备主机并安装 Hermes
现在你需要一个运行 Hermes 的地方。实际上有两个选择:小型 VPS 或本地 Docker 主机。
如果选择 VPS,2 vCPU / 4 GB 内存是比较合适的起点。接下来你将花一个小时做那些没人写博客的枯燥工作:选择靠近消息用户的区域、加固 SSH、配置只开放必要端口的防火墙、设置无人值守安全更新,以及决定智能体是以 root 运行(不应该)还是以一个拥有受限主目录的专用服务用户运行。
如果选择本地 Docker,工作内容不同但同样不轻松。你需要编写 Compose 文件、决定状态卷的存放位置、决定容器如何在主机重启后自动恢复,以及确保容器能够访问外网而不过度暴露端口。
主机准备好之后,安装 Hermes:
curl -fsSL https://raw.githubusercontent.com/NousResearch/hermes-agent/main/scripts/install.sh | bash
hermes setup
hermes setup 会自动寻找 ~/.openclaw/ 并提示迁移。如果你把归档文件上传到了其他路径,请先解压到该位置,让向导能够找到它。

第三步:转换服务商配置
这一步是大多数手动迁移悄悄出错的地方。
OpenClaw 和 Hermes 都支持将智能体指向 OpenAI、Anthropic、OpenRouter、vLLM、Ollama 或自定义的 OpenAI 兼容端点。字段看起来相似,但格式并不相同。
Hermes 的服务商配置只接受 snake_case。手动填写的 apiKey 或 baseUrl 会被静默丢弃。请使用 api_key 和 base_url。当设置了 base_url 时,Hermes 会忽略服务商名称,直接调用该端点,并使用 api_key 或环境变量 OPENAI_API_KEY 进行认证。
以下是每个需要迁移的服务商的最简字段映射:
| OpenClaw 字段 | Hermes 字段 | 说明 |
|---|---|---|
provider |
provider |
使用 Hermes 要求的小写标识符(openai、anthropic、openrouter、ollama、vllm、custom) |
model |
model |
字符串相同,无需转换 |
apiKey |
api_key |
必须使用 snake_case,camelCase 会被丢弃 |
baseUrl |
base_url |
必须使用 snake_case,仅在需要自定义端点时设置 |
apiMode |
api_mode |
确认 Hermes 仍支持你使用的值 |
对每一个已配置的服务商重复上述操作。如果你设置了备用链(主服务商加上廉价备用),请逐一处理,每完成一个就测试一个,再继续下一个。
第四步:迁移角色设定、技能与记忆
OpenClaw 将角色设定存储在 workspace/SOUL.md 和 IDENTITY.md 中,可选的个性文件夹位于 personalities/ 下,此外还有 USER.md、MEMORY.md 和每日记忆文件。技能存放在工作区的技能目录中。
整洁的手动迁移需要逐文件决策,而不是直接复制目录。打开每个角色设定文件,确认以下几点:
- 语气和约束条件仍符合你对新智能体行为的期望。
- 对 OpenClaw 特有工具(控制界面、插件名称、网关行为)的引用已删除或重新表述。
- 技能名称不与 Hermes 内置技能冲突——否则导入的版本可能会在毫无提示的情况下覆盖内置版本,或被内置版本覆盖。
然后将文件移动到 Hermes 期望的目录结构中:
~/.hermes/SOUL.md:角色设定~/.hermes/memories/:MEMORY.md、USER.md及每日记忆文件~/.hermes/skills/openclaw-imports/:技能,需手动解决冲突
记忆文件往往是团队低估工作量的地方。经过一年的 OpenClaw 使用,MEMORY.md 可能积累了数百条条目,过时的项目背景与仍有价值的事实混杂在一起。迁移是去重和精简的好时机,而不是无脑复制。
第五步:保护密钥安全
这一步没有捷径。Hermes 将凭证存储在 ~/.hermes/ 中,敏感的认证令牌存放在 ~/.hermes/auth/google_oauth.json 等路径下,使用 chmod 0600、原子写入和跨进程文件锁进行保护。这是最低标准,而非上限。
认真对待密钥的手动迁移需要做到:
- 清点所有需要迁移的 API 密钥,并在迁移时轮换,使 OpenClaw 阶段可能泄露的密钥全部失效。
- 将
~/.hermes/.env的文件权限设置为0600,归属于服务用户,其他账户不可读取。 - 对存放
~/.hermes/的卷进行静态加密,尤其是在共享 VPS 上。 - 进行离机备份,备份本身也要加密,并经过恢复测试——从未验证过的备份不算真正的备份。
- 记录哪些人和程序有权读取这些文件,确保下一个值班的人不必靠猜测。
如果跳过轮换这一步,你只是把安全风险搬了个家,并没有真正改善安全状况。
第六步:重新绑定 Telegram 并完成端到端测试
Telegram 是 Hermes 最常用的频道,也是迁移过程中最容易出问题的地方。你需要机器人令牌、允许的用户列表,以及频道专属设置(如群组 ID 或仅限管理员标志)。Hermes 从 ~/.hermes/.env 中的环境变量读取这些信息。导入完成后,必须重启网关,机器人才会开始响应。
hermes status
hermes gateway restart
如果你之前没有在 Telegram 上部署过 Hermes,Hermes Agent Telegram 部署指南 涵盖了机器人创建和 Webhook 的详细配置。网关恢复后,请从真实的 Telegram 客户端进行端到端测试,而不是仅仅依赖 hermes status。发送三条测试消息:一条测试记忆召回,一条测试已迁移的技能,一条测试你的服务商调用链。如果三者有任何一个失败,请在宣布迁移完成之前修复它。
第七步:排查常见问题
实际操作中,你大概率会遇到其中至少一个问题,提前做好心理准备。
- 端口冲突:OpenClaw 网关和 Hermes 网关都会占用一个端口。如果在测试阶段将它们部署在同一台机器上,请先停止 OpenClaw。
- 服务商认证错误:几乎都是
snake_case拼写问题或密钥过期。重新检查api_key和base_url,然后运行hermes status。 - 技能缺失或不兼容:导入的技能有时会引用仅 OpenClaw 支持的工具。阅读报错的技能文件,选择重写或删除。
- 记忆文件编码问题:如果你的
MEMORY.md来自 Windows 上的 OpenClaw 安装,可能存在 CRLF 换行符,复制前请先用dos2unix处理。 - 角色设定漂移:即使角色设定文件完全相同,智能体的表现却感觉不对。检查是否同时加载了两个角色设定文件,以及 Hermes 的默认角色设定是否覆盖了你的自定义内容。
如果 hermes status 显示正常但 Telegram 不工作,问题几乎都出在网关,而不是智能体本身。
或者,用 Hermify 在不到 1 分钟内完成所有这些
回顾一下刚才的七个步骤。根据你 OpenClaw 环境的整洁程度,这些工作可能需要一个专注的周末,也可能是几个晚上零散时间加起来的一周。
Hermify 在控制台内置了一键式 OpenClaw 迁移向导,能以同样的逻辑完成上述所有工作,而无需耗费整个周末。你上传 OpenClaw 导出文件,向导会在执行之前预览迁移内容,显示角色设定、技能、记忆、密钥、服务商和 Telegram 的数量统计,执行步骤会将所有内容写入一个静态加密的托管 Hermes 实例。无需准备主机,无需记住 snake_case 转换规则,无需编写备份脚本。
你刚刚读完的这篇文章,正是向导在底层执行的流程。如果你想亲历手动迁移的全过程,上述步骤准确且完整。如果你想要的是结果,向导大约一分钟就能搞定。
立即开始使用 Hermify,在你原本打算用来折腾的那个周末之前,完成从 OpenClaw 的迁移。