openclaw migrate
Importe estado de outro sistema de agentes por meio de um provedor de migração pertencente a um plugin. Os provedores incluídos cobrem o estado da CLI do Codex, Claude e Hermes; plugins de terceiros podem registrar provedores adicionais.
Comandos
Nome de um provedor de migração registrado, por exemplo
hermes. Execute openclaw migrate list para ver os provedores instalados.Cria o plano e sai sem alterar o estado.
Substitui o diretório de estado de origem. O Hermes usa
~/.hermes por padrão.Importa credenciais compatíveis sem solicitar confirmação. A aplicação interativa pergunta antes de importar credenciais de autenticação detectadas, com sim selecionado por padrão;
--yes não interativo exige --include-secrets para importá-las.Ignora a importação de credenciais de autenticação, incluindo a solicitação interativa.
Permite que a aplicação substitua destinos existentes quando o plano relata conflitos.
Ignora a solicitação de confirmação. Obrigatório no modo não interativo.
Seleciona um item de cópia de skill pelo nome da skill ou pelo id do item. Repita a flag para migrar várias skills. Quando omitida, migrações interativas do Codex mostram um seletor de caixas de seleção, e migrações não interativas mantêm todas as skills planejadas.
Seleciona um item de instalação de plugin do Codex pelo nome do plugin ou pelo id do item. Repita a flag para migrar vários plugins do Codex. Quando omitida, migrações interativas do Codex mostram um seletor nativo de caixas de seleção de plugins do Codex, e migrações não interativas mantêm todos os plugins planejados. Isso se aplica apenas a plugins
openai-curated do Codex instalados na origem e descobertos pelo inventário do app-server do Codex.Somente Codex. Força uma nova travessia
app/list do app-server do Codex de origem antes de planejar a ativação nativa de plugins. Desativado por padrão para manter o planejamento da migração rápido.Ignora o backup antes da aplicação. Exige
--force quando existe estado local do OpenClaw.Obrigatório junto com
--no-backup quando a aplicação recusaria ignorar o backup.Imprime o plano ou o resultado da aplicação como JSON. Com
--json e sem --yes, a aplicação imprime o plano e não altera o estado.Modelo de segurança
openclaw migrate prioriza a pré-visualização.
Preview before apply
Preview before apply
O provedor retorna um plano detalhado por item antes que qualquer coisa mude, incluindo conflitos, itens ignorados e itens sensíveis. Planos JSON, saída de aplicação e relatórios de migração mascaram chaves aninhadas com aparência de segredo, como chaves de API, tokens, cabeçalhos de autorização, cookies e senhas.
openclaw migrate apply <provider> pré-visualiza o plano e solicita confirmação antes de alterar o estado, a menos que --yes esteja definido. No modo não interativo, a aplicação exige --yes.Backups
Backups
A aplicação cria e verifica um backup do OpenClaw antes de aplicar a migração. Se ainda não existir estado local do OpenClaw, a etapa de backup é ignorada e a migração pode continuar. Para ignorar um backup quando existe estado, passe
--no-backup e --force.Conflicts
Conflicts
A aplicação se recusa a continuar quando o plano tem conflitos. Revise o plano e execute novamente com
--overwrite se a substituição de destinos existentes for intencional. Provedores ainda podem gravar backups em nível de item para arquivos substituídos no diretório de relatório da migração.Secrets
Secrets
A aplicação interativa pergunta se deve importar credenciais de autenticação detectadas, com sim selecionado por padrão. Use
--no-auth-credentials para ignorá-las, ou use --include-secrets para importação autônoma de credenciais com --yes.Provedor Claude
O provedor Claude incluído detecta o estado do Claude Code em~/.claude por padrão. Use --from <path> para importar uma home específica do Claude Code ou uma raiz de projeto.
O que o Claude importa
CLAUDE.mddo projeto e.claude/CLAUDE.mdpara o espaço de trabalho do agente OpenClaw.~/.claude/CLAUDE.mddo usuário anexado aoUSER.mddo espaço de trabalho.- Definições de servidor MCP de
.mcp.jsondo projeto,~/.claude.jsondo Claude Code eclaude_desktop_config.jsondo Claude Desktop. - Diretórios de skills do Claude que incluem
SKILL.md. - Arquivos Markdown de comando do Claude convertidos em Skills do OpenClaw apenas com invocação manual.
Estado arquivado e de revisão manual
Hooks do Claude, permissões, padrões de ambiente, memória local, regras com escopo por caminho, subagentes, caches, planos e histórico do projeto são preservados no relatório de migração ou relatados como itens de revisão manual. O OpenClaw não executa hooks, não copia allowlists amplas nem importa automaticamente estado de credenciais OAuth/Desktop.Provedor Codex
O provedor Codex incluído detecta o estado da CLI do Codex em~/.codex por padrão, ou
em CODEX_HOME quando essa variável de ambiente está definida. Use --from <path> para
inventariar uma home específica do Codex.
Use este provedor ao migrar para o harness Codex do OpenClaw e quando quiser
promover deliberadamente ativos pessoais úteis da CLI do Codex. Inicializações locais do app-server
do Codex usam um CODEX_HOME por agente, portanto não leem seu
~/.codex pessoal por padrão. O HOME normal do processo ainda é herdado, então o Codex
pode ver skills/entradas de marketplace de plugins compartilhadas em $HOME/.agents/*, e
subprocessos podem encontrar configurações e tokens da home do usuário.
Executar openclaw migrate codex em um terminal interativo pré-visualiza o plano
completo e, em seguida, abre seletores de caixas de seleção antes da confirmação final de aplicação. Itens
de cópia de skills são solicitados primeiro. Use Toggle all on ou Toggle all off para seleção
em massa. Pressione Espaço para alternar linhas, ou pressione Enter para ativar a linha destacada
e continuar. Skills planejadas começam marcadas, skills em conflito começam desmarcadas, e
Skip for now ignora cópias de skills nesta execução enquanto ainda continua para a seleção
de plugins. Quando plugins curados do Codex instalados na origem são migráveis e
--plugin não foi fornecido, a migração então solicita a ativação nativa de plugins do Codex
por nome de plugin. Itens de plugin
começam marcados, a menos que a configuração de destino do plugin Codex do OpenClaw já tenha esse
plugin. Plugins de destino existentes começam desmarcados e mostram uma dica de conflito, como
conflict: plugin exists; escolha Toggle all off para não migrar nenhum plugin nativo do Codex
nessa execução, ou Skip for now para parar antes da aplicação. Para execuções roteirizadas ou
exatas, passe --skill <name> uma vez por skill, por exemplo:
--plugin <name> para limitar a migração não interativa de plugins nativos do Codex
a um ou mais plugins curados instalados na origem:
O que o Codex importa
- Diretórios de skills da CLI do Codex em
$CODEX_HOME/skills, excluindo o cache.systemdo Codex. - AgentSkills pessoais em
$HOME/.agents/skills, copiadas para o espaço de trabalho atual do agente OpenClaw quando você quer propriedade por agente. - Plugins
openai-curateddo Codex instalados na origem, descobertos por meio deplugin/listdo app-server do Codex. O planejamento lêplugin/readpara cada plugin instalado e habilitado. Plugins apoiados por app exigem que a resposta da conta do app-server do Codex de origem seja uma conta com assinatura do ChatGPT; respostas de conta ausentes ou que não sejam do ChatGPT são ignoradas comcodex_subscription_required. Por padrão, a migração não chamaapp/listde origem, então plugins apoiados por app que passam pelo gate de conta são planejados sem verificação de acessibilidade do app de origem, e falhas de transporte na consulta da conta são ignoradas comcodex_account_unavailable. Passe--verify-plugin-appsquando quiser que a migração force um snapshot novo deapp/listde origem e exija que todo app pertencente esteja presente, habilitado e acessível antes de planejar a ativação nativa. Nesse modo, falhas de transporte na consulta da conta passam para a verificação de inventário de apps de origem. O snapshot de inventário de apps de origem é mantido em memória para o processo atual; ele não é gravado na saída da migração nem na configuração de destino. Plugins desabilitados, detalhes de plugin ilegíveis, contas de origem bloqueadas por assinatura e, quando a verificação é solicitada, apps ausentes, apps desabilitados, apps inacessíveis ou falhas de inventário de apps de origem se tornam itens manuais ignorados com motivos tipados, em vez de entradas de configuração de destino. A aplicação chamaplugin/installdo app-server para cada plugin qualificado selecionado, mesmo que o app-server de destino já informe esse plugin como instalado e habilitado. Plugins do Codex migrados são utilizáveis apenas em sessões que selecionam o harness nativo do Codex; eles não são expostos a execuções de provedor do OpenClaw, vínculos de conversa ACP nem outros harnesses.
Estado do Codex para revisão manual
config.toml do Codex, hooks/hooks.json nativo, marketplaces não curados, bundles de
plugins em cache que não são plugins curados instalados na origem, e plugins instalados na origem
que falham no gate de assinatura de origem não são ativados automaticamente.
Quando --verify-plugin-apps está definido, plugins que falham no gate de inventário de apps
de origem também são ignorados. Eles são copiados ou relatados no relatório de migração para
revisão manual.
Para plugins curados instalados na origem migrados, a aplicação grava:
plugins.entries.codex.enabled: trueplugins.entries.codex.config.codexPlugins.enabled: trueplugins.entries.codex.config.codexPlugins.allow_destructive_actions: true- uma entrada explícita de plugin com
marketplaceName: "openai-curated"epluginNamepara cada plugin selecionado
plugins["*"] e nunca armazena caminhos de cache de marketplace local. Falhas de assinatura no lado da origem são relatadas em itens manuais com motivos tipados, como codex_subscription_required, codex_account_unavailable, plugin_disabled ou plugin_read_unavailable. Com --verify-plugin-apps, falhas de inventário de apps da origem também podem aparecer como app_inaccessible, app_disabled, app_missing ou app_inventory_unavailable. Plugins ignorados não são gravados na configuração de destino.
Instalações que exigem autenticação no lado do destino são relatadas no item de plugin afetado com status: "skipped", reason: "auth_required" e identificadores de app sanitizados. Suas entradas explícitas de configuração são gravadas como desativadas até que você as reautorize e ative. Outras falhas de instalação são resultados error com escopo no item.
Se o inventário de plugins do servidor de apps do Codex estiver indisponível durante o planejamento, a migração recorre a itens consultivos de pacote em cache em vez de falhar a migração inteira.
Provedor Hermes
O provedor Hermes incluído detecta o estado em~/.hermes por padrão. Use --from <path> quando o Hermes estiver em outro lugar.
O que o Hermes importa
- Configuração padrão de modelo de
config.yaml. - Provedores de modelo configurados e endpoints personalizados compatíveis com OpenAI de
providersecustom_providers. - Definições de servidor MCP de
mcp_serversoumcp.servers. SOUL.mdeAGENTS.mdpara o workspace do agente OpenClaw.memories/MEMORY.mdememories/USER.mdanexados aos arquivos de memória do workspace.- Padrões de configuração de memória para memória de arquivo do OpenClaw, além de itens de arquivamento ou revisão manual para provedores de memória externos, como Honcho.
- Skills que incluem um arquivo
SKILL.mdemskills/<name>/. - Valores de configuração por Skill de
skills.config. - Credenciais OAuth do OpenAI do OpenCode de
auth.jsondo OpenCode quando a migração interativa de credenciais é aceita, ou quando--include-secretsé definido. Entradas OAuth deauth.jsondo Hermes são estado legado relatado para reautenticação manual no OpenAI ou reparo pelo doctor. - Chaves de API e tokens compatíveis de
.envdo Hermes eauth.jsondo OpenCode quando a migração interativa de credenciais é aceita, ou quando--include-secretsé definido.
Chaves .env compatíveis
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
Estado somente para arquivamento
O estado do Hermes que o OpenClaw não consegue interpretar com segurança é copiado para o relatório de migração para revisão manual, mas não é carregado na configuração ou nas credenciais ativas do OpenClaw. Isso preserva estado opaco ou inseguro sem fingir que o OpenClaw pode executá-lo ou confiar nele automaticamente:plugins/sessions/logs/cron/mcp-tokens/state.db
Depois de aplicar
Contrato de plugin
As origens de migração são plugins. Um plugin declara seus ids de provedor emopenclaw.plugin.json:
api.registerMigrationProvider(...). O provedor implementa detect, plan e apply. O núcleo controla a orquestração da CLI, a política de backup, os prompts, a saída JSON e a pré-verificação de conflitos. O núcleo passa o plano revisado para apply(ctx, plan), e provedores podem reconstruir o plano somente quando esse argumento estiver ausente por compatibilidade.
Plugins de provedor podem usar openclaw/plugin-sdk/migration para construção de itens e contagens de resumo, além de openclaw/plugin-sdk/migration-runtime para cópias de arquivos cientes de conflitos, cópias de relatório somente para arquivamento, wrappers de config-runtime em cache e relatórios de migração.
Integração com onboarding
O onboarding pode oferecer migração quando um provedor detecta uma origem conhecida. Tantoopenclaw onboard --flow import quanto openclaw setup --wizard --import-from hermes usam o mesmo provedor de migração de plugin e ainda mostram uma prévia antes de aplicar.
Importações de onboarding exigem uma instalação nova do OpenClaw. Redefina a configuração, as credenciais, as sessões e o workspace primeiro se você já tiver estado local. Importações com backup mais sobrescrita ou mesclagem estão protegidas por feature gate para instalações existentes.
Relacionado
- Migrando do Hermes: passo a passo voltado ao usuário.
- Migrando do Claude: passo a passo voltado ao usuário.
- Migrando: mova o OpenClaw para uma nova máquina.
- Doctor: verificação de integridade após aplicar uma migração.
- Plugins: instalação e registro de plugins.