跳转至

从 Hermes 迁移

随附的 Hermes 迁移提供程序遵循 HERMES_HOME 和活动的 Hermes profile,在 macOS/Linux 上回退到 ~/.hermes,在 Windows 上回退到 %LOCALAPPDATA%\hermes。它在应用前预览每个更改,并在计划和报告中对机密进行脱敏。独立的 openclaw migrate 会写入经过验证的备份;全新引导路径会暂存配置、凭据和文件,并且仅在导入的推理验证通过后才发布它们。显式的 --from 路径始终优先。

Note

导入需要全新的 OpenClaw 设置。如果您已经有本地 OpenClaw 状态,请先重置配置、凭据、会话和工作区,或者在查看计划后直接使用 openclaw migrate apply hermes 并带上 --overwrite。

两种导入方式

检测活动的 Hermes home/profile,并在应用前显示预览。

openclaw onboard --flow import

或者指向特定来源:

openclaw onboard --import-from hermes --import-source ~/.hermes

使用 openclaw migrate 进行脚本化或可重复的运行。完整参考请参阅 openclaw migrate。

openclaw migrate hermes --dry-run    # preview only
openclaw migrate apply hermes --yes  # apply with confirmation skipped

添加 --from <path> 以覆盖 Hermes home/profile 发现。

什么会被导入

模型配置
  • 来自 Hermes config.yaml 的默认模型选择。使用 --agent <id> 时,导入的模型属于该 agent;共享默认值和其他 agent 保留其模型。
  • 来自 model、providers 和 custom_providers 的已配置模型提供程序和自定义端点,包括 Hermes 传输别名、camelCase 提供程序字段,以及带每模型元数据的模型列表。
MCP 服务器

来自 mcp_servers 或 mcp.servers 的 MCP 服务器定义,包括禁用状态、超时、并行工具支持、OAuth 作用域、兼容的 TLS 字段,以及 native/resource/prompt 工具策略。字面量环境变量和请求头需要获得凭据导入同意。Hermes 独有的生命周期、采样、elicitation、预检、keepalive、CA 捆绑包、受密码保护的客户端密钥,以及预注册的 OAuth 客户端设置,会被记录为手动审查项,而不会变成无效的 OpenClaw 配置。

空的 tools.include 保持原生工具禁用,同时保留 resource 和 prompt 工具设置。OpenClaw 工具过滤器支持精确名称和 *;Hermes 的 ? 和方括号模式需要手动审查。不支持的包含模式会被省略;带有不支持排除模式的服务器会以禁用状态导入,直到您替换其过滤器并启用它。

工作区文件
  • SOUL.md 和 AGENTS.md 会被复制到 OpenClaw agent 工作区中。
  • memories/MEMORY.md 和 memories/USER.md 会追加到匹配的 OpenClaw 记忆文件,而不是覆盖它们。
  • 仅记忆的界面行为不同:引导记忆页面和 Control UI 记忆导入页面会将这两个文件复制到 memory/imports/hermes/ 下以供索引召回,并保持现有工作区记忆不变。
记忆配置

OpenClaw 文件记忆的默认记忆配置。外部记忆提供程序(如 Honcho)会记录为存档或手动审查项,以便您可以有目的地迁移它们。

技能

位于 skills/ 中活动目录下、带有 SKILL.md 文件的技能会被递归发现,扁平化到 OpenClaw 工作区技能目录中,并与其支持文件一起复制。来自 skills.config 的每技能配置值和来自 skills.disabled 的全局禁用状态会被保留。使用 --skill 时,只导入所选技能的配置和禁用状态。只导入由 _org/.active_org 选择的组织镜像。

认证凭据

交互式 openclaw migrate 在导入认证凭据前会询问,默认选择「是」。接受的导入包括当前的 Hermes OpenAI Codex OAuth 条目、OpenCode OpenAI OAuth 和 GitHub Copilot 条目,以及受支持的 Hermes .env 键。对于非交互式导入,使用 --include-secrets;使用 --no-auth-credentials 跳过凭据;或者使用引导的 --import-secrets 标志。导入 Hermes OAuth 后,不要让 Hermes 和 OpenClaw 继续使用相同的刷新授权;在同时运行两者之前,请对其中一侧重新进行身份验证。

仅在存档中保留的内容

提供程序会将这些复制到迁移报告目录中以供手动审查,但不会将它们加载到活动的 OpenClaw 配置或凭据中:

  • plugins/
  • sessions/
  • logs/
  • cron/
  • mcp-tokens/
  • plans/、workspace/、skins/ 和 kanban/
  • pairing/ 和 platforms/ 存储,以及网关路由/进程状态
  • state.db、hermes_state.db、projects.db、response_store.db、memory_store.db、verification_evidence.db、kanban.db 和 retaindb_queue.db

OpenClaw 拒绝自动执行或信任这些状态,因为格式和信任假设可能在不同系统之间发生漂移。在审查存档后,手动移动您需要的内容。

1. 预览计划

openclaw migrate hermes --dry-run

计划会列出所有将要更改的内容,包括冲突、跳过的项目和敏感项目。嵌套的类似机密的键会在输出中被脱敏。

2. 应用并备份

openclaw migrate apply hermes --yes

OpenClaw 在应用前创建并验证备份。这个非交互式示例只导入非机密状态。不带 --yes 运行可以交互式地回答凭据提示,或者添加 --include-secrets 以在无人值守的运行中包含受支持的凭据。

3. 运行 doctor

openclaw doctor

Doctor 会重新应用任何待处理的配置迁移,并检查导入期间引入的问题。

4. 重启并验证

openclaw gateway restart
openclaw status

确认网关运行正常,且您导入的模型、记忆和技能均已加载。

冲突处理

当计划报告存在冲突(目标位置已存在文件或配置值)时,Apply 会拒绝继续执行。

Warning

仅当有意替换现有目标时,才使用 --overwrite 重新运行。提供商仍可能在迁移报告目录中为被覆盖的文件写入条目级备份。

全新安装时通常不会出现冲突。它们通常出现在您对已有用户编辑的配置重新运行导入时。

如果在应用过程中出现冲突(例如,配置文件上出现意外的竞争),该条目会被报告为冲突,而独立的文件、技能、凭据、归档和配置条目会继续处理。解决冲突条目后重新运行导入;相同的记忆导入是幂等的。

密钥

交互式 openclaw migrate 会询问是否导入检测到的认证凭据,默认选择是。

  • 接受导入当前的 Hermes OpenAI Codex OAuth 条目、OpenCode OpenAI OAuth 和 GitHub Copilot 条目,以及受支持的 .env 键。
  • 使用 --no-auth-credentials,或在提示时回答否,以仅导入非机密状态。
  • 使用 --include-secrets 在无人值守的 --yes 运行中导入凭据。
  • 使用引导向导的 --import-secrets 标志从向导导入凭据。

用于自动化的 JSON 输出

openclaw migrate hermes --dry-run --json
openclaw migrate apply hermes --json --yes

不带 --yes 的 openclaw migrate hermes --json 只打印计划而不应用它。非交互式 migrate apply 需要 --yes。部分应用失败时会返回完整的 JSON 报告并以退出码 1 结束。

故障排除

Apply 因冲突拒绝执行

检查计划输出。每个冲突都会标识源路径和现有目标。逐项决定是跳过、编辑目标,还是使用 --overwrite 重新运行。

Hermes 位于 ~/.hermes 之外

传递 --from /actual/path(CLI)或 --import-source /actual/path(引导)。

引导在现有配置上拒绝导入

引导导入需要全新配置。要么重置状态并重新引导,要么直接使用 openclaw migrate apply hermes,它支持 --overwrite 和显式备份控制。

API 密钥未导入

交互式 openclaw migrate 仅在您接受凭据提示时导入 API 密钥。非交互式 --yes 运行需要 --include-secrets;引导导入需要 --import-secrets。仅识别受支持的 .env 键 — 其他 .env 变量会被忽略。

  • openclaw migrate:完整的 CLI 参考、插件契约和 JSON 格式。
  • 引导:向导流程和非交互式标志。
  • 迁移:在机器之间移动 OpenClaw 安装。
  • Doctor:迁移后健康检查。
  • Agent 工作区:SOUL.md、AGENTS.md 和记忆文件的存放位置。

本页原文 Markdown:在 AtomGit 查看·内容源自开源项目 cl/openclaw