- Detén el gateway de OpenClaw antes de ejecutar la migración para evitar conflictos con Telegram y otros canales que solo pueden tener un token activo a la vez.
- El comando
hermes claw migratecrea una copia de seguridad automática en~/.hermes/backups/antes de hacer cualquier cambio, salvo que uses--no-backup. - Los secretos de API no se migran por defecto: debes añadir
--migrate-secretsexplícitamente, incluso con--preset full. - Hermes Agent (Python, learning loop) y OpenClaw (Node.js, gateway) tienen filosofías distintas: revisar la tabla de equivalencias antes de asumir que todo funciona igual.
- Usa siempre
--dry-runprimero para ver exactamente qué se migraría sin aplicar cambios.
Diferencias filosóficas: gateway vs learning loop
Migrar de OpenClaw a Hermes no es solo cambiar de herramienta: es adoptar una filosofía distinta sobre qué debe hacer un agente de IA personal.
OpenClaw es un gateway persistente. Su apuesta central es la
conectividad: gestiona qué personas pueden hablar con tu agente, por qué canales,
con qué permisos. La memoria es explícita y sin límite duro, viviendo en archivos
Markdown editables a mano (MEMORY.md, memory/YYYY-MM-DD.md)
indexados para búsqueda. Puedes auditar y editar directamente cada entrada de
memoria. El precio es que tú debes decidir qué almacenar y cuándo.
Hermes Agent es un runtime centrado en aprendizaje. Su abstracción
clave es el bucle de aprendizaje: el agente se vuelve más capaz con el tiempo,
creando y refinando sus propias habilidades y perfil de usuario. Hermes impone
límites estrictos de memoria (aproximadamente 2.200 caracteres para memoria de
agente) y fuerza la consolidación de entradas al llenarse, evitando la "hinchazón"
de memoria a costa de perder transparencia total. En cambio, registra un modelo
de usuario (USER.md) y episodios en SQLite con búsquedas rápidas FTS5.
Lenguaje y runtime
OpenClaw está escrito en TypeScript y requiere Node.js 24+. Hermes Agent está escrito en Python y requiere Python 3.11+. Si tienes skills personalizadas escritas en TypeScript para OpenClaw, deberás adaptarlas o reescribirlas para que funcionen como scripts RPC en Hermes.
Modelo de memoria
En OpenClaw la memoria es un archivo Markdown abierto que tú controlas. En Hermes la memoria tiene límites estrictos y se consolida automáticamente cuando se llena, usando SQLite+FTS5 para episodios y USER.md para el perfil de usuario. Es más opaca pero más eficiente para el aprendizaje continuo.
Skills y herramientas
Ambos usan el formato SKILL.md de AgentSkills, pero difieren en las fuentes y valores por defecto. Hermes incluye 48 herramientas incorporadas listas para usar, mientras que OpenClaw depende de skills instalados desde ClawHub u otras fuentes externas.
Cobertura de canales
OpenClaw soporta más de 24 plataformas de mensajería, incluyendo iMessage, IRC, LINE, Zalo, Nostr y otras. Hermes soporta aproximadamente 20 plataformas, cubriendo las más populares (WhatsApp, Telegram, Slack, Discord, Signal, Email). Si usas plataformas de nicho de OpenClaw, verifica la compatibilidad antes de migrar.
La decisión de migrar tiene sentido si valoras el aprendizaje acumulativo del agente, la infraestructura más flexible (desde un VPS de 5 euros hasta serverless sin coste en idle), la seguridad reforzada con contenedores y aprobaciones, y el ecosistema Python con soporte de RL. Si tu prioridad son las integraciones de mensajería en plataformas poco comunes, la memoria completamente transparente o el desarrollo en TypeScript/Node.js, OpenClaw sigue siendo la mejor opción. Puedes consultar la comparativa técnica completa para más detalle.
Tabla de equivalencias entre conceptos
Mapa de conceptos de OpenClaw a sus equivalentes en Hermes Agent.
| Concepto OpenClaw | Equivalente en Hermes | Migra automáticamente | Notas |
|---|---|---|---|
SOUL.md |
~/.hermes/SOUL.md |
Sí | Se copia directamente. Mismo formato. |
MEMORY.md |
~/.hermes/memories/ + SQLite FTS5 |
Sí | Se analiza y fusiona evitando duplicados. El formato interno cambia. |
USER.md |
~/.hermes/USER.md |
Sí | Se importa al modelo de usuario de Hermes. |
Skills (*.md) |
~/.hermes/skills/openclaw-imports/ |
Sí | Todos los archivos SKILL.md compatibles con AgentSkills se copian. |
| Approval patterns | Lista de comandos permitidos de Hermes | Sí | Se importan al sistema de aprobaciones de Hermes. |
| Tokens de API (Telegram, OpenAI, etc.) | ~/.hermes/.env + config.yaml |
Con --migrate-secrets |
No se incluyen por defecto. Usar el flag explícitamente. |
| Configuración de canales | Gateway config de Hermes | Parcial | Credenciales sí; WhatsApp requiere re-emparejamiento QR. |
IDENTITY.md |
Sin equivalente directo | No | Se archiva. Fusionar manualmente en SOUL.md. |
TOOLS.md |
Herramientas integradas (48 tools) | No | Se archiva. Revisar si las herramientas integradas de Hermes cubren el caso. |
HEARTBEAT.md |
Cron jobs de Hermes | No | Se archiva. Recrear con hermes cron create. |
BOOTSTRAP.md |
Contextos iniciales o skills | No | Se archiva. Adaptar como contexto inicial o skill en Hermes. |
cron-config.json |
Hermes cron | No | Se archiva. Recrear manualmente con hermes cron create. |
plugins-config.json |
Sistema de plugins de Hermes | No | Se archiva. Revisar la guía de plugins de Hermes para equivalentes. |
hooks-config.json |
Webhooks y gateways de Hermes | No | Se archiva. Recrear con comandos de webhook de Hermes. |
openclaw.json (config general) |
~/.hermes/config.yaml |
Parcial | Las claves en snake_case de OpenClaw se mapean a CamelCase en Hermes. Revisar el config traducido. |
Workspace AGENTS.md |
AGENTS.md de Hermes |
Con --workspace-target |
Requiere especificar la ruta de destino. |
| Archivos TTS (voz) | Carpeta TTS de Hermes | Sí | Los activos de generación de voz se copian directamente. |
Qué migra automáticamente hermes claw migrate
El migrador oficial importa la mayoría del estado del agente OpenClaw sin intervención manual. Estos son los elementos que se trasladan automáticamente.
SOUL.md que define la personalidad y carácter del agente
se copia directamente a ~/.hermes/SOUL.md. El formato es compatible
entre ambos sistemas, por lo que no necesita adaptación.
MEMORY.md y USER.md se analizan y fusionan
en la base de datos de memoria de Hermes, eliminando duplicados. El contenido se
preserva; solo cambia el formato de almacenamiento interno.
*.md de skills de OpenClaw, ya sean de proyectos,
compartidos o personales, se copian a ~/.hermes/skills/openclaw-imports/.
Hermes los activa en la siguiente sesión nueva.
--migrate-secrets.
--migrate-secrets. Hermes extrae estos secretos en orden de
prioridad: config JSON, .env, perfiles de autenticación.
Qué requiere ajuste manual
Algunos archivos de OpenClaw no tienen equivalente directo en Hermes. El migrador
los guarda en ~/.hermes/migration/openclaw/<timestamp>/archive/
para revisión manual.
| Elemento | Qué hacer en Hermes |
|---|---|
IDENTITY.md |
Fusionar manualmente el contenido relevante en ~/.hermes/SOUL.md. La identidad de marca de OpenClaw no tiene un archivo separado en Hermes. |
TOOLS.md |
Revisar las 48 herramientas integradas de Hermes (hermes tools list). Para herramientas personalizadas sin equivalente, adaptarlas como scripts Python RPC. |
HEARTBEAT.md |
Recrear las tareas periódicas con hermes cron create. Hermes usa un sistema de cron nativo para tareas programadas. |
BOOTSTRAP.md |
Adaptar el contenido como contexto inicial de sesión o como una skill de arranque en Hermes. Hermes no tiene un archivo de bootstrap directo. |
cron-config.json |
Recrear cada tarea programada con hermes cron create <nombre> --schedule "0 9 * * *" y la descripción de la tarea. |
plugins-config.json |
Consultar la guía de plugins de Hermes. Muchos plugins de OpenClaw tienen equivalentes en el sistema de extras de Hermes (pip install hermes-agent[messaging]). |
hooks-config.json |
Recrear los webhooks con los comandos de webhook de Hermes o en la configuración de gateways según el canal. |
memory-backend-config.json |
Si usas Honcho u otro backend de memoria externo, configurarlo manualmente con hermes honcho u el comando específico del proveedor. |
| WhatsApp (sesión QR) | Ejecutar hermes whatsapp y escanear un nuevo código QR. La sesión de WhatsApp de OpenClaw no es transferible entre sistemas. |
| Config en snake_case de OpenClaw | Verificar que el config traducido en ~/.hermes/config.yaml sea correcto. OpenClaw usa apiKey, Hermes usa ApiKey (CamelCase). |
Comandos y flags de migración
Referencia completa del comando hermes claw migrate con todos los flags
disponibles y sus efectos.
Comando principal
hermes claw migrate [flags]
Sin flags ejecuta una migración interactiva por pasos: muestra un listado de todo lo que importará y pide confirmación antes de proceder.
Flags disponibles
| Flag | Efecto | Cuándo usarlo |
|---|---|---|
--dry-run |
Solo previsualiza qué se migraría, sin aplicar cambios. | Siempre, antes de ejecutar la migración real. |
--preset full |
Aplica el conjunto completo de elementos migrables (excepto secretos). | Migración completa en un solo comando. |
--preset user-data |
Solo datos de usuario: memoria, persona, skills. Omite config de infraestructura. | Cuando solo quieres llevar tu historial personal, no la configuración del servidor. |
--migrate-secrets |
Incluye claves API y tokens en la migración. | Siempre que quieras llevar las claves. Usar explícitamente incluso con --preset full. |
--overwrite |
Sobrescribe archivos existentes en caso de conflicto. | Si ya tienes datos en Hermes y quieres que la migración de OpenClaw los reemplace. |
--no-backup |
Omite la copia de seguridad previa de ~/.hermes/. |
Solo si quieres un inicio limpio y ya tienes backup externo. |
--source <ruta> |
Ruta personalizada de la instalación de OpenClaw. | Si OpenClaw no está en la ruta por defecto (~/.openclaw/). También detecta ~/.clawdbot/ y ~/.moltbot/. |
--workspace-target <ruta> |
Carpeta de destino para AGENTS.md (instrucciones de workspace). |
Cuando quieres trasladar las instrucciones de workspace a una ruta específica. |
--skill-conflict <skip|overwrite|rename> |
Qué hacer si un skill importado choca con uno existente en Hermes. | skip: mantiene el de Hermes. overwrite: reemplaza. rename: crea duplicado con sufijo -imported. |
--yes |
Salta la confirmación final tras la previsualización. | Solo en scripts automatizados. Usar con precaución. |
Skill conversacional alternativo
Si prefieres una guía interactiva en lugar del CLI directo, existe el skill
openclaw-migration en el mercado de skills. Al activarlo, Hermes
te guía paso a paso mostrando el dry-run y explicando cada decisión. Es útil
para usuarios menos familiarizados con línea de comandos.
Pasos de la migración
Flujo completo de una migración real, desde el backup inicial hasta la verificación post-migración.
Paso 1 — Detener OpenClaw y hacer backup
Antes de migrar, para el gateway de OpenClaw para evitar conflictos con tokens compartidos (especialmente Telegram):
# Detener el gateway de OpenClaw
openclaw gateway stop
# Hacer backup del directorio de datos
cd ~
tar czf openclaw-backup-$(date +%Y%m%d).tgz .openclaw/
# Verificar la integridad del backup
sha256sum openclaw-backup-*.tgz
Si tienes múltiples directorios de datos (~/.clawdbot/,
~/.moltbot/), haz lo mismo para cada uno.
Paso 2 — Instalar Hermes Agent
Si no tienes Hermes instalado todavía, instálalo según la guía oficial. Durante
el hermes setup inicial, Hermes detectará ~/.openclaw/
automáticamente y ofrecerá migrar. Si ya lo instalaste sin hacerlo, usa el
comando manual:
# Ver qué se migraría (sin aplicar cambios)
hermes claw migrate --dry-run
# Ejemplo de salida:
# Persona: workspace/SOUL.md -> ./.hermes/SOUL.md
# Memoria a largo plazo: workspace/MEMORY.md -> ./.hermes/memories/MEMORY.md
# Skills (12 archivos) -> ./.hermes/skills/openclaw-imports/
# Claves API: 5 encontradas (Telegram, OpenAI, ...)
# ¿Continuar? (y/N):
Paso 3 — Ejecutar la migración
# Migración completa con secretos y confirmación automática
hermes claw migrate --preset full --migrate-secrets
# O paso a paso para mayor control:
hermes claw migrate --migrate-secrets
Hermes crea automáticamente el backup en
~/.hermes/backups/pre-migration-*.zip antes de aplicar cualquier
cambio. Si algo sale mal, restaura con:
hermes import ~/.hermes/backups/pre-migration-*.zip
Paso 4 — Revisar persona, skills y memoria
Después de la migración, verifica que los elementos principales se copiaron correctamente:
# Verificar skills importados
hermes skills list
# Comprobar que el SOUL.md tiene el contenido correcto
cat ~/.hermes/SOUL.md
# Iniciar nueva sesión para activar los skills importados
hermes console
Los cambios en MEMORY.md solo surten efecto en nuevas sesiones,
no en la actual. Para cargar la memoria importada, inicia un nuevo bucle con el
agente o usa /skills desde la consola de Hermes.
Paso 5 — Revisar el archivo de configuración
La migración traduce el config de OpenClaw a ~/.hermes/config.yaml.
Verifica que el mapeo sea correcto, especialmente las claves de proveedores
(OpenClaw usa snake_case, Hermes usa CamelCase):
# Ver configuración actual de Hermes
hermes config get
# Verificar estado de providers (OpenAI, Anthropic, etc.)
hermes status
Paso 6 — Revisar archivos en archive/
Navega a ~/.hermes/migration/openclaw/<timestamp>/archive/
y revisa los archivos que no se migraron automáticamente: IDENTITY.md,
TOOLS.md, cron-config.json, etc. Aplica los ajustes
manuales necesarios según la tabla de equivalencias.
Paso 7 — Verificar y limpiar
# Reiniciar el gateway de mensajería de Hermes
systemctl --user restart hermes-gateway
# Verificar que los mensajes llegan correctamente
# (Enviar un mensaje de prueba desde Telegram o el canal configurado)
# Una vez que todo funcione, limpiar restos de OpenClaw
hermes claw cleanup
# Esto renombra los directorios viejos a .pre-migration/ para evitar confusiones
Errores comunes y cómo resolverlos
~/.openclaw/ a UTF-8 antes de migrar, o
ejecuta la migración desde WSL con codificación UTF-8 activa.
openclaw gateway stop antes de iniciar la migración.
hermes console o ejecuta
/skills en la CLI de Hermes para recargarlos manualmente.
--source <ruta> para especificar la ruta exacta. El migrador
también busca en ~/.clawdbot/ y ~/.moltbot/ automáticamente.
hermes whatsapp para generar un nuevo código QR
y volver a vincular la cuenta. El migrador advierte esto en el reporte final.
Migración de canales de mensajería
Cada plataforma tiene un comportamiento distinto durante la migración. Aquí el detalle de los canales más usados.
| Canal | Migra token | Requiere acción adicional | Acción necesaria |
|---|---|---|---|
| Telegram | Sí (con --migrate-secrets) |
Sí | Reiniciar el servicio: systemctl --user restart hermes-gateway |
| No (sesión QR) | Sí | Ejecutar hermes whatsapp y escanear nuevo código QR. |
|
| Discord | Sí (con --migrate-secrets) |
Opcional | Verificar permisos del bot en el servidor de Discord. |
| Slack | Sí (con --migrate-secrets) |
Opcional | Verificar que el webhook de Slack sigue activo. |
| Signal | Parcial | Sí | Signal requiere re-registro del número en Hermes según la configuración. |
| Email (SMTP/IMAP) | Sí (con --migrate-secrets) |
Mínima | Verificar que las credenciales SMTP/IMAP migradas son correctas. |
| Plataformas no soportadas por Hermes (iMessage, IRC, LINE, Zalo, Nostr, etc.) | No | N/A | Estas plataformas no están disponibles en Hermes. Si son críticas, evalúa mantener OpenClaw. |
Preguntas frecuentes sobre la migración
La migración automatizada con hermes claw migrate tarda entre
5 y 20 minutos según el volumen de datos. La mayor parte del tiempo la consume
la importación de la memoria y los skills. La revisión manual de los elementos
no migrados (IDENTITY.md, cron jobs, webhooks) puede llevar entre 30 minutos
y 2 horas dependiendo de la complejidad de la instalación de OpenClaw.
No se pierden datos si sigues el proceso correctamente. Hermes crea
automáticamente una copia de seguridad en
~/.hermes/backups/pre-migration-*.zip antes de ejecutar
cualquier cambio, a menos que uses --no-backup. Los archivos
que no tienen equivalente directo se guardan en
~/.hermes/migration/openclaw/<timestamp>/archive/ para
revisión manual.
No es recomendable. Debes detener el gateway de OpenClaw antes de ejecutar
hermes claw migrate, especialmente si tienes bots de Telegram
activos. Si OpenClaw sigue corriendo durante la migración de tokens, puedes
romper ambos bots simultáneamente porque el mismo token de Telegram no puede
usarse en dos servicios a la vez.
La mayoría sí. Hermes importa los archivos SKILL.md de OpenClaw a
~/.hermes/skills/openclaw-imports/ porque ambos sistemas son
compatibles con el estándar AgentSkills. Los skills que dependen de
herramientas exclusivas de OpenClaw (como TOOLS.md
personalizados) pueden necesitar adaptación. Ejecuta
hermes skills list después de la migración para verificar
cuáles están disponibles.
WhatsApp requiere un emparejamiento QR nuevo en Hermes. A diferencia de
Telegram, cuyo token sí se puede migrar directamente con
--migrate-secrets, la sesión de WhatsApp en OpenClaw no es
transferible. Después de la migración debes ejecutar
hermes whatsapp para vincular la cuenta escaneando un nuevo
código QR.
Sí. Hermes crea automáticamente un archivo ZIP de copia de seguridad antes
de la migración. Si algo sale mal, puedes restaurar el estado anterior con
hermes import ~/.hermes/backups/pre-migration-*.zip.
Adicionalmente, el backup que hagas tú de ~/.openclaw/ al
inicio del proceso garantiza que puedes volver al estado original de OpenClaw.
¿Todavía dudas si migrar?
Consulta la comparativa técnica completa entre Hermes Agent y OpenClaw: arquitectura, rendimiento, ecosistema y tabla de decisión por caso de uso.
Ver comparativa Hermes vs OpenClaw