迁移
openclaw migrate
Section titled “openclaw migrate”通过插件拥有的迁移提供商从另一个代理系统导入状态。内置提供商涵盖 Codex CLI 状态、Claude 和 Hermes;第三方插件可以注册其他提供商。
openclaw migrate listopenclaw migrate claude --dry-runopenclaw migrate codex --dry-runopenclaw migrate codex --skill gog-vault77-google-workspaceopenclaw migrate codex --plugin google-calendar --dry-runopenclaw migrate codex --plugin google-calendar --verify-plugin-apps --dry-runopenclaw migrate hermes --dry-runopenclaw migrate hermesopenclaw migrate apply codex --yes --skill gog-vault77-google-workspaceopenclaw migrate apply codex --yes --plugin google-calendaropenclaw migrate apply codex --yesopenclaw migrate apply claude --yesopenclaw migrate apply hermes --yesopenclaw migrate apply hermes --include-secrets --yesopenclaw onboard --flow importopenclaw onboard --import-from claude --import-source ~/.claudeopenclaw onboard --import-from hermes --import-source ~/.hermesopenclaw migrate 优先预览。
应用前预览
在任何更改发生之前,提供商会返回一个详细计划,包括冲突、跳过的项和敏感项。JSON 计划、应用输出和迁移报告会编辑嵌套的类似机密的密钥,例如 API 密钥、令牌、授权标头、Cookie 和密码。
除非设置了 --yes,否则 `openclaw migrate apply
会在更改状态前预览计划并提示。在非交互模式下,应用需要—yes`。
备份
Apply 在应用迁移之前会创建并验证 OpenClaw 备份。如果尚不存在本地 OpenClaw 状态,则跳过备份步骤,迁移可以继续。若要在状态存在时跳过备份,请同时传递 --no-backup 和 --force。
冲突
当计划存在冲突时,Apply 拒绝继续。查看计划,如果替换现有目标是有意的,请使用 --overwrite 重新运行。提供商仍可能为迁移报告目录中被覆盖的文件写入项目级备份。
机密
交互式应用会询问是否导入检测到的身份验证凭据,默认选择“是”。使用 --no-auth-credentials 跳过它们,或使用 --include-secrets 配合 --yes 进行无人值守的凭据导入。
Claude 提供商
Section titled “Claude 提供商”捆绑的 Claude 提供商默认检测 ~/.claude 处的 Claude Code 状态。使用 --from <path> 导入特定的 Claude Code 主目录或项目根目录。
Claude 导入的内容
Section titled “Claude 导入的内容”- 将项目
CLAUDE.md和.claude/CLAUDE.mdOpenClaw 导入到 OpenClaw 代理工作区。 - 用户
~/.claude/CLAUDE.md附加到工作区USER.md。 - 来自项目
.mcp.json、Claude Code~/.claude.json和 Claude Desktopclaude_desktop_config.json的 MCP 服务器定义。 - 包含
SKILL.md的 Claude 技能目录。 - 已转换为 OpenClaw 技能的 Claude 命令 Markdown 文件,仅限手动调用。
归档和人工审查状态
Section titled “归档和人工审查状态”Claude 钩子、权限、环境默认值、本地内存、路径范围规则、子代理、缓存、计划和项目历史会保留在迁移报告中,或作为需要人工审查的项目进行报告。OpenClaw 不会执行钩子、复制广泛的允许列表,或自动导入 OAuth/Desktop 凭据状态。
Codex 提供商
Section titled “Codex 提供商”内置的 Codex 提供商默认在 CLI~/.codex 检测 Codex CLI 状态,或者当设置了该环境变量时在 CODEX_HOME 检测。使用 --from <path> 来清点特定的 Codex 主目录。
当迁移到 OpenClaw Codex 驾驭框架(harness)并且您想要有意识地提升有用的个人 Codex CLI 资产时,请使用此提供商。本地 Codex 应用服务器启动使用每个代理(per-agent)的 OpenClawCLICODEX_HOME,因此它们默认不会读取您的个人 ~/.codex。常规进程 HOME 仍然被继承,因此 Codex 可以看到共享的 $HOME/.agents/* 技能/插件市场条目,并且子进程可以找到用户主目录配置和令牌。
在交互式终端中运行 openclaw migrate codex 会预览完整计划,然后在最终应用确认之前打开复选框选择器。首先会提示技能复制项。使用 Toggle all on 或 Toggle all off 进行批量选择。按空格键切换行,或按回车键激活高亮显示的行并继续。计划内的技能默认选中,冲突技能默认取消选中,而 Skip for now 跳过本次运行的技能复制,但继续进行插件选择。当源安装的精选 Codex 插件可迁移且未提供 --plugin 时,迁移随后会提示按插件名称激活原生 Codex 插件。除非目标 OpenClaw Codex 插件配置已包含该插件,否则插件项默认选中。现有的目标插件默认取消选中并显示冲突提示(例如 conflict: plugin exists);请选择 Toggle all off 以在此次运行中不迁移任何原生 Codex 插件,或选择 Skip for now 在应用前停止。对于脚本化或精确运行,请为每个技能传递一次 --skill <name>,例如:
openclaw migrate codex --dry-run --skill gog-vault77-google-workspaceopenclaw migrate apply codex --yes --skill gog-vault77-google-workspace使用 --plugin <name> 以非交互方式将原生 Codex 插件迁移限制为一个或多个源安装的精选插件:
openclaw migrate codex --dry-run --plugin google-calendaropenclaw migrate apply codex --yes --plugin google-calendarCodex 导入的内容
Section titled “Codex 导入的内容”- 位于
$CODEX_HOME/skills下的 Codex CLI 技能目录,不包括 Codex 的.system缓存。 - 位于
$HOME/.agents/skills下的个人 AgentSkills,当您希望每个代理拥有所有权时,将其复制到当前的 OpenClaw 代理工作区中。 - 通过 Codex 应用服务器
plugin/list发现的源安装openai-curatedCodex 插件。规划阶段会读取每个已安装启用插件的plugin/read。由应用支持的插件要求源 Codex 应用服务器的账户响应必须是 ChatGPT 订阅账户;非 ChatGPT 或缺失的账户响应将被codex_subscription_required跳过。默认情况下,迁移不会调用源app/list,因此通过账户门槛的应用支持的插件会在不验证源应用可访问性的情况下被规划,且账户查找传输失败将以codex_account_unavailable跳过。当您希望迁移强制获取新的源app/list快照,并要求所有拥有的应用在规划本地激活之前必须存在、已启用且可访问时,请传递--verify-plugin-apps。在该模式下,账户查找传输失败将转至源应用清单验证。源应用清单快照在当前进程中保存在内存中;它不会写入迁移输出或目标配置。已禁用的插件、不可读的插件详细信息、受订阅限制的源账户,以及在请求验证时缺失的应用、已禁用的应用、无法访问的应用或源应用清单失败,都将变为带有类型原因的手动跳过项,而不是目标配置条目。Apply 会为每个选定的合格插件调用应用服务器plugin/installOpenClaw,即使目标应用服务器已经报告该插件已安装并已启用。迁移的 Codex 插件仅在选择本地 Codex 约束的会话中可用;它们不会暴露给 OpenClaw 提供商运行、ACP 会话绑定或其他约束。
手动审查 Codex 状态
Section titled “手动审查 Codex 状态”Codex config.toml、本地 hooks/hooks.json、非精选市场、不是源安装精选插件的缓存插件包,以及未通过源订阅门槛的源安装插件不会自动激活。当设置了 --verify-plugin-apps 时,未通过源应用清单门槛的插件也会被跳过。它们会被复制或报告在迁移报告中以供手动审查。
对于迁移的源安装精选插件,apply 会写入:
plugins.entries.codex.enabled: trueplugins.entries.codex.config.codexPlugins.enabled: trueplugins.entries.codex.config.codexPlugins.allow_destructive_actions: true- 每个选定插件都有一个带有
marketplaceName: "openai-curated"和pluginName的显式插件条目
迁移从不写入 plugins["*"] 也从不存储本地 marketplace 缓存路径。源端的订阅失败会在手动项目上报告,并带有类型化原因,例如 codex_subscription_required、codex_account_unavailable、plugin_disabled 或 plugin_read_unavailable。使用 --verify-plugin-apps 时,源端应用清单失败也可能显示为 app_inaccessible、app_disabled、app_missing 或 app_inventory_unavailable。被跳过的插件不会写入目标配置。
目标端需要身份验证的安装会在受影响的插件项目上报告,并带有 status: "skipped"、reason: "auth_required" 和经过清理的应用标识符。它们的显式配置条目在写入时处于禁用状态,直到您重新授权并启用它们。其他安装失败是项目范围的 error 结果。
原生 Codex 插件配置还接受第一方 openai-bundled 和
openai-primary-runtime 市场身份,但迁移不会
从源状态自动发现或安装它们。
OpenAI 端的应用/插件可用性仍来自已登录的 Codex 帐户和工作区应用控制。请参阅 将 Codex 与您的 ChatGPT 计划一起使用 以了解 OpenAI 的帐户和工作区控制概述,然后使用 原生 Codex 插件 进行手动第一方市场条目输入。
如果在规划期间无法获得 Codex 应用服务器插件清单,迁移 将回退到缓存的捆绑包咨询项目,而不是使整个 迁移失败。
Hermes 提供商
Section titled “Hermes 提供商”内置的 Hermes 提供商默认在 ~/.hermes 检测状态。当 Hermes 位于其他位置时,请使用 --from <path>。
Hermes 导入的内容
Section titled “Hermes 导入的内容”- 来自
config.yaml的默认模型配置。 - 来自
providers和custom_providers的已配置模型提供商和自定义 OpenAI 兼容端点。 - 来自
mcp_servers或mcp.servers的 MCP 服务器定义。 SOUL.md和AGENTS.md到 OpenClaw 代理工作区。memories/MEMORY.md和memories/USER.md附加到工作区记忆文件。- OpenClaw 文件内存的内存配置默认值,以及 Honcho 等外部内存提供程序的存档或手动审查项目。
- 在
skills/<name>/下包含SKILL.md文件的 Skills。 - 来自
skills.config的每个 Skill 的配置值。 - 当接受交互式凭据迁移或设置了
--include-secrets时,来自 OpenCodeauth.json的 OpenCode OpenAI OAuth 凭据。Hermesauth.jsonOAuth 条目是报告用于手动 OpenAI 重新身份验证或医生修复的旧版状态。 - 当接受交互式凭据迁移或设置了
--include-secrets时,来自 Hermes.env和 OpenCodeauth.json的受支持的 API 密钥和令牌。
支持的 .env 密钥
Section titled “支持的 .env 密钥”AI_GATEWAY_API_KEYALIBABA_API_KEYANTHROPIC_API_KEYARCEEAI_API_KEYCEREBRAS_API_KEYCHUTES_API_KEYCLOUDFLARE_AI_GATEWAY_API_KEYCOPILOT_GITHUB_TOKENDASHSCOPE_API_KEYDEEPINFRA_API_KEYDEEPSEEK_API_KEYFIREWORKS_API_KEYGEMINI_API_KEYGH_TOKENGITHUB_TOKENGLM_API_KEYGOOGLE_API_KEYGROQ_API_KEYHF_TOKENHUGGINGFACE_HUB_TOKENKILOCODE_API_KEYKIMICODE_API_KEYKIMI_API_KEYMINIMAX_API_KEYMINIMAX_CODING_API_KEYMISTRAL_API_KEYMODELSTUDIO_API_KEYMOONSHOT_API_KEYNVIDIA_API_KEYOPENAI_API_KEYOPENCODE_API_KEYOPENCODE_GO_API_KEYOPENCODE_ZEN_API_KEYOPENROUTER_API_KEYQIANFAN_API_KEYQWEN_API_KEYTOGETHER_API_KEYVENICE_API_KEYXAI_API_KEYXIAOMI_API_KEYZAI_API_KEYZ_AI_API_KEY
OpenClaw 无法安全解释的 Hermes 状态会被复制到迁移报告中以供人工审查,但不会加载到实际的 OpenClaw 配置或凭据中。这样可以保留不透明或不安全的状态,而无需假装 OpenClaw 可以自动执行或信任它:
plugins/sessions/logs/cron/mcp-tokens/state.db
openclaw doctor迁移源是插件。插件在 openclaw.plugin.json 中声明其提供商 ID:
{ "contracts": { "migrationProviders": ["hermes"] }}在运行时,插件调用 api.registerMigrationProvider(...)。提供商实现 detect、plan 和 applyCLI。核心负责 CLI 编排、备份策略、提示、JSON 输出和冲突预检。核心将审核后的计划传递给 apply(ctx, plan),为了兼容性,仅当该参数缺失时,提供商才可能重建计划。
提供商插件可以使用 openclaw/plugin-sdk/migration 进行项目构建和汇总计数,以及使用 openclaw/plugin-sdk/migration-runtime 进行感知冲突的文件复制、仅存档报告复制、缓存的配置运行时包装器和迁移报告。
新手引导集成
Section titled “新手引导集成”当提供商检测到已知源时,新手引导可以提供迁移。openclaw onboard --flow import 和 openclaw setup --wizard --import-from hermes 都使用相同的插件迁移提供商,并且在应用之前仍会显示预览。
- 从 Hermes 迁移:面向用户的演练。
- 从 Claude 迁移:面向用户的演练。
- 迁移:将 OpenClaw 移动到新机器。
- 诊断:应用迁移后的健康检查。
- 插件:插件安装和注册。