从 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 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. 预览计划
计划会列出所有将要更改的内容,包括冲突、跳过的项目和敏感项目。嵌套的类似机密的键会在输出中被脱敏。
2. 应用并备份
OpenClaw 在应用前创建并验证备份。这个非交互式示例只导入非机密状态。不带 --yes 运行可以交互式地回答凭据提示,或者添加 --include-secrets 以在无人值守的运行中包含受支持的凭据。
3. 运行 doctor
Doctor 会重新应用任何待处理的配置迁移,并检查导入期间引入的问题。
4. 重启并验证
确认网关运行正常,且您导入的模型、记忆和技能均已加载。
冲突处理¶
当计划报告存在冲突(目标位置已存在文件或配置值)时,Apply 会拒绝继续执行。
Warning
仅当有意替换现有目标时,才使用 --overwrite 重新运行。提供商仍可能在迁移报告目录中为被覆盖的文件写入条目级备份。
全新安装时通常不会出现冲突。它们通常出现在您对已有用户编辑的配置重新运行导入时。
如果在应用过程中出现冲突(例如,配置文件上出现意外的竞争),该条目会被报告为冲突,而独立的文件、技能、凭据、归档和配置条目会继续处理。解决冲突条目后重新运行导入;相同的记忆导入是幂等的。
密钥¶
交互式 openclaw migrate 会询问是否导入检测到的认证凭据,默认选择是。
- 接受导入当前的 Hermes OpenAI Codex OAuth 条目、OpenCode OpenAI OAuth 和 GitHub Copilot 条目,以及受支持的
.env键。 - 使用
--no-auth-credentials,或在提示时回答否,以仅导入非机密状态。 - 使用
--include-secrets在无人值守的--yes运行中导入凭据。 - 使用引导向导的
--import-secrets标志从向导导入凭据。
用于自动化的 JSON 输出¶
不带 --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