# Hermes Agent: guía completa de configuración inicial y despliegue en VPS

> Guía técnica paso a paso para desplegar el agente de IA autoaprendible Hermes en un VPS: comparación con OpenClaw y Paperclip, Docker, optimización de costes con OpenRouter y creación de skills.

## 1. Arquitectura y selección del agente: Hermes, OpenClaw o Paperclip

En el ecosistema de agentes autónomos de 2026, no existe una única herramienta universal. Tres sistemas clave de código abierto —**Hermes**, **OpenClaw** y **Paperclip**— representan paradigmas arquitectónicos completamente diferentes. No compiten de forma directa y en producción suelen convivir en un mismo servidor.

```mermaid
flowchart TD
    subgraph Ecosystem ["Tres paradigmas arquitectónicos de agentes"]
        H["<b>Hermes Agent</b><br>Especialista de autoaprendizaje continuo<br><i>(Acumula experiencia en MEMORY.md y crea skills autónomas)</i>"]
        O["<b>OpenClaw</b><br>Pasarela multicanal y empleado autónomo<br><i>(50+ canales de chat, instrucciones estáticas en SOUL.md)</i>"]
        P["<b>Paperclip</b><br>Orquestador de empresa virtual<br><i>(Jerarquía de CEO, barreras de gobernanza y control de presupuesto)</i>"]
    end

    VPS[("Servidor VPS único (Ubuntu + Docker)")] --> H
    VPS --> O
    VPS --> P
```

### Matriz comparativa de plataformas de agentes

| Dimensión | Hermes Agent | OpenClaw | Paperclip |
| :--- | :--- | :--- | :--- |
| **Rol principal** | Investigador y especialista con aprendizaje continuo | Empleado autónomo omnicanal | Orquestador de equipos de 5+ agentes |
| **Mecanismo de memoria** | Dinámico: actualiza `MEMORY.md`, `USER.md` y skills cada 10 pasos | Estático: reglas fijas en `SOUL.md` | Por proyecto: estado de tareas compartido y jerarquía |
| **Canales de interacción** | 6 adaptadores clave (CLI, Telegram, Discord, WhatsApp, etc.) | 50+ integraciones (Teams, Slack, iMessage, Signal) | Gestiona agentes externos mediante adaptadores |
| **Capacidad de aprendizaje** | **Alta**: compila flujos de trabajo en skills ejecutables | **Nula**: requiere actualización manual de reglas | **Indirecta**: delega la ejecución en subordinados |
| **Umbral de utilidad** | Alto valor a partir de una única tarea aislada | Alto valor para comunicación multicanal | Justificado al coordinar 5 o más agentes |

> [!NOTE]
> Los tres entornos operan en puertos y tiempos de ejecución independientes. Puedes desplegar Hermes como motor de investigación, OpenClaw como pasarela de mensajería y Paperclip como coordinador de equipos en el mismo servidor VPS sin incidencias.

---

## 2. Requisitos del sistema y preparación de la infraestructura

Aunque Hermes puede ejecutarse como una herramienta CLI ligera, una instalación autónoma completa (con automatización de navegadores headless, pasarelas en segundo plano y memoria vectorial) requiere un servidor estable.

### Especificaciones recomendadas para el VPS

- **Procesador:** Mínimo 2 vCPU (recomendado para scraping concurrente y parseo de tokens).
- **Memoria RAM:** 8 GB RAM (garantiza estabilidad para sesiones de Chromium/Playwright y procesos Docker).
- **Almacenamiento:** 100 GB NVMe SSD (para capas de imágenes, logs y artefactos descargados).
- **Sistema operativo:** Ubuntu 24.04 LTS o Debian 12 con Docker Engine preinstalado.

### Servicios externos indispensables

1. **Proveedor cloud con soporte Docker:** Hetzner, DigitalOcean, Vultr o cualquier VPS KVM estándar.
2. **Pasarela de modelos unificada (OpenRouter):** En lugar de gestionar claves individuales para Anthropic, OpenAI y Moonshot, utiliza OpenRouter. Una sola clave da acceso a más de 200 modelos con saldo compartido y asignación dinámica de roles.

---

## 3. Despliegue paso a paso de Hermes en VPS mediante Docker

El método más recomendado y reproducible para desplegar Hermes es el contenedor oficial creado por Nous Research, evitando conflictos con librerías de Python del sistema.

```mermaid
flowchart LR
    A["1. Crear VPS<br>(Ubuntu + Docker)"] --> B["2. Conexión SSH<br>al servidor"]
    B --> C["3. Verificar contenedor<br>(docker ps)"]
    C --> D["4. Asistente inicial<br>(hermes setup)"]
    D --> E["5. Prueba en CLI<br>(hermes test)"]
```

### Paso 1. Conexión al servidor vía SSH

Una vez finalizado el aprovisionamiento en tu panel de control, conéctate desde tu terminal como superusuario:

```bash
ssh root@YOUR_VPS_IP
```

### Paso 2. Verificación del contenedor Docker

Comprueba que el contenedor de Hermes está activo y operativo:

```bash
docker ps
```

En la lista de procesos debe figurar `nousresearch/hermes-agent:latest`. Entra al directorio del proyecto y abre una sesión de terminal interactiva dentro del contenedor:

```bash
cd /docker/hermes-agent-*
docker compose exec -it hermes-agent /bin/bash
```

### Paso 3. Inicialización interactiva con el asistente

Dentro del contenedor, ejecuta el comando de configuración asistida:

```bash
hermes setup
```

El asistente te guiará por cuatro fases clave:
1. **Selección del proveedor LLM:** Selecciona `OpenRouter`.
2. **Introducción de la clave API:** Pega tu API key de OpenRouter (`sk-or-v1-...`).
3. **Selección del modelo base:** Escoge un modelo provisional (en la siguiente sección afinaremos la asignación por roles).
4. **Integración con canales:** Opcionalmente conecta Telegram o Discord (puedes omitirlo por ahora).

### Paso 4. Primera prueba desde la consola CLI

Verifica que el entorno funciona correctamente:

```bash
hermes
```

Tras visualizar el banner de bienvenida, envía una consulta de comprobación del sistema de archivos:

```text
What files are in my current directory?
```

Si Hermes devuelve la lista de archivos de la carpeta actual, la capa de llamadas a herramientas (Tool Calling) está operativa. Si surge algún fallo, ejecuta el comando de diagnóstico:

```bash
hermes doctor
```

---

## 4. Configuración de modelos y optimización de presupuesto en OpenRouter

Por defecto, Hermes apunta a modelos insignia de gama alta como Claude Opus. Mantener esta configuración por defecto genera costes innecesarios:

> [!WARNING]
> **La trampa del modelo único de gama alta:** Emplear modelos tipo Opus para todas las fases (planificación, ejecución de comandos bash, parseo de respuestas) cuesta entre $0.50 y $2.00 por sesión. Con 90 sesiones mensuales, esto supone **$45–$180** únicamente en consumo de API.

### Arquitectura de especialización de modelos por roles

Dividir las tareas del agente entre modelos especializados reduce los costes a **$12–$22 al mes** manteniendo un rendimiento de primer nivel.

![Comparativa de precios y rendimiento para Hermes Agent](/api/guides-media/ai_agents/hermes-agent-initial-setup-guide/images/hermes-agent-initial-setup-guide-extra-02.webp)

![Modelos de alta velocidad y bajo coste para herramientas](/api/guides-media/ai_agents/hermes-agent-initial-setup-guide/images/hermes-agent-initial-setup-guide-extra-03.webp)

### Matriz de modelos recomendados

| Rol del agente | Modelo recomendado | Identificador OpenRouter | Coste de entrada ($/1M) | Propósito principal |
| :--- | :--- | :--- | :--- | :--- |
| **Planner & Backbone** | MiniMax M2.7 | `minimax/minimax-m2.7` | $0.30 | Orquestación, descomposición de tareas, lógica central |
| **Reviewer & Reasoning** | Kimi K2.6 | `moonshotai/kimi-k2.6` | $0.60 | Razonamiento complejo, revisión de código, verificación |
| **Fast Tool Executor** | DeepSeek V4 Flash | `deepseek/deepseek-v4-flash` | $0.14 | Ejecución masiva de herramientas, bash y extracción |
| **Vision Subsystem** | Gemma 4 26B IT | `google/gemma-4-26b-a4b-it:free` | Gratuito | Análisis de capturas de pantalla y contenido visual |

### Configuración YAML del enrutador de modelos

Abre el archivo de configuración para su edición:

```bash
hermes config edit
```

Reemplaza la sección de modelos por la siguiente estructura YAML optimizada:

```yaml
model:
  provider: openrouter
  default: minimax/minimax-m2.7
  roles:
    planner: minimax/minimax-m2.7
    executor: deepseek/deepseek-v4-flash
    reviewer: moonshotai/kimi-k2.6
    vision: google/gemma-4-26b-a4b-it:free
  fallback:
    - deepseek/deepseek-v4-flash
    - google/gemma-3-12b-it:free
  compression:
    enabled: true
    threshold: 0.50
```

Si aún no habías guardado tu clave de OpenRouter en la configuración persistente:

```bash
hermes config set OPENROUTER_API_KEY sk-or-v1-tu-clave-aqui
```

> [!TIP]
> **Control de gastos:** Establece siempre un límite de consumo mensual estricto en el panel de OpenRouter (`Settings` → `Credits` → `Monthly limit`). Un umbral inicial de **$15/mes** evita gastos imprevistos por bucles infinitos en scripts automatizados.

---

## 5. Seguridad y conexión de pasarelas de mensajería

Conectar Hermes con aplicaciones de mensajería te permite gestionar tareas de servidor directamente desde el móvil mediante Telegram o Discord.

> [!IMPORTANT]
> **Aviso crítico de seguridad:** Cualquier usuario que envíe un comando a tu bot obtiene **acceso completo a la terminal del servidor** con los permisos del contenedor. ¡Nunca despliegues un bot público sin configurar una lista blanca de usuarios autorizados!

### Configuración de la pasarela de Telegram

:::tabs
@tab 1. Crear el bot
1. Abre `@BotFather` en Telegram.
2. Ejecuta el comando `/newbot` y asigna un nombre.
3. Guarda el token generado (formato `123456789:ABCdef...`).
@tab 2. Obtener tu User ID
1. Escribe al bot `@userinfobot` en Telegram.
2. Copia tu identificador numérico de usuario (por ejemplo, `987654321`).
@tab 3. Variables de entorno
Añade las variables al archivo `.env` dentro del contenedor:
```bash
TELEGRAM_BOT_TOKEN="123456789:ABCdef..."
TELEGRAM_ALLOWED_USERS="987654321"
```
:::

Inicia y supervisa el servicio en segundo plano:

```bash
# Comprobar el estado de la pasarela
hermes gateway status

# Monitorear eventos en tiempo real
tail -f ~/.hermes/logs/gateway.log
```

---

## 6. Flujo de trabajo práctico: autoaprendizaje y generación de skills

La gran ventaja de Hermes frente a llamadas tradicionales a LLM es la **acumulación de conocimientos**. El agente guarda flujos operativos exitosos en `~/.hermes/skills/`.

```mermaid
sequenceDiagram
    autonumber
    actor Dev as Ingeniero
    participant H as Hermes Agent
    participant Web as Reddit API / Web
    participant Disk as ~/.hermes/skills/

    Dev->>H: Enviar prompt de investigación
    H->>Web: Buscar frameworks en r/LocalLLaMA
    Web-->>H: Retornar comentarios y enlaces
    H->>H: Analizar y dar formato según voz definida
    H->>Disk: Guardar proceso en reddit-trending-frameworks.md
    H-->>Dev: Entregar resumen estructurado
    Note over Dev,Disk: Ejecución posterior
    Dev->>H: "Run reddit-trending-frameworks on r/aiagents"
    H->>Disk: Cargar skill compilada
    H->>Web: Ejecutar directamente con llamadas optimizadas
    H-->>Dev: Informe inmediato sin repreguntar
```

### Demostración de generación de una skill autónoma

Envía a Hermes este prompt de trabajo:

```text
Research the top 3 trending AI agent frameworks on r/LocalLLaMA this week. Use my voice — punchy, no jargon, no AI-speak. Three bullets per framework. Save this whole workflow as a reusable skill called reddit-trending-frameworks.
```

### Ciclo de vida y persistencia

1. **Ejecución:** Hermes busca en Reddit, recopila opiniones de la comunidad y descarta menciones promocionales.
2. **Formato:** Devuelve 9 puntos concisos (3 por cada framework) ajustados al tono solicitado.
3. **Persistencia:** Guarda el flujo completo en `~/.hermes/skills/reddit-trending-frameworks.md`.

Comprueba la existencia del archivo de la skill en disco:

```bash
ls -la ~/.hermes/skills/
```

### Ejecución en un nuevo origen de datos

Para repetir la investigación en otra comunidad, ya no necesitas escribir prompts extensos ni calibrar el formato de nuevo:

```text
Run my reddit-trending-frameworks skill on r/aiagents instead
```

Hermes cargará la skill guardada y completará la tarea con menos consultas y un consumo de tokens significativamente menor.

---

## 7. Diagnóstico y resolución de incidencias

Durante el despliegue inicial en un servidor recién configurado pueden surgir errores habituales de entorno.

![Guía visual de resolución de problemas comunes en Hermes](/api/guides-media/ai_agents/hermes-agent-initial-setup-guide/images/hermes-agent-initial-setup-guide-extra-01.webp)

### Matriz de resolución de problemas

| Síntoma | Causa principal | Solución comprobada |
| :--- | :--- | :--- |
| `command not found: hermes` | La consola no ha recargado la variable `PATH`. | Ejecuta `source ~/.bashrc` (o `source ~/.zshrc`). |
| El contenedor se detiene nada más arrancar | Clave API ausente o con formato incorrecto en `.env`. | Revisa los logs con `docker logs hermes`. Asegúrate de que no haya espacios alrededor de `=`. |
| Error `HTTP 400` en el primer mensaje | Nombre de modelo erróneo para el proveedor. | Para OpenRouter, respeta el formato `proveedor/modelo` (ejemplo: `minimax/minimax-m2.7`). |
| El bot de Telegram no responde | Los mensajes proceden de un usuario no autorizado. | Comprueba los logs con `tail -f ~/.hermes/logs/gateway.log` y verifica `TELEGRAM_ALLOWED_USERS`. |

---

## 8. Lista de verificación de preparación para producción

Antes de integrar Hermes como asistente diario, verifica cada punto:

- [ ] Servidor VPS aprovisionado con al menos 2 vCPU y 8 GB RAM.
- [ ] Contenedor `nousresearch/hermes-agent:latest` en ejecución activa con Docker.
- [ ] Diagnóstico `hermes doctor` sin errores críticos de dependencias.
- [ ] Configuración multimodelo aplicada en `~/.hermes/config.yaml`.
- [ ] Límite de gasto mensual fijado en la consola de OpenRouter.
- [ ] Lista blanca `TELEGRAM_ALLOWED_USERS` configurada con IDs verificados.
- [ ] Prueba en CLI superada y primera skill autónoma guardada en disco.