Hermes 迁移

OpenClaw 迁移 Hermes 保姆级教程:M01–M13 资产盘点、dry-run 与回滚

按当前 hermes claw migrate 行为盘点 persona、memory、skills、审批、浏览器、消息和 secrets,用 user-data dry-run、独立 profile 与新 session 金丝雀完成迁移。

进阶 治理 预计 55 分钟 更新 2026/9/9 核验 2026/9/9
本页目录
官方文档核验 · 尚未运行实测查看验证范围

已核读当前 Hermes 官方 Migrate from OpenClaw、Profiles 与 CLI 文档;GitHub latest release 为 v2026.9.7,文档仓库 main 为 0e9fc2c。本站未运行 hermes claw migrate、未复制 secrets,也未执行 cleanup。

完成结果

学完后你会留下什么

一份 M01–M13 资产盘点、dry-run 报告、冲突与归档清单、新 session 金丝雀和回滚决定。

参考版本
v2026.9.7
平台
macOS / Windows / Linux
权限
高权限
积分影响
适合谁
已经运行 OpenClaw,想试用 Hermes 又不允许旧记忆、技能、审批、消息入口和凭据静默丢失的用户
开始前确认
  • 已有可工作的 OpenClaw 环境
  • 已安装独立 Hermes 测试 profile
  • 可以保护包含配置或凭据的本地备份

hermes claw migrate 不是把一个配置文件改名。当前官方迁移器会发现 persona、workspace 指令、Memory、User profile、四类 Skill 来源、模型、审批 allowlist、Browser 设置、消息配置与部分 secrets;无法直接映射的内容会归档。

可靠迁移要回答三个问题:具体导入了什么、什么被跳过或冲突、怎样证明新环境可用且旧环境仍能回退。

本站依据 v2026.9.7 及 2026-09-09 当前官方文档核读,没有运行你的迁移。以下所有命令先在独立 profile 和无真实用户流量的窗口执行。

1. 先决定是否需要迁移

如果 OpenClaw 当前稳定,而你只是想体验 Hermes,先并行安装空白 Hermes profile,不必导入任何资产。只有你明确需要复用 persona、Memory、Skills 或命令 allowlist 时,迁移器才有价值。

以下情况先停:不知道 OpenClaw 实际 home;Hermes 目标已有重要数据却没有备份;没有人能审查 secrets;真实 Gateway 仍在写入;无法保留 OpenClaw 回滚窗口。

产品选型已经整合到 OpenClaw vs Hermes 自动化与 Gateway 对比。本页只负责已经决定试点后的迁移执行。

2. 用独立 profile 和 workspace 隔离试点

创建一个明确命名的 Hermes profile,例如 migration-lab,并把工作目录设为独立测试路径。Profile 隔离 config、.env、SOUL、Memory、sessions、Skills、cron 和 Gateway state,但官方明确提醒:Profile 本身不是文件系统 sandbox;本地 terminal 仍可能拥有当前系统用户权限。

不要让两个 Agent 进程同时写同一个 profile,也不要把生产 OpenClaw workspace 直接设成 Hermes 的 terminal.cwd。本实验需要能删除重建的目标。

3. 填写 M01–M13,不只列文件名

资产表要求记录来源、目标、默认动作、显式参数和验收方法。重点边界包括:

  • SOUL.md 可直接复制;Memory 与 USER 会解析、合并并去重。
  • AGENTS.md 只有提供明确 --workspace-target 才迁移。
  • Skills 会从 workspace、managed/shared、个人跨项目和项目级四类目录发现。
  • Skill 冲突默认 skip,也可明确选择 overwrite 或 rename。
  • approval mode 和 command allowlist 会映射,但仍需重新审查权限是否扩大。
  • 没有直接 Hermes 等价物的设置进入 timestamp archive。
  • WhatsApp 不能靠 token 迁移会话,迁移后要 QR 重新配对。

先给每项标注 需要 / 不需要 / 待确认。待确认项不能通过 --overwrite--yes 消失。

4. 第一次只跑 user-data dry-run

hermes claw migrate --dry-run --preset user-data

保存完整预览,记录 migrated、skipped、conflicting 和 archived 数量。user-data 适合作为默认试点:它覆盖 persona、workspace 指令、Memory、User profile、消息设置、allowlist、Skills、TTS assets 与 archive,但不导入 secret settings。

核对源目录。迁移器默认查 ~/.openclaw/,也识别 legacy 目录;workspace 还会检查 workspace/workspace.default/workspace-main/ 和多 Agent 路径。若发现的不是你计划迁移的实例,停止并用 --source 指向精确路径。

5. 在执行前解决三类冲突

Workspace 指令

只有你已经创建空白目标 workspace,才加入:

--workspace-target /absolute/path/to/hermes-migration-lab

不要使用含糊的当前目录或 home。导入后逐行审查 AGENTS.md 是否引用 OpenClaw 专属工具、路径和权限。

Skill 冲突

首次使用 --skill-conflict skip。对每个冲突比较 owner、版本、内容和工具依赖;需要同时保留时再选择 rename。直接 overwrite 会让现有 Hermes Skill 消失,不应作为清理冲突的快捷方式。

Secrets

默认不迁移。--preset full 也必须额外传 --migrate-secrets 才会复制允许的键。file 或 exec 类型 SecretRef 不能自动解析,会给出警告并要求手工配置。

更安全的试点是在空白 profile 手工写入一组最小测试凭据。只有你已检查四类可能来源、目标 .env 权限、allowlist 和轮换计划,才评估 secret migration。

6. 执行 user-data 迁移

确认 dry-run 后运行:

hermes claw migrate --preset user-data --skill-conflict skip \
  --workspace-target /absolute/path/to/hermes-migration-lab

不要加 --yes,保留最终确认。默认 apply 前会把现有 ~/.hermes/ 写入 backups/pre-migration-*.zip 还原点;不要使用 --no-backup。如果目标不是默认 profile,确认命令实际指向你刚创建的隔离 profile。

完成报告必须保存:导入、跳过、冲突、归档的项目及原因。没有跳过项报告的迁移不算可审计。

7. 必须在新 session 验收

导入后的 Skill 与 Memory 在新 session 生效。关闭旧对话,新建 session 后按顺序检查:

  1. hermes status:模型与 provider 认证符合预期。
  2. Persona:只问一条无敏感身份问题,核对 SOUL 边界。
  3. Memory:查询两个明确迁移事实和一个不应存在的负例。
  4. Skills:列出导入目录,跑正常、缺字段、不应触发和权限拒绝四个样本。
  5. Approval:一条 allowlist 内无害命令通过,一条外部命令仍被提示或拒绝。
  6. Browser:使用无敏感测试 profile 验证 CDP 与 headless 配置。
  7. Messaging:只连接自有测试账号,检查 allowlist 与工作目录。
  8. Archive:逐项决定重建、保留手工文档或放弃。

若迁移了 Telegram token,也不能直接向真实用户开放。先发送唯一金丝雀并确认入站、出站和路由。WhatsApp 使用 hermes whatsapp 单独重新配对。

8. 回滚不会自动恢复 OpenClaw

迁移默认备份的是迁移前 Hermes home,不会替你备份或删除 OpenClaw。回滚时先停止 Hermes 写入,另存当前失败状态,再使用迁移报告与还原点恢复 Hermes;OpenClaw 应继续使用原目录和原服务配置。

出现以下任一情况就回滚:Memory 合并无法对账、Skill 冲突覆盖了既有文件、approval 范围扩大、消息路由进入真实账号、目标 profile 与预期不一致,或 secrets 暴露。

不要在排障过程中运行 cleanup。官方 hermes claw cleanup 会把剩余 OpenClaw 目录改名为 .pre-migration/ 以避免状态混淆,它应晚于完整验收和回滚观察窗口。

9. 最终只做四种决定

  • 保留 OpenClaw:迁移收益不足或关键资产没有等价物。
  • 并行试点:Hermes 验证通过,但真实入口仍留在 OpenClaw。
  • 分批迁移:先 persona/Memory/Skills,再单独迁移消息与自动化。
  • 回滚:任一权限、数据或路由硬失败。

不要把“命令退出码为 0”作为第五种决定。迁移报告、新 session 行为、归档项、消息金丝雀和回滚证据共同通过,才能说明迁移真的完成。

官方资料

版本和参数,以这些来源为准

本文按实际任务重写,快速变化的信息仍应在操作前回到官方页面核对。

常见问题

继续操作前,先确认这些边界

默认迁移会复制 API Key 吗?

不会。user-data 与 full 都不会静默复制 secrets,必须额外传入 --migrate-secrets;不确定时继续使用 user-data 且手工配置测试凭据。

迁移后的 Memory 和 Skill 为什么当前对话里看不到?

官方说明导入后的 Skill 和 Memory 要在新 session 中生效。应新建会话检查,不能用迁移前已经加载上下文的会话验收。

迁移成功后可以立刻运行 hermes claw cleanup 吗?

不应。先完成归档、消息、审批、Memory、Skill 与回滚测试,并保留观察窗口;cleanup 应是最后一步。

继续学习

按当前任务继续推进