Como migrar do OpenClaw para o Hermes Agent com segurança
Um cutover seguro que vai além do import de uma linha
Migrar um assistente de IA não é o mesmo que copiar uma configuração de aplicativo. A parte difícil é preservar identidade, memória, comportamento das ferramentas, trabalhos agendados e acesso a mensagens, sem que dois gateways atuem como o mesmo bot.
O Hermes Agent agora inclui hermes claw migrate, um verdadeiro planejador de migração, em vez de um comando de importação cosmético. Ele pode mapear mais de 30 categorias do OpenClaw, detectar conflitos, criar um ponto de restauração do Hermes e arquivar estados incompatíveis para revisão manual. Isso torna a migração prática, mas não a torna automática.

A abordagem abaixo é um corte gradual: faça backup do OpenClaw, execute uma simulação (dry-run) da migração completa, importe sem segredos, valide o Hermes pelo terminal e transfira as credenciais de mensagens apenas depois que o novo agente se comportar corretamente. Não comece com --overwrite --migrate-secrets --yes; essas flags são úteis para automação após uma migração ensaiada, não para descobrir em que seu assistente realmente depende.
O runbook de migração do OpenClaw para o Hermes
| Fase | Comando ou ação | Condição de saída |
|---|---|---|
| Inventário | Registre versões, workspaces, plugins, canais, trabalhos cron e provedores | Toda dependência que não é arquivo tem um responsável |
| Backup | openclaw backup create --verify |
Existe um arquivo de backup verificado fora do estado do OpenClaw |
| Pré-visualização | hermes claw migrate --dry-run --preset full |
Nenhum conflito inexplicado ou dado crítico ignorado |
| Importação | Execute o preset completo sem segredos | A configuração do Hermes, persona, memória, habilidades e entradas MCP existem |
| Teste local | Execute o Hermes no terminal | Modelo, ferramentas, memória, aprovações e workspace passam nos testes |
| Corte de canal | Pare o OpenClaw, migre ou defina segredos, inicie o gateway do Hermes | Apenas o Hermes possui cada token de bot ou conta |
| Periodo de teste | Mantenha o OpenClaw parado, mas recuperável | Os trabalhos agendados e recebidos funcionam corretamente |
| Limpeza | Arquive o estado antigo do OpenClaw apenas após a aceitação | A janela de reversão é encerrada intencionalmente |
O comando é curto porque o julgamento foi movido para as etapas de pré-visualização e verificação. Trate o relatório de migração gerado como um plano de mudança, e não como uma saída de console reconfortante.
O que hermes claw migrate realmente lê
O migrador lê ~/.openclaw/ por padrão. Ele também detecta os diretórios antigos ~/.clawdbot/ e ~/.moltbot/, juntamente com nomes de arquivos de configuração legados, de modo que uma instalação mais antiga não precisa ser renomeada antes da migração.
O OpenClaw utilizou vários layouts de workspace. O Hermes verifica workspace/, workspace.default/ e workspace-main/, e reconhece diretórios por agente, como workspace-<agentId>. Se você usa raízes de agente personalizadas ou vários perfis, verifique todos os caminhos resolvidos na pré-visualização em vez de assumir que o workspace padrão representa o sistema inteiro.
O destino normalmente é ~/.hermes/. Uma instalação existente do Hermes não é tratada como um balde vazio: o planejador relata conflitos e recusa aplicar por padrão quando não pode preservar ambos os lados com segurança.
O que migra e o que não migra
A distinção útil não é “suportado” versus “não suportado”. Alguns estados do OpenClaw mapeiam diretamente, alguns devem ser transformados e alguns só podem ser arquivados porque os dois agentes usam modelos de execução diferentes.
Migração direta ou transformada
| Origem no OpenClaw | Destino no Hermes | Comportamento da migração |
|---|---|---|
workspace/SOUL.md |
~/.hermes/SOUL.md |
Cópia direta da persona |
workspace/MEMORY.md |
~/.hermes/memories/MEMORY.md |
Analisado, mesclado e deduplicado |
workspace/USER.md |
~/.hermes/memories/USER.md |
Analisado, mesclado e deduplicado |
workspace/memory/*.md |
Memória principal do Hermes | Arquivos diários são mesclados em entradas |
workspace/AGENTS.md |
Diretório do projeto escolhido | Requer --workspace-target |
| Diretórios de habilidades do OpenClaw | ~/.hermes/skills/openclaw-imports/ |
Copiados com uma política explícita de conflitos |
agents.defaults.model |
Configuração de modelo do Hermes | Formas primária e de reserva são interpretadas |
models.providers.* |
Configuração de provedores do Hermes | URL base e tipo de API são mapeados |
mcp.servers.* |
mcp_servers.* |
Definições Stdio e HTTP/SSE são mapeadas |
| Tokens de canal e listas de permissão | .env do Hermes |
Apenas com --migrate-secrets |
| Política de reset de sessão | session_reset |
Modos diário e ocioso são traduzidos |
| Aprovações de execução | Aprovações e lista de permissão de comandos do Hermes | Modos e padrões são transformados |
| Configurações de navegador, TTS, sandbox e timeout | Configuração relacionada do Hermes | Campos suportados são mapeados |
A memória não é copiada como um único documento opaco. O migrador analisa os arquivos de memória e de perfil de usuário do OpenClaw, mescla-os com as entradas existentes do Hermes e os deduplica. Isso é mais seguro do que substituir um arquivo de memória do Hermes já estabelecido, mas também significa que você deve comparar significado e estrutura, e não apenas tamanhos de arquivos.
Arquivado para reconstrução manual
| Funcionalidade do OpenClaw | Por que não é portável diretamente | Direção no Hermes |
|---|---|---|
| Trabalhos Cron | Agendadores e modelos de entrega diferem | Recrie com hermes cron create |
| Plugins | APIs de plugins são específicas de produto | Substitua por um plugin do Hermes, habilidade, servidor MCP ou ferramenta embutida |
| Hooks e webhooks | Contratos de eventos e permissões diferem | Recrie com webhooks do Hermes ou hooks do gateway |
| Backend avançado de memória | Bancos de dados e semânticas de recuperação diferem | Configure um provedor de memória do Hermes separadamente |
| Configurações do registro de habilidades | Implementação do registro difere | Configure com hermes skills config |
| Lista e vinculações de múltiplos agentes | Modelos de roteamento e perfil diferem | Reconstrua com perfis do Hermes e configuração do gateway |
IDENTITY.md |
O Hermes usa uma divisão de identidade diferente | Mescle a identidade relevante em SOUL.md |
HEARTBEAT.md |
Não há equivalência direta de heartbeat dirigido por arquivo | Expresse trabalhos periódicos como trabalhos cron |
TOOLS.md |
O Hermes fornece suas próprias instruções de ferramentas | Mova apenas regras genuínas de fluxo de trabalho para uma habilidade ou arquivo de contexto |
BOOTSTRAP.md |
Semântica de bootstrap difere | Use arquivos de contexto, configuração ou uma habilidade |
Estes itens são salvos abaixo de ~/.hermes/migration/openclaw/<timestamp>/archive/. Portanto, uma migração bem-sucedida com um arquivo não vazio não está concluída; o arquivo é a fila de trabalho restante.
Passo 1: Inventariar o sistema OpenClaw ativo
Antes de instalar qualquer coisa, anote quais comportamentos estão realmente em uso. Arquivos de configuração sozinhos podem não revelar um banco de dados externo de um plugin, um gateway supervisionado manualmente, um diretório de agente personalizado, um processo local de modelo ou a conta que possui um endpoint de webhook.
No mínimo, registre:
- Versões do OpenClaw e do Hermes.
- O diretório de estado ativo do OpenClaw e o caminho da configuração.
- Todos os diretórios de agentes e workspaces.
- Provedores de modelos, modelos de reserva e endpoints locais.
- Plugins instalados e habilitados, incluindo seus dados persistentes.
- Habilidades de workspaces, gerenciados, pessoais e de projeto.
- Servidores MCP, variáveis de ambiente, diretórios de trabalho e credenciais.
- Contas do Telegram, Discord, Slack, WhatsApp, Signal, Matrix e Mattermost.
- Trabalhos cron, hooks, webhooks, comportamento de heartbeat e supervisores externos.
- Regras de aprovação, listas de permissão de comandos, backend de sandbox e acesso ao navegador.
Este inventário se torna a lista de verificação de aceitação mais tarde. Sem ele, um assistente migrado pode parecer saudável porque responde mensagens enquanto silenciosamente falta o backup semanal, um provedor de memória ou uma regra restritiva de aprovação.
Passo 2: Criar um backup verificado do OpenClaw
O OpenClaw 2.0 inclui um comando de backup que entende seu estado atual do SQLite, raízes de agentes configuradas, credenciais, plugins e workspaces. Use-o em vez de copiar arquivos de banco de dados ao vivo e torcer para que seus acompanhantes WAL foram capturados consistentemente.
mkdir -p ~/Backups
openclaw gateway stop
openclaw backup create --output ~/Backups --verify
Mantenha o arquivo resultante fora de ~/.openclaw/. A opção --verify valida o arquivo imediatamente, incluindo segurança de caminhos e verificações de integridade do SQLite suportadas. Bancos de dados do OpenClaw são capturados através da API de backup online do SQLite, verificados pelo proprietário e compactados, em vez de copiados como arquivos brutos. Se seus workspaces forem grandes, você pode usar --no-include-workspace, mas então faça backup desses repositórios e arquivos não-Git separadamente; diretórios de agentes permanecem incluídos de qualquer forma.
A armadilha de transcrições pré-2.0
O OpenClaw 2.0 moveu sessões e transcrições de sessions.json e arquivos JSONL para o SQLite, por padrão em ~/.openclaw/agents/<agent>/agent/openclaw-agent.sqlite. Isso importa aqui por uma razão não óbvia: o arquivo portável backup create omite transcrições e logs JSONL legados mesmo quando eles não estão mais sendo escritos.
Portanto, se sua instalação do OpenClaw antecede a versão 2.0 e você se importa com o histórico de conversas antigo, um arquivo verificado sozinho não o protege. Pare o gateway e tire um instantâneo de sistema de arquivos, volume ou VM antes de migrar, ou use os comandos de instantâneo por banco de dados do OpenClaw para os bancos de dados dos quais você deseja uma cópia compacta e verificável independentemente:
openclaw backup sqlite create --global --repository ~/Backups/openclaw-sqlite
openclaw backup sqlite create --agent main --repository ~/Backups/openclaw-sqlite
openclaw backup sqlite list --repository ~/Backups/openclaw-sqlite
openclaw backup sqlite verify ~/Backups/openclaw-sqlite/<snapshot-id>
Trate esses repositórios de instantâneo com as mesmas permissões e política de retenção que o estado ao vivo — eles podem conter perfis de autenticação, estado de sessão e dados de plugins. Para uma configuração replicada continuamente em vez de arquivos periódicos, o OpenClaw documenta Litestream contra os mesmos bancos de dados; essa é uma melhor resposta do que trabalhos cp feitos à mão se a migração for levar dias.
Crie também um backup do Hermes se ele já contém estado útil:
hermes backup
A migração normalmente cria seu próprio arquivo do Hermes pré-migração sob ~/.hermes/backups/. Não passe --no-backup durante o primeiro corte; economizar alguns segundos não vale a pena remover o caminho de reversão mais simples.
Passo 3: Instalar e testar um Hermes Agent vazio
Instale o Hermes, selecione um modelo e prove que o agente básico de terminal funciona antes de importar o estado do OpenClaw. Isso separa falhas de instalação e provedor de falhas de migração. O guia do Assistente de IA Hermes cobre a seleção de provedores e configuração de gateway em profundidade; para a migração, você só precisa de uma linha de base de terminal funcional.
curl -fsSL https://hermes-agent.nousresearch.com/install.sh | bash
source ~/.bashrc
hermes setup
hermes status
hermes doctor
Se você já instalou o Hermes, atualize-o antes de confiar no comportamento atual de migração:
hermes update
hermes --version
Essa verificação de versão não é uma formalidade. A postura de segurança de claw migrate mudou substancialmente durante 2026: builds atuais recusam aplicar um plano conflituoso, escrevem um ponto de restauração pré-migração por padrão, redigem segredos nos relatórios que salvam em disco e exigem --migrate-secrets explicitamente mesmo sob --preset full. Builds antigos não faziam nada disso — notavelmente, --preset full costumava puxar chaves de API silenciosamente, e um plano conflituoso relataria “migrado 0” depois que você já havia confirmado. Se você está seguindo um tutorial mais antigo, as flags podem parecer idênticas, enquanto o comportamento difere exatamente nos lugares que importam.
Não configure os tokens de bot antigos ainda. A validação apenas no terminal permite que o OpenClaw permaneça ativo enquanto você prepara o Hermes, e evita dois processos de gateway competindo pela mesma identidade de mensagens.
Passo 4: Executar a simulação antes de escolher flags
Comece com o preset completo porque ele revela a maior superfície de mapeamento possível, mas mantenha os segredos excluídos:
hermes claw migrate --dry-run --preset full
A migração sempre apresenta uma pré-visualização antes de aplicar, mesmo sem --dry-run. A flag explícita ainda é valiosa porque torna sua intenção inequívoca e dá tempo para inspecionar caminhos de origem, destinos, transformações, conflitos, itens ignorados, arquivos e avisos de segredos sem um prompt de confirmação impaciente. O conjunto completo de flags para claw migrate e seus vizinhos é resumido na folha de dicas de CLI do Hermes Agent.
Use uma origem personalizada quando o estado do OpenClaw não estiver no local padrão:
hermes claw migrate \
--dry-run \
--preset full \
--source /srv/openclaw-state
Se AGENTS.md deve se aplicar a um repositório específico, diga explicitamente:
hermes claw migrate \
--dry-run \
--preset full \
--workspace-target /srv/projects/my-project
Sem --workspace-target, as instruções do workspace não são colocadas em um diretório atual arbitrário. Esse é o comportamento correto: um arquivo de instrução pertence a um escopo, e chutar seu escopo pode mudar todas as sessões do Hermes lançadas abaixo do diretório errado.
Preset completo ou de dados do usuário?
O preset full inclui configurações de infraestrutura e comportamento compatíveis. O preset user-data foca em persona, memórias, habilidades e conteúdo do usuário relacionado, excluindo a configuração de infraestrutura.
Use user-data quando o Hermes já tem uma configuração de provedor, gateway, segurança ou sandbox cuidadosamente construída. Use full quando o Hermes é novo e o OpenClaw é a configuração autoritativa, mas ainda inspecione todas as configurações de comportamento transformadas. Nenhum preset importa segredos a menos que --migrate-secrets seja adicionado.
Passo 5: Resolver conflitos sem destruir a procedência
O comportamento padrão de conflito é conservador: a migração recusa aplicar um plano com conflitos de arquivo não resolvidos a menos que --overwrite seja definido. Isso é preferível a um corte aparentemente bem-sucedido que sobrepõe uma persona ou habilidade do Hermes mais nova — e preferível ao comportamento antigo, onde confirmar um plano conflituoso produzia um resultado “migrado 0” que parecia uma operação nula, mas era realmente uma omissão silenciosa.
Conflitos de habilidades são tratados separadamente, e o padrão ali é skip, que silenciosamente mantém a versão existente do Hermes e descarta a recebida. Para uma primeira migração, recomendo rename em vez disso:
hermes claw migrate \
--preset full \
--workspace-target /srv/projects/my-project \
--skill-conflict rename
Habilidades importadas são colocadas sob ~/.hermes/skills/openclaw-imports/. Com rename, uma colisão de nomes produz um irmão importado em vez de esconder qualquer versão. Revise as duas implementações, teste a escolhida e remova a cópia redundante depois.
Use --overwrite apenas depois de revisar a pré-visualização ou ao reconstruir um perfil do Hermes descartável. Ele se aplica mais amplamente do que o tratamento de conflito de habilidades e pode substituir arquivos existentes do Hermes. A presença de um backup torna a sobreposição recuperável, não desejável.
Passo 6: Migrar configuração e dados do usuário sem segredos
Aplique o plano revisado e deixe as credenciais para a etapa de corte:
hermes claw migrate \
--preset full \
--workspace-target /srv/projects/my-project \
--skill-conflict rename
Após a conclusão, salve os contagens impressos de itens migrados, ignorados, conflituosos e arquivados. Abra o diretório de migração com carimbo de data e leia seu resumo antes de iniciar uma nova sessão do Hermes. Builds atuais redigem valores de segredos detectados no report.json e summary.md que escrevem, então esses arquivos são seguros para manter junto com suas notas de mudança — mas confirme isso na sua versão em vez de assumir, porque builds anteriores escreviam chaves de API brutas nos mesmos relatórios.
Novas sessões importam. Habilidades e entradas de memória importadas são carregadas quando uma sessão começa, então testar dentro de uma sessão que antecede a migração pode produzir um falso “habilidade não encontrada” ou resultado de memória obsoleta.
Passo 7: Validar comportamento antes do corte de canal
Execute as verificações pós-migração a partir do terminal:
hermes status
hermes doctor
hermes config show
hermes gateway status
Se a recuperação de memória parecer incompleta, reconstrua o índice antes de concluir que a importação falhou:
hermes memory reindex
Em seguida, inicie uma nova conversa do Hermes e teste comportamentos observáveis, não apenas a presença de arquivos. Peça uma preferência de usuário conhecida da memória, invoque uma habilidade importada, chame uma ferramenta MCP, execute um comando de terminal inofensivo que deveria ser permitido e tente um que deveria exigir aprovação.
Uma matriz de aceitação útil parece assim:
| Área | Teste | Falha geralmente significa |
|---|---|---|
| Persona | Faça uma pergunta onde tom e fronteiras são óbvios | SOUL.md não foi encontrado, foi sobrescrito ou precisa de conteúdo de identidade mesclado |
| Memória do usuário | Peça uma preferência estável conhecida | Entradas de memória não foram importadas, deduplicadas inesperadamente, não reindexadas ou não carregadas em uma nova sessão |
| Habilidade | Invoque um fluxo de trabalho importado distinto | Conflito de nome, metadados inválidos, dependência ausente ou sessão obsoleta |
| Provedor | Execute uma resposta normal e longa | Mapeamento de modelo incorreto, credencial ausente ou tipo de API incompatível |
| MCP | Chame uma ferramenta somente leitura de cada servidor | Ambiente ausente, cwd errado, descompasso de transporte ou problema no filtro de ferramentas |
| Terminal | Teste comandos permitidos e que exigem aprovação | Modo de aprovação ou mapeamento de lista de permissão mudou a política |
| Navegador | Abra uma página de teste inofensiva | URL CDP, backend do navegador ou acesso ao sandbox difere |
| Compressão | Execute uma sessão longa descartável | Modelo de resumo ou comportamento de compactação não foi mapeado como pretendido |
| Reset de sessão | Inspecione a configuração e teste em um perfil descartável | Interpretação diária/ociosa difere das regras do OpenClaw |
A migração mapeia timeoutSeconds para um valor estimado de turnos máximos, traduz níveis de raciocínio e converte modos de aprovação. Esses são mapeamentos semânticos, não cópias byte a byte. Verifique que o comportamento resultante corresponda à sua intenção, especialmente para tarefas autônomas longas e execução de comandos.
Passo 8: Tratar segredos como uma mudança de segurança separada
--migrate-secrets pode coletar chaves listadas em permissão de valores de configuração do OpenClaw, ~/.openclaw/.env, objetos de ambiente de configuração e perfis de autenticação por agente (~/.openclaw/agents/<agent>/agent/auth-profiles.json). Ele entende strings simples, modelos de ambiente e objetos SecretRef baseados em ambiente.
Intencionalmente, ele não copia nomes de segredo arbitrários. SecretRefs baseados em arquivo e baseados em comando não podem ser resolvidos automaticamente, e valores fora da lista de permissão suportada permanecem para configuração manual. Trate cada aviso aqui como um controle funcionando como projetado, não como uma razão para colar todo o ambiente do OpenClaw no Hermes.
Para uma primeira migração, prefiro configurar credenciais de provedores através do Hermes após a importação de dados. Se você usar migração automática de segredos, pré-visualize-a e execute-a apenas quando estiver pronto para transferir a propriedade dos canais:
hermes claw migrate \
--dry-run \
--preset full \
--migrate-secrets
Em seguida, verifique a presença sem imprimir valores:
hermes status
hermes auth status
Rode credenciais se elas foram expostas no histórico do shell, coladas em notas de migração ou armazenadas com permissões mais fracas do que o pretendido. A migração preserva o acesso; ela não prova que a prática antiga de manipulação de segredos era segura.
Passo 9: Realizar um corte de mensagens controlado
Não há uma transição de zero tempo de inatividade honesta quando dois processos fariam polling, assinatura ou resposta como a mesma conta de bot. O padrão seguro é preparar em paralelo, parar o OpenClaw, iniciar o Hermes, testar cada plataforma e manter os comandos de reversão prontos.
Primeiro, pare o gateway do OpenClaw e confirme que ele está parado:
openclaw gateway stop
openclaw gateway status
Agora migre ou defina manualmente os segredos de mensagens, configure o gateway do Hermes e inicie-o:
hermes gateway setup
hermes gateway install
hermes gateway start
hermes gateway status
Envie uma mensagem direta de um usuário permitido em cada plataforma. Teste texto recebido, uma resposta, um anexo se usado, um comando slash, uma tarefa longa, interrupção e um envio agendado ou manual. Um status de serviço verde prova que um processo está em execução; não prova que listas de permissão, roteamento de thread, entrega e formatação sobreviveram à mudança.
WhatsApp requer novo pareamento porque a migração não transfere a sessão Baileys como um token reutilizável. Execute hermes whatsapp e complete o fluxo de QR. Outros canais podem reutilizar tokens, mas layouts de conta e vinculações de múltiplas contas ainda merecem teste explícito.
Habilidades, plugins e servidores MCP não são intercambiáveis
Habilidades do OpenClaw de quatro locais podem ser importadas, mas um diretório importado só é útil se suas premissas permanecerem verdadeiras. Verifique nomes de comandos, caminhos de sistema de arquivos, variáveis de ambiente, ferramentas específicas de plataforma e referências a APIs exclusivas do OpenClaw. O guia de habilidades do OpenClaw explica os formatos de origem; o guia de criação de habilidades Hermes cobre o comportamento do destino.
Plugins do OpenClaw não se tornam plugins do Hermes. Reconstrua a capacidade na camada mais estreita adequada:
- Use uma habilidade do Hermes para procedimento, seleção de ferramentas e instruções reutilizáveis.
- Use um servidor MCP para dados ao vivo ou uma fronteira de serviço externo.
- Use uma ferramenta embutida do Hermes quando ela já fornecer a capacidade.
- Use um plugin do Hermes apenas quando o código deve participar do próprio tempo de execução do agente.
Este é um bom momento para remover sedimento arquitetural. Um plugin instalado para compensar uma limitação antiga do OpenClaw pode não ter motivo para sobreviver no Hermes, enquanto um plugin segurando um banco de dados durável precisa de um plano de exportação ou substituição deliberado.
Definições MCP migram mais diretamente, incluindo comandos, argumentos, ambientes, diretórios de trabalho, URLs e filtros de ferramentas de incluir/excluir. Ainda teste cada servidor separadamente: um mapeamento YAML correto não pode instalar um executável ausente, renovar OAuth ou fazer um caminho do host antigo existir no novo.
Memória precisa de uma verificação de qualidade, não de contagem de linhas
O Hermes importa MEMORY.md, USER.md e arquivos diários de memória para sua estrutura de memória. Isso preserva fatos úteis, mas plugins de memória do OpenClaw, bancos de dados de contexto longo, índices de incorporação e políticas de recuperação são arquivados em vez de traduzidos para um sistema cognitivo equivalente.
Revise a memória importada em três passagens:
- Identidade e preferências estáveis: preserve fatos concisos que devem influenciar muitas sessões.
- Conhecimento operacional: mova procedimentos repetíveis para habilidades ou contexto de projeto em vez de memória global.
- Resíduo histórico: arquivar incidentes concluídos, planos obsoletos e comentários do agente autorreferenciais em vez de injetá-los para sempre.
Não importe cada transcrição como memória durável. Mais texto lembrado pode tornar um agente menos coeso ao recuperar repetidamente restrições obsoletas e seus próprios palpites anteriores. O guia do sistema de memória do Hermes explica onde as entradas importadas ficarão, e a comparação de provedores de memória de agentes é o lugar melhor para escolher um novo backend de longo prazo.
Recriar trabalhos cron, heartbeats, hooks e roteamento de múltiplos agentes
Trabalhos cron são arquivados porque a execução agendada não é apenas uma expressão cron. Um trabalho também tem um prompt ou comando, diretório de trabalho, modelo, timeout, destino de entrega, permissões, comportamento de repetição e expectativas sobre o estado da sessão.
Para cada trabalho arquivado do OpenClaw, anote esses campos e recrie-o com o Hermes:
hermes cron create
hermes cron list
Execute cada trabalho uma vez manualmente antes de habilitar seu agendamento. Verifique tanto o trabalho quanto o caminho de entrega, especialmente quando o trabalho antigo publicava em um chat do Telegram, canal do Slack ou thread do Discord.
Traduza HEARTBEAT.md para trabalhos agendados explícitos apenas quando a execução periódica for realmente necessária. Um heartbeat vago que pede ao agente para inspecionar tudo a cada poucos minutos é caro e difícil de verificar; trabalhos nomeados separados com resultados observáveis são mais fáceis de operar.
Definições de múltiplos agentes e vinculações de canal também requerem design manual. Perfis do Hermes fornecem estado e gateways isolados, mas não são uma reescrita sintática da lista de agentes do OpenClaw. Mapeie cada agente por responsabilidade, workspace, credenciais, canal e fronteira de segurança em vez de reproduzir nomes primeiro; o raciocínio centrado em perfil por trás desse mapeamento é trabalhado no guia de configuração de produção do Hermes.
Solucionando as falhas que importam
“Diretório do OpenClaw não encontrado”
O comando procura os diretórios padrão atuais do OpenClaw, Clawdbot e Moltbot. Se seu estado estiver em outro lugar, aponte para o diretório que contém a configuração do OpenClaw e o estado relacionado:
hermes claw migrate --dry-run --source /path/to/openclaw
Não aponte --source apenas para o workspace a menos que esse seja genuinamente a árvore de fonte completa. A pré-visualização deve mostrar configuração, workspace e categorias reconhecidas.
A migração recusa devido a conflitos
Este é o padrão seguro, não uma falha. Faça backup do Hermes, identifique qual lado é autoritativo para cada conflito, use --skill-conflict rename para habilidades e reserve --overwrite para um plano revisado.
Se a configuração existente do Hermes for valiosa, considere o preset user-data. Ele importa o conteúdo do usuário do assistente sem tentar substituir a infraestrutura estabelecida.
Habilidades importadas não aparecem
Inicie uma nova sessão e inspecione o diretório importado abaixo de ~/.hermes/skills/openclaw-imports/. Use /skills dentro do Hermes para confirmar a descoberta. Se a habilidade existe mas não pode executar, inspecione suas premissas de dependência e ferramenta em vez de repetir a migração.
Chaves de provedor não foram encontradas
A chave pode estar armazenada em um arquivo de ambiente do OpenClaw, objeto de ambiente de configuração, perfil de autenticação, SecretRef baseado em arquivo, SecretRef baseado em comando ou nome de variável não suportado. O migrador resolve as formas suportadas e avisa sobre o resto. Adicione valores não resolvidos através da configuração ou comandos de autenticação do Hermes em vez de converter referências seguras em texto plano apenas para satisfazer o importador.
O bot está em execução, mas mensagens estão faltando ou duplicadas
Confirme que o gateway do OpenClaw está parado e que apenas um perfil do Hermes possui o token. Em seguida, inspecione hermes gateway status e logs do gateway, seguido por listas de permissão de canal e seleção de conta. Consumidores duplicados e listas de permissão incorretas são mais comuns do que um modelo de linguagem quebrado.
A personalidade está presente, mas a recuperação é pobre
SOUL.md e memória são camadas diferentes. Confirme que a persona copiada para ~/.hermes/SOUL.md, entradas de memória chegaram a ~/.hermes/memories/ e o teste usa uma nova sessão. Execute hermes memory reindex antes de depuração mais profunda. Se o OpenClaw dependia de um plugin de memória externo, configure um provedor de memória do Hermes em vez de esperar que a importação Markdown recrie seu comportamento de recuperação.
Reverter o Hermes
Pare o gateway do Hermes antes de restaurar o backup do Hermes pré-migração:
hermes gateway stop
hermes import ~/.hermes/backups/pre-migration-<timestamp>.zip
hermes import sobrescreve arquivos na casa do Hermes com o conteúdo do arquivo, então inspecione o nome do arquivo exato e entenda que sessões do Hermes pós-migração podem ser substituídas. Em seguida, mantenha o Hermes parado, reinicie o OpenClaw e verifique a saúde do seu gateway e canal.
Migração manual quando o comando não pode modelar sua configuração
Um fallback manual é mais lento, mas às vezes mais claro para instalações altamente personalizadas. Construa um perfil do Hermes limpo e migre por responsabilidade:
- Copie ou reescreva conteúdo de persona para
~/.hermes/SOUL.md. - Curia fatos estáveis do usuário para
MEMORY.mdeUSER.mddo Hermes em vez de copiar todo o histórico. - Coloque instruções do projeto no
AGENTS.mdde nível de repositório correto. - Copie habilidades compatíveis para um diretório de importação nomeado e teste-as individualmente.
- Traduza definições de provedor e MCP para
~/.hermes/config.yamlsem imprimir segredos. - Configure credenciais através da autenticação ou gerenciamento de segredos do Hermes.
- Recrie aprovações, sandboxing, acesso ao navegador, trabalhos cron, webhooks e canais.
- Substitua cada plugin do OpenClaw por uma capacidade explícita do Hermes ou aposse-o.
A rota manual é especialmente apropriada quando a fonte contém vários agentes do OpenClaw com diferentes workspaces, plugins de memória e vinculações de canal. Uma união automática pode preservar arquivos enquanto apaga o isolamento que tornava a configuração segura.
Não limpe o OpenClaw imediatamente
Depois que o Hermes passar nos testes locais e de mensagens, mantenha o OpenClaw instalado, mas parado, por um período de teste. Preserve o backup verificado do OpenClaw, arquivo de migração, backup do Hermes pré-migração e uma cópia da lista de verificação de aceitação.
O Hermes documenta hermes claw cleanup para renomear diretórios restantes do OpenClaw para .pre-migration/, e hermes claw cleanup --dry-run para pré-visualizar o que seria arquivado. Use-o apenas depois que o gateway do OpenClaw estiver parado, a versão atual do Hermes incluir proteções de processo e você tiver decidido não reverter. Builds antigos de 2026 tinham um caminho de limpeza reportado que podia mover estado enquanto um gateway do OpenClaw ainda estava em execução; o código atual marca a proteção como implementada, mas um backup verificado e serviço de fonte parado permanecem como limite sensato.
Limpeza não é necessária para provar que o Hermes funciona. Ela existe para reduzir confusão de estado futura, então adiá-la durante uma janela de reversão é uma boa operação, não desordem.
Quando permanecer no OpenClaw 2.0
O OpenClaw 2.0 não é uma linha de base abandonada. A liberação v2026.8.1 trouxe mais de 16.000 solicitações de pull de mais de 900 contribuidores — aproximadamente metade do histórico total de fusões do projeto — e mudou substancialmente a introdução, a interface de controle web, o armazenamento de sessão, backups, canais, memória, plugins, automações, uso de navegador e computador, segurança e confiabilidade de serviço. Se essas funcionalidades da plataforma são centrais para sua implantação, a migração pode remover mais capacidade funcional do que simplifica.
Permaneça no OpenClaw quando você depender de:
- Sua interface de controle reconstruída, com editor de arquivos acoplado, painel de Alterações baseado em git, painel do navegador e aprovações na conversa.
- Presets de sessão, busca de transcrições, grupos, visões de status e ações em lote.
- Um plugin específico de produto sem equivalência no Hermes.
- Roteamento complexo de múltiplos usuários, mobile, dispositivo ou canal já funcionando em produção.
- Administração de navegador, uso de computador ou Gateway específica do OpenClaw.
- Um banco de dados de memória ou sessão que não pode ser exportado com perda aceitável.
- Controles operacionais que sua equipe já conhece e monitora.
Mova para o Hermes quando seu fluxo de trabalho centrado em terminal mais simples, perfis, habilidades orientadas ao aprendizado, modelo de memória, tarefas agendadas, flexibilidade de provedores ou modelo de delegação corresponder melhor ao que você realmente opera. A comparação do OpenClaw e Hermes discute essa decisão com números atuais; esta página é sobre executar o corte uma vez que a decisão for tomada.
Lista de verificação final de migração
- Versão do OpenClaw e caminhos resolvidos registrados.
- Backup verificado do OpenClaw armazenado fora do estado ao vivo.
- Transcrições JSONL pré-2.0 fotografadas separadamente, se importarem.
- Backup existente do Hermes criado.
- Versão do Hermes verificada contra o comportamento de segurança atual de
claw migrate. - Simulação completa revisada.
- Cada conflito atribuído a uma resolução.
- Conteúdo do arquivo adicionado à lista de trabalho manual.
- Persona, memória do usuário e habilidades testadas em uma nova sessão.
- Provedor, modelo de reserva, MCP, navegador e terminal testados.
- Comportamento de aprovação e sandbox testado, incluindo uma ação negada.
- Trabalhos cron, plugins, hooks, backend de memória e vinculações de múltiplos agentes reconstruídos ou aposentados.
- Gateway do OpenClaw parado antes das credenciais de canal serem movidas.
- Cada canal de mensagens testado de uma conta permitida.
- WhatsApp re-pareado, se usado.
- Comandos de reversão e nomes de arquivos registrados.
- Limpeza do OpenClaw adiada até o fim do período de teste.
Veredito final
hermes claw migrate é bom o suficiente para tornar uma migração do OpenClaw para o Hermes de rotina, mas apenas se “rotina” significar planejado e reversível. Seu recurso mais forte não é o número de arquivos que ele copia; é a pré-visualização que lhe diz quais partes do antigo assistente têm um equivalente real no Hermes e quais partes ainda requerem julgamento de engenharia.
Use o preset completo para descobrir o escopo, mantenha segredos fora da primeira passagem, renomeie conflitos de habilidades, teste a partir do terminal e transfira a propriedade dos canais como um evento separado. Mais importante, preserve o sistema antigo até que o Hermes tenha concluído trabalhos agendados reais e conversas reais, não apenas retornado um comando de status bem-sucedido.
Referências
- Guia do Hermes: Migrar do OpenClaw
- Referência de comandos da CLI do Hermes
- Repositório e instalação do Hermes Agent
- PR #16911 do Hermes: aplicação planejada primeiro, redação e backup pré-migração
- Referência de configuração do OpenClaw
- Comandos de serviço do Gateway do OpenClaw
- Comandos de backup e restauração do OpenClaw
- Visão geral de backups do OpenClaw, instantâneos SQLite e Litestream
- Notas de liberação do OpenClaw 2.0
- Problema e resolução de proteção de processo de limpeza do Hermes