SSD Nodes Learn Hosting plans →
Guías Matt ConnorPor Matt Connor

Hermes Agent vs OpenClaw en un VPS

Compara Hermes Agent v0.21.1 y OpenClaw: puertos, sandboxing, memoria, skills y autenticación de Claude para elegir un agente persistente en tu VPS.

La respuesta breve

Hermes Agent y OpenClaw proporcionan un agente persistente en un VPS al que puede acceder desde una aplicación de chat. Elija Hermes Agent cuando la tarea principal del agente sea el trabajo recurrente: trabajos programados y procedimientos que debe aprender una vez y reutilizar. Elija OpenClaw cuando la tarea principal sea el alcance: un asistente que responde en WhatsApp, Telegram, Discord, Slack y más de veinte canales adicionales, ampliado con paquetes de un registro público. Ambos se ejecutan desde la CLI (interfaz de línea de comandos) y desde el chat, por lo que la elección depende de qué aspecto prioriza cada proyecto y de qué servicios expone cada uno en el servidor.

Esta comparación se redactó con Hermes Agent tag v2026.9.7 (7 de septiembre de 2026, publicado como v0.21.1) y OpenClaw tag v2026.9.4 (11 de septiembre de 2026), y se volvió a comprobar con la documentación actual de ambos proyectos el 10 de octubre de 2026. Los números de versión, las opciones de fijación de versión de OpenClaw y la sección sobre la suscripción de Claude se comprobaron de nuevo el 17 de octubre de 2026. Ambos proyectos publican versiones con frecuencia, así que consulte la documentación para comprobar cualquier cambio. La versión estable más reciente de OpenClaw es ahora v2026.10.4 (16 de octubre de 2026), y Hermes ha cambiado las etiquetas de fecha por etiquetas de versión; v0.22.2 se publicó el 15 de octubre de 2026. Todas las afirmaciones siguientes proceden de la documentación de cada proyecto o de las dos fuentes externas indicadas cuando se utilizan.

Para qué sirve cada uno: enfoque centrado en el agente o en la pasarela

La comparación de Hostinger denomina a Hermes Agent «centrado en el agente» y a OpenClaw «centrado en la pasarela». Este planteamiento es acertado y es la forma más rápida de entender ambos proyectos.

Hermes Agent, de Nous Research, se basa en un worker. Se le asigna una tarea. Ejecuta la tarea en un backend de terminal y documenta lo que aprende como una skill. También conserva una memoria pequeña de hechos permanentes. El chat es una de varias formas de enviar trabajo. La CLI, los trabajos de cron, la pasarela de mensajería y la aplicación de escritorio utilizan el mismo agente, y la pasarela es una función que se activa con hermes gateway setup, no el componente que se instala.

OpenClaw se basa en su Gateway. Gateway es un proceso de larga ejecución que su documentación denomina la fuente única de verdad para las sesiones, el enrutamiento y las conexiones de los canales. Los modelos y los agent harnesses son plugins que se conectan a él, y el README menciona Claude, Codex y los modelos locales como harnesses intercambiables. El alcance es el producto. El agente es uno de los componentes que aloja Gateway.

Los dos proyectos han adoptado las buenas ideas del otro. Ahora ambos asocian los remitentes de chat desconocidos con un código antes de permitirles comunicarse con el bot. Ambos permiten también que el agente escriba sus propias skills: Hermes mediante su herramienta skill_manage y OpenClaw mediante su Skill Workshop. El planteamiento central sigue siendo válido: Hermes es un worker con una interfaz de chat, y OpenClaw es un hub de chat con un worker detrás.

Ruta de instalación y consumo de recursos en el VPS

Ningún proyecto documenta un mínimo de RAM o CPU, por lo que aquí no se inventa ninguno. Ambos agentes consumen pocos recursos en comparación con las llamadas al modelo que realizan. La carga real del servidor depende de lo que se pida al agente que ejecute. Cuánta RAM y CPU necesita un VPS para un agente de programación calcula el tamaño según la carga de trabajo, no según el agente.

Hay un dato documentado que conviene conocer. Cuando Hermes usa su backend de terminal Docker, su documentación establece de forma predeterminada los límites del contenedor de sandbox en container_cpu: 1 y container_memory: 5120 (en MB). Esos valores son límites del contenedor, no una necesidad medida. Sin embargo, un VPS con menos recursos no puede aplicarlos.

Hermes se instala con un script. Las instalaciones actuales se ejecutan con Python 3.14, que el instalador descarga mediante su propio uv fijado y verificado con checksum, en lugar de usar el del sistema. En Linux, el script necesita primero git, curl, tar y las utilidades SHA-256 (sha256sum, de coreutils). En sistemas glibc, el Node.js administrado que configura necesita libatomic. El instalador añade ese paquete si falta.

sudo apt update && sudo apt install -y git curl tar coreutils
curl -fsSL https://hermes-agent.nousresearch.com/install.sh | bash
source ~/.bashrc
hermes doctor

El código se instala en ~/.hermes/hermes-agent/ como un checkout de git editable y el comando queda en ~/.local/bin/hermes. Todos los datos se almacenan bajo ~/.hermes/. El instalador nunca requiere root: sólo ejecuta sudo cuando falta libatomic para un usuario que no es root. La documentación indica que debe ejecutarse con el usuario que utilizará el agente, porque ese usuario será el propietario del checkout, la configuración y el launcher. La página de documentación no describe cómo fijar una versión, pero el script del instalador acepta --commit SHA. Esta opción fija el checkout a un commit concreto después del clone o la actualización y se detiene si ese commit no pertenece a la branch que se está instalando. Obtenga el commit asociado a la tag, expórtelo como HERMES_SHA y páselo mediante:

git ls-remote --tags https://github.com/NousResearch/hermes-agent v2026.9.7
curl -fsSL https://hermes-agent.nousresearch.com/install.sh | bash -s -- --commit "$HERMES_SHA"

Si ls-remote muestra dos líneas, use la que termina en ^{}. Ese es el commit al que apunta la tag anotada. --commit necesita un commit SHA, no un objeto de tag. Después de la instalación, hermes model selecciona el proveedor y el modelo, hermes tools activa las herramientas, hermes setup ejecuta todo el asistente y hermes doctor comprueba el resultado.

OpenClaw también se instala con un script o mediante npm, y necesita Node. La documentación pide Node 24.16 o posterior, o 26.1 o posterior. También indica que el instalador de Linux descarga Node 24 LTS (soporte a largo plazo) cuando no está instalado. Tanto el instalador alojado como npm aceptan una versión exacta, que es la forma de fijarla. La opción --version del instalador acepta una versión de npm, una dist-tag o una especificación de paquete, y su valor predeterminado es latest. La página Updating ofrece las mismas instalaciones con versión exacta para pnpm y Bun. La documentación proporciona la opción --allow-scripts=openclaw para npm 12 o 11.16 y posteriores. En versiones anteriores de npm, ejecute el mismo comando sin ella.

curl -fsSL https://openclaw.ai/install.sh | bash
# or, pinned through the installer:
curl -fsSL https://openclaw.ai/install.sh | bash -s -- --version 2026.9.4
# or, pinned through npm:
npm install -g openclaw@2026.9.4 --allow-scripts=openclaw
openclaw onboard --install-daemon

openclaw onboard --install-daemon ejecuta el asistente de configuración e instala el Gateway como un servicio de usuario de systemd en Linux. La configuración se encuentra en ~/.openclaw/openclaw.json y usa JSON5, por lo que admite comentarios y comas finales. OpenClaw también publica una línea Extended Stable para quienes prefieren menos cambios al mes. A fecha de 17 October 2026, su versión actual es 2026.9.33, publicada el 15 October 2026. La documentación describe cuatro canales: stable, extended-stable, beta y dev, además de openclaw update --channel <name> para cambiar entre ellos.

La guía de VPS de Hermes Agent y la guía de contención de OpenClaw incluyen la instalación completa de cada agente y las comprobaciones que debe superar cada paso.

Qué abre cada uno en la red

Esta sección determina el firewall, por lo que requiere especial cuidado.

OpenClaw abre un puerto por diseño. El Gateway escucha en TCP 18789 de forma predeterminada. El puerto se elige en este orden: --port, después OPENCLAW_GATEWAY_PORT, después gateway.port en la configuración y, por último, 18789. gateway.bind usa loopback de forma predeterminada. Los demás valores son auto, lan (lo que significa 0.0.0.0), tailnet y custom. La Control UI usa el mismo puerto y la ruta raíz: http://127.0.0.1:18789/. gateway.controlUi.basePath añade un prefijo como /openclaw sólo cuando la UI se sirve bajo una ruta de reverse proxy. La documentación indica claramente el riesgo: «Los enlaces que no sean de loopback requieren autenticación del gateway. En la práctica, esto significa un token/contraseña compartido o un reverse proxy con gestión de identidades». gateway.auth.mode acepta none, token, password o trusted-proxy, y el asistente de incorporación genera un token de forma predeterminada. Mantenga bind en loopback, acceda a la UI mediante un túnel SSH y ejecute openclaw security audit para informar de cualquier desviación respecto a estos valores predeterminados.

Hermes no abre ningún puerto para su gateway principal. El gateway se conecta como cliente a cada plataforma de chat. La CLI se conecta a un endpoint de modelo y a un backend de terminal. El backend de Docker se conecta al socket local de Docker. El backend SSH se conecta a otro host mediante el puerto 22. Los puertos que menciona la documentación de Hermes pertenecen a componentes opcionales: el adaptador de webhook (desactivado de forma predeterminada, WEBHOOK_PORT 8644), el webhook de WhatsApp Business Cloud API (8090 de forma predeterminada) y el bridge de WhatsApp, que usa el puerto 3000 en el equipo. La página de WhatsApp no indica en qué dirección escucha el bridge, por lo que debe mantener ese puerto cerrado en el firewall. Por tanto, un equipo con Hermes puede mantener una política de entrada de «sólo SSH» y no es necesario cambiar nada del agente, salvo que active uno de los dos webhooks.

Las plataformas de chat normalmente no necesitan un puerto de entrada en ninguno de los dos proyectos. Ambos usan long polling o WebSockets salientes para los canales principales. La integración de Slack de Hermes usa Socket Mode y su documentación indica que la instancia «no necesita ser accesible públicamente». La integración de WhatsApp de Hermes ejecuta un bridge de Node.js que emula una sesión de WhatsApp Web, se empareja mediante un código QR y necesita Node.js v18 o posterior en el equipo. El canal de Telegram de OpenClaw indica que «Long polling es el transporte predeterminado. El modo webhook es opcional», y su canal de WhatsApp sólo usa QR y funciona mediante WhatsApp Web, con el Gateway gestionando el socket. Las excepciones son las rutas que especifican una URL pública: el modo webhook de Telegram de OpenClaw (webhookUrl, webhookSecret, webhookPath), el adaptador de webhook genérico de Hermes y la opción independiente de WhatsApp Business Cloud API de Hermes, que según su documentación necesita una cuenta de Meta Business y una URL pública para el webhook. Omítalos salvo que tenga un motivo para activarlos.

Ambos deniegan de forma predeterminada a los remitentes de chat desconocidos. Hermes comprueba, en este orden: un indicador de permitir a todos por plataforma, la lista aprobada de emparejamientos, listas de permitidos por plataforma como TELEGRAM_ALLOWED_USERS, el valor global GATEWAY_ALLOWED_USERS, el indicador global de permitir a todos y, por último, deniega el acceso. Un remitente desconocido recibe por DM (mensaje directo) un código de emparejamiento de 8 caracteres, que se aprueba con hermes pairing approve <platform> <code>. El valor predeterminado de dmPolicy es pairing en Telegram y WhatsApp, y se aprueba con openclaw pairing approve <channel> <code>. No establezca GATEWAY_ALLOW_ALL_USERS=true ni dmPolicy: open en un bot que pueda ejecutar comandos de shell.

Cómo se aplica el aislamiento de OpenClaw a Hermes

El aislamiento de la guía de aislamiento de OpenClaw se basa en un usuario sin privilegios dedicado, un Gateway fijado a la interfaz de loopback y protegido por el firewall del VPS, un sandbox de Docker para ejecutar herramientas con agents.defaults.sandbox.mode establecido en all y un token para todo lo que no sea loopback. La propia página de sandbox de OpenClaw deja clara la separación: el proceso de Gateway siempre se ejecuta en el host, y el sandbox sólo mueve la ejecución de herramientas. tools.elevated es una vía de escape que se ejecuta fuera de él.

El usuario y el firewall se trasladan directamente a Hermes. El usuario dedicado constituye la misma barrera, y la lista de comprobación de producción de Hermes lo expresa en seis palabras: "Nunca ejecute el gateway como root". La barrera del firewall es más sencilla, porque el gateway principal no tiene ningún puerto que fijar y el token no tiene nada que proteger.

El sandbox corresponde a terminal.backend en ~/.hermes/config.yaml. Hermes documenta siete backends: local, docker, ssh, singularity, modal, daytona y vercel_sandbox. Con docker, el contenedor se ejecuta con --cap-drop ALL, vuelve a añadir DAC_OVERRIDE, CHOWN y FOWNER, y establece --security-opt no-new-privileges y --pids-limit 256, con /tmp y /var/tmp en tmpfs montado en nosuid. Hay una diferencia importante. La documentación de Hermes indica que las comprobaciones de comandos peligrosos se omiten en los backends docker, singularity, modal, daytona y vercel_sandbox "porque el propio contenedor es la barrera de seguridad". Por tanto, en Hermes se obtiene una barrera u otra según el backend. En el backend local se obtiene la aprobación y no hay contenedor. En docker se obtiene el contenedor y no hay aprobación.

La documentación de Hermes añade un diseño propio: "ejecute el gateway en otra máquina o VM" (máquina virtual) con terminal.backend: ssh. El equipo del gateway contiene los tokens de chat y la clave del modelo, y nunca ejecuta comandos. El equipo de trabajo ejecuta los comandos y no contiene nada que merezca la pena robar. Una VM desechable para agentes de programación es el equipo de trabajo natural en este diseño, porque se reconstruye en lugar de limpiarlo.

Memoria: dos archivos pequeños e inmutables, o un espacio de trabajo activo

Los modelos de memoria son la principal diferencia de esta comparación, y la comparación de mem0 entre ambos es la explicación más clara de esa diferencia. Su resumen es el siguiente: Hermes «optimiza las sesiones largas estables para la caché», mientras que «OpenClaw optimiza la visibilidad inmediata».

GráficoPrompt-memory size limit per file, in characters
Los datos de este gráfico
[
  {
    "label": "Hermes MEMORY.md (hard cap)",
    "char_limit": "2,200"
  },
  {
    "label": "Hermes USER.md (hard cap)",
    "char_limit": "1,375"
  },
  {
    "label": "OpenClaw MEMORY.md (soft target)",
    "char_limit": "20,000"
  }
]

Las cifras de Hermes proceden de su documentación de memoria. La cifra de OpenClaw es el objetivo aproximado que indica mem0.

Hermes mantiene dos archivos en ~/.hermes/memories/. MEMORY.md contiene las notas del propio agente y está limitado a 2,200 caracteres. USER.md contiene datos sobre usted y está limitado a 1,375 caracteres. La documentación indica que los límites son estrictos: una escritura que supera el límite devuelve un error en lugar de truncar el contenido de forma silenciosa. El agente los modifica con tres verbos: add, replace y remove, donde replace y remove buscan coincidencias en una subcadena. Ambos archivos se cargan una sola vez al inicio de la sesión como un bloque inmutable en el prompt del sistema, lo que mantiene estable el prefijo de la caché del prompt. La contrapartida es que una memoria que el agente escribe durante la sesión se guarda inmediatamente en disco, pero no aparece en su prompt hasta la siguiente sesión. Para consultar datos antiguos, session_search ejecuta FTS5 (la búsqueda de texto completo de SQLite) sobre todas las conversaciones anteriores de ~/.hermes/state.db.

OpenClaw trata la memoria como un espacio de trabajo. ~/.openclaw/workspace/MEMORY.md es el archivo principal, con un objetivo aproximado de 20,000 caracteres, además de las notas diarias en memory/YYYY-MM-DD.md, donde los archivos de hoy y de ayer se cargan automáticamente. Una herramienta memory_search ejecuta una recuperación híbrida, que combina similitud vectorial y coincidencias de palabras clave, sobre todo el contenido. mem0 señala que la memoria se vuelve a inyectar en cada turno, por lo que una escritura está disponible en el turno siguiente.

La opción más adecuada depende de la tarea. Un agente de Hermes que ejecuta el mismo trabajo de cron cada noche necesita un prompt estable y un conjunto reducido de datos fiables. Un asistente de OpenClaw que atiende un centenar de chats breves al día necesita recordar lo que usted dijo hace una hora sin reiniciarse. Hermes incluye Mem0 entre sus plugins de proveedores de memoria externos, que se añaden con hermes plugins install mem0 y se configuran con hermes memory setup, y mem0 publica un plugin @mem0/openclaw-mem0 para OpenClaw. Alojar un servidor de memoria Mem0 proporciona a ambos agentes la misma extracción de datos en el servidor y elimina los límites de tamaño de la conversación. Cualquier archivo en el que escriba el agente se convierte después en una entrada que considera fiable, por lo que cómo se envenena la memoria de un agente se aplica a ambos proyectos y a las skills de la sección siguiente.

Habilidades: procedimientos propios o un registro público

Hermes escribe sus propias habilidades. Una habilidad es un directorio dentro de ~/.hermes/skills/ que contiene SKILL.md y, de forma opcional, las carpetas scripts/, references/, templates/ y examples/, en el formato de agentskills.io. El agente tiene una herramienta skill_manage, y su aviso de sistema define tres situaciones que activan la escritura de una habilidad: ha resuelto un proceso de varios pasos que merece repetirse, ha encontrado una solución alternativa después de un error o ha aplicado una corrección que usted le ha indicado. La documentación describe el objetivo como «lecciones, no registros». Si no quiere que un agente modifique sin revisión su propio conjunto de instrucciones, establezca skills.write_approval: true; las habilidades nuevas se almacenarán provisionalmente en ~/.hermes/pending/skills/ hasta que las apruebe. Hermes también puede instalar habilidades externas con hermes skills install <identifier>: desde repositorios de GitHub como anthropics/skills, desde skills.sh, desde una URL directa a SKILL.md o desde el propio ClawHub. La documentación indica que cada instalación desde el hub se analiza para detectar exfiltración de datos, inyección de instrucciones y comandos destructivos. Un hallazgo de la comunidad que no sea peligroso se puede omitir con --force; un «veredicto de análisis peligroso» bloquea la instalación incluso con --force.

OpenClaw obtiene habilidades y plugins de ClawHub, su registro público. openclaw skills search "calendar" busca una, openclaw skills install @openclaw/demo la instala, openclaw skills update --all las mantiene actualizadas y los plugins de código pasan por openclaw plugins install clawhub:<package>. Las habilidades se cargan desde un conjunto ordenado de directorios. <workspace>/skills tiene prioridad sobre <workspace>/.agents/skills y ~/.agents/skills, después sobre <state-dir>/skills, luego sobre las habilidades aprendidas en el taller del agente y, por último, sobre el conjunto incluido. El SKILL.md de una habilidad puede declarar metadata.openclaw.requires.bins y requires.env. OpenClaw excluye la habilidad durante la carga cuando falta el binario o la variable, lo que produce un fallo más claro que una habilidad que funciona sólo parcialmente. El agente también escribe sus propias habilidades. El Skill Workshop contiene estas habilidades aprendidas, y su documentación indica: «Cada cambio se aplica de inmediato, guarda primero la versión anterior y se puede deshacer». Con el skills.workshop.autonomous.mode: auto predeterminado, una revisión en segundo plano las crea y modifica por su cuenta. Para deshacer un cambio, responda «undo» en el chat, desde la interfaz de control o con openclaw skills workshop restore <name>. Establecer el modo en off detiene la revisión en segundo plano, aunque el agente sigue escribiendo habilidades cuando se lo solicita.

Los modelos de revisión se diferencian por el lugar donde se ejecuta la comprobación. La documentación de ClawHub indica que «ejecuta comprobaciones automatizadas sobre las habilidades publicadas y las versiones de los plugins», que las versiones retenidas o bloqueadas durante el análisis pueden desaparecer del catálogo público, que los usuarios autenticados pueden denunciar un paquete y que los moderadores pueden ocultarlo. También indica que para publicar se necesita una cuenta de GitHub con la antigüedad suficiente para superar el control de carga. Esa revisión se realiza en el registro. Hermes ejecuta el análisis durante la instalación en su sistema, y el control de aprobación de escritura cubre las habilidades que escribe su propio agente. Las habilidades aprendidas de OpenClaw no tienen un paso de aprobación; allí, la comprobación consiste en el historial de deshacer. La página de habilidades de OpenClaw termina con la indicación importante para ambos casos: «Trate las habilidades de terceros como código no confiable. Léalo antes de habilitarlo».

Opciones de modelos y autenticación, y la cuestión de la suscripción de Claude

Ambos proyectos funcionan con una clave de API o con un modelo local, y ambos pasan por OpenRouter. Las diferencias están en las vías de suscripción, que es lo que la mayoría de las personas que buscan este tema quiere saber.

Claves de API. Hermes lee ANTHROPIC_API_KEY, OPENROUTER_API_KEY, OPENAI_API_KEY y una lista larga de otras variables desde ~/.hermes/.env. hermes model permite elegir un proveedor y un modelo de forma interactiva, y hermes config get model.default muestra la selección. Nous Portal es su propio proveedor: hermes setup --portal es un único inicio de sesión OAuth que proporciona un proveedor de modelos y la pasarela de herramientas alojada. OpenClaw obtiene ANTHROPIC_API_KEY mediante openclaw onboard --anthropic-api-key "$ANTHROPIC_API_KEY", y openclaw models list --provider anthropic muestra a qué puede acceder. Su documentación indica que una configuración nueva de la API y de Claude CLI usa Opus 5.5 (anthropic/claude-opus-5-5) de forma predeterminada, y también enumera anthropic/claude-sonnet-5-5 y anthropic/claude-fable-5-1, que se seleccionan explícitamente.

Modelos locales mediante Ollama. Los dos proyectos apuntan a Ollama de forma distinta, y confundirlos provoca fallos reales. Hermes usa el endpoint compatible con OpenAI: en config.yaml, configure model.provider: custom y model.base_url: http://localhost:11434/v1, o seleccione "Custom endpoint" en hermes model. Su documentación también indica que Hermes "requires at least 64,000 tokens of context for agent use with tools", y el valor predeterminado de Ollama es muy inferior, por lo que debe iniciarlo con OLLAMA_CONTEXT_LENGTH=64000 ollama serve. OpenClaw funciona al contrario. Su página sobre Ollama indica: "Do not use the /v1 OpenAI-compatible URL (http://host:11434/v1). It breaks tool calling and models can emit raw tool-call JSON as plain text." De forma predeterminada, OpenClaw se comunica con el /api/chat nativo de Ollama. Cualquier URL base se proporciona sin una ruta, como en http://host:11434, y los modelos se indican como ollama/<model>. Si omite la URL base, usa el host local predeterminado. Es el mismo daemon, pero con URLs opuestas.

Una suscripción de Claude. Esto es exactamente lo que indica la documentación de cada proyecto, a fecha de octubre de 2026, y nada más.

Hermes: existe un inicio de sesión OAuth mediante hermes model (seleccione Anthropic OAuth) o hermes auth add anthropic --type oauth, y Hermes después enruta "as Claude Code against your Anthropic account". La documentación añade: "It only works if you're on a Claude Max plan and have purchased extra usage credits." La cuota base de Max no se consume; el uso se factura contra los créditos de uso adicionales. Claude Pro no puede utilizar esta vía, y la documentación del proveedor dirige a los suscriptores Pro a un ANTHROPIC_API_KEY.

Hermes también documenta una segunda vía independiente, más reciente que la etiqueta fijada por esta comparación: el plugin experimental claude-subscription-directsdk. Requiere Hermes 0.21.4 o posterior, por lo que v2026.9.7 (v0.21.1) no puede cargarlo. Su página solicita una suscripción Claude Pro o Max y el CLI oficial de Claude Code, instalado y autenticado. El plugin no conserva credenciales propias y envía cada turno mediante claude, por lo que no existe una clave de API independiente. Cada turno consume la cuota del Agent SDK incluida en la suscripción, medida con la misma tarifa que claude -p. Los créditos de uso adicionales sólo se aplican como excepción: en Pro, Fable 5.1 factura los créditos de uso desde la primera solicitud, y la página indica: "Disable extra usage in the account if you do not want overage billing." Instálelo con hermes plugins install claude-subscription-directsdk, ejecute claude auth login y seleccione "Claude Subscription DirectSDK (Experimental)" en hermes model.

OpenClaw: la documentación describe la reutilización de "an existing Claude Code login through the installed executable on the same host". Instale el CLI de Claude en el VPS, ejecute claude auth login y seleccione "Claude CLI" en openclaw onboard. Una segunda modalidad usa un token de configuración: ejecute claude setup-token y después openclaw models auth login --provider anthropic --method setup-token. Dos frases de la misma página establecen los límites: "Claude Code owns its existing login and subscription; OpenClaw does not persist or refresh that login", y el uso del plan de suscripción mediante el Agent SDK, claude -p y las aplicaciones de terceros "still draw from the signed-in subscription's usage limits".

Los dos proyectos describen de forma distinta la facturación de ese uso, y ninguna de las dos páginas pertenece a Anthropic. Antes de crear una carga nocturna con un inicio de sesión de suscripción, lea las condiciones actuales de Anthropic sobre el uso de un plan de Claude por parte de terceros. Ambos proyectos documentan una vía, y todas las vías utilizan la identidad de Claude Code, no un inicio de sesión normal de claude.ai. Hermes limita su vía OAuth a Max con créditos adicionales y su plugin experimental a Pro o Max mediante un CLI de Claude autenticado. La vía de Claude CLI de OpenClaw necesita ese inicio de sesión en el mismo host, y su vía mediante token de configuración utiliza un token creado en cualquier máquina que tenga Claude Code instalado.

Otras suscripciones. Hermes también documenta OpenAI Codex mediante OAuth con código de dispositivo contra un plan de ChatGPT, y GitHub Copilot mediante su flujo de dispositivo, aunque la página de Codex indica que los niveles de plan que cumplen los requisitos "not currently documented". OpenClaw incluye Codex entre sus harnesses intercambiables. Si ya paga por uno de ellos, es una razón válida para preferir el proyecto que lo documenta.

La postura de seguridad, en palabras de cada proyecto

Hermes controla los comandos. approvals.mode en config.yaml está smart de forma predeterminada: un modelo auxiliar evalúa cada comando. Los comandos de bajo riesgo se ejecutan y los claramente peligrosos se rechazan. Si hay dudas, se le pregunta. manual siempre solicita confirmación cuando detecta una coincidencia peligrosa, y off desactiva el control. El analizador detecta eliminaciones recursivas, chmod 777 y sus variantes, mkfs, dd if=, redirecciones hacia /etc/, systemctl stop, restart, disable o mask, DROP TABLE, curl ... | sh y bombas fork. En el chat, la puerta de enlace publica el comando y espera yes, y, approve, ok o go; para rechazarlo, se usa no, n, deny o cancel. Después de un tiempo de espera predeterminado de 300 segundos, el comando se deniega. La opción --yolo (o /yolo durante una sesión, o HERMES_YOLO_MODE=1) omite las solicitudes de confirmación, pero la lista de bloqueo estricta sigue activa: rm -rf / y sus variantes evidentes, las bombas fork, mkfs en una raíz montada, dd desde /dev/zero hacia un disco y las URL no confiables canalizadas a sh. Recuerde que, como se explica en la sección sobre contención, este control está desactivado en los backends de contenedores.

OpenClaw establece límites. Su página de seguridad indica que la Gateway es «un límite de confianza por Gateway» y «no un límite de seguridad multiinquilino hostil para usuarios mutuamente adversarios». Por tanto, dos personas que no confían entre sí deben usar dos Gateways con dos conjuntos de credenciales. Las políticas globales de autorización y denegación de herramientas se comprueban antes que las reglas del sandbox, por lo que una herramienta denegada globalmente sigue estando denegada dentro de un sandbox. Los perfiles de acceso por agente y un modo de solo lectura limitan los recursos que puede modificar un agente. openclaw security audit compara la configuración activa con valores predeterminados seguros. En el caso de las skills, se aplican la revisión de ClawHub descrita anteriormente, el historial de deshacer de Skill Workshop y la instrucción de leer las skills de terceros antes de habilitarlas.

Ningún proyecto afirma más que eso. Hermes no afirma que su analizador detecte todos los riesgos, y su documentación recomienda usar un contenedor o una segunda máquina cuando aumentan las consecuencias de un fallo. OpenClaw no afirma que el sandbox contenga la propia Gateway, y lo indica explícitamente en la página del sandbox. Ambos proyectos ofrecen documentación honesta, lo que es una buena señal para software que se va a dejar ejecutándose sin supervisión.

La matriz de decisión

Flujos de trabajo recurrentes: Hermes. Trabajos de cron con memoria, una habilidad que escribe después de realizar la misma tarea por tercera vez, una memoria que no puede desbordar y un backend de terminal que se elige según el nivel de riesgo. Si la semana del agente consiste principalmente en trabajos y sólo a veces en conversación, esta es la opción adecuada.

Alcance de mensajería: OpenClaw. Más de veinte canales detrás de un único Gateway, emparejamiento de DM activado de forma predeterminada en Telegram y WhatsApp, una interfaz de control en el mismo puerto y un registro de habilidades y plugins listos para usar. Si la semana del agente consiste principalmente en conversaciones entre aplicaciones y sólo a veces en un trabajo, esta es la opción adecuada.

Un solo servidor: cualquiera de los dos, con el aislamiento adecuado. OpenClaw en un VPS con un usuario dedicado, gateway.bind: loopback, un token y sandbox.mode: all. Hermes en un VPS con terminal.backend: docker, sabiendo que el bloqueo de aprobación está desactivado dentro del contenedor, o con terminal.backend: local y approvals.mode: manual, sabiendo que una aprobación incorrecta se ejecuta en el host.

Dos servidores: Hermes, según su propia documentación. Gateway en un VPS, terminal.backend: ssh a un VPS de trabajo, los tokens de chat y las claves de los modelos en el primero, y nada que merezca conservarse en el segundo. OpenClaw puede situarse detrás de un reverse proxy con autenticación trusted-proxy, pero Gateway sigue ejecutándose en su propio host, a menos que todos los agentes estén aislados en un sandbox.

Sólo modelo local: compruebe la URL dos veces. Hermes requiere /v1 y un contexto de 64k. OpenClaw rechaza /v1 y requiere la API nativa.

Ya paga Claude Max con créditos adicionales: Hermes documenta esa ruta, con un alcance limitado. Si ya ejecuta Claude Code en el mismo host, OpenClaw documenta cómo reutilizarlo, y en Hermes 0.21.4 o posterior también puede hacerlo el plugin experimental DirectSDK, con Pro o Max. Si paga Claude Pro, la ruta OAuth de Hermes no está disponible, así que use su plugin o una clave de API; una clave de API funciona con cualquiera de los dos proyectos.

Si aún no decide entre estas dos opciones y el resto del sector: el resumen de agentes autoalojados compara ambas con Agent Zero, OpenHands y las demás opciones según los mismos criterios.

FAQ

¿Puede Hermes Agent usar una suscripción Claude Max?

La documentación de Hermes indica que sí, mediante dos métodos. El inicio de sesión OAuth de Anthropic, a través de hermes model o hermes auth add anthropic --type oauth, funciona como Claude Code con su cuenta. La documentación indica que «sólo funciona si tiene un plan Claude Max y ha comprado créditos de uso adicionales». El consumo se carga a esos créditos adicionales y no a la cuota base. El complemento experimental claude-subscription-directsdk, disponible en Hermes 0.21.4 o posterior, funciona con Pro o Max mediante una CLI de Claude Code con sesión iniciada. Cada turno consume la cuota de Agent SDK de la suscripción. En octubre de 2026, lea las condiciones de Anthropic antes de usar cualquiera de estos métodos para trabajos desatendidos.

¿Necesita OpenClaw un puerto abierto en mi VPS?

No para el uso normal. El Gateway escucha en TCP 18789, pero gateway.bind tiene loopback como valor predeterminado. Por tanto, sólo responde en 127.0.0.1. Acceda a la interfaz de control en http://127.0.0.1:18789 mediante un túnel SSH. Telegram usa sondeo largo y WhatsApp funciona mediante una sesión de WhatsApp Web que el Gateway abre por sí mismo. Por tanto, ningún canal necesita un puerto de entrada, salvo que elija el modo de webhook opcional de Telegram. Si enlaza el servicio a lan o tailnet, la documentación exige autenticación del gateway: un token o una contraseña compartidos, o un proxy con reconocimiento de identidad delante.

¿Cuál de los dos es más seguro para dejarlo ejecutándose sin supervisión?

Ninguno es seguro con un backend local y las aprobaciones desactivadas. La opción más segura para Hermes consiste en separar los componentes: el gateway en un VPS y terminal.backend: ssh en un VPS de trabajo. Su propia documentación recomienda esta configuración «para obtener la máxima seguridad». OpenClaw es más seguro con un usuario dedicado sin privilegios, gateway.bind: loopback, un token y agents.defaults.sandbox.mode: all. En ambos casos, trate los archivos de memoria del agente y el directorio de skills como entradas que un atacante puede modificar mediante un mensaje de chat.

¿Puedo ejecutar Hermes Agent y OpenClaw en el mismo VPS?

Sí. No comparten puertos ni directorios. Hermes guarda todo en ~/.hermes/. Su gateway principal no abre ningún puerto de escucha y su puente opcional de WhatsApp usa el puerto 3000. OpenClaw guarda todo en ~/.openclaw/ y escucha en 127.0.0.1:18789. Asigne a cada agente su propio usuario de Linux para impedir que un agente comprometido lea los tokens de chat del otro. No configure ambos con el mismo token de bot de Telegram, porque Telegram permite un cliente de sondeo largo por bot y responde al segundo con 409 Conflict: terminated by other getUpdates request.

¿Cómo fijo cada proyecto a una release?

El instalador de OpenClaw y npm aceptan una versión exacta: curl -fsSL https://openclaw.ai/install.sh | bash -s -- --version 2026.9.4 o npm install -g openclaw@2026.9.4 --allow-scripts=openclaw. npm view openclaw versions muestra lo que está publicado. El instalador de Hermes acepta --commit SHA. Obtenga el commit correspondiente a v2026.9.7 con git ls-remote --tags https://github.com/NousResearch/hermes-agent v2026.9.7 y páselo como bash -s -- --commit <sha>. Ambos proyectos publican varias releases al mes. Hermes ahora identifica las releases con números de versión en lugar de fechas. Registre la etiqueta contra la que realizó las pruebas.

#hermes-agent#openclaw#self-hosted-ai-agents#ai-agents#vps