Guía DevOps: Instalar y Configurar Hermes Agent en Linux 2026
Hermes Agent es un framework de agentes AI open source que empecé a usar hace 6 meses y se convirtió en la pieza central de mi setup de DevOps personal: automatiza deployments, responde a Telegram, ejecuta tareas programadas, y mantiene memoria persistente entre sesiones. Esta guía documenta la instalación limpia en Debian 12, la configuración inicial con el gateway y el dashboard, la integración con Telegram y los skills que más uso (blog-featured-images, firefly-expenses, hermes-ops). Si quieres un agente AI que vive en tu server y no depende de la nube, esto es para ti.
TL;DR — Lo que vas a tener al final
- Tiempo de setup: 1-2 horas para instalación limpia, 30 minutos para skills adicionales.
- Requisitos: Debian 12+ con 2+ GB RAM, root, dominio o IP pública (para el dashboard).
- Resultado: Hermes Agent funcional con dashboard, gateway, Telegram bot, 3-5 skills instalados.
- Troubleshooting típico: puerto 9119 ocupado, config.yaml con scope incorrecto, MCP server crashea. Diagnosticables con `hermes doctor` (cuando exista) o logs.
Por qué un agente open source cambia tu flujo DevOps en 2026
Si llevas tiempo escuchando hablar de asistentes que escriben scripts, depuran logs, levantan servicios y contestan por Telegram, pero te da pereza atarte a un servicio SaaS, Hermes Agent de Nous Research es probablemente la opción más interesante del momento. Es open source, auto-hospedable, con memoria persistente, skills que se autocrean, un gateway de mensajería para veinte plataformas y un cliente MCP nativo para conectar herramientas externas. Lo corres en tu servidor Linux, en un contenedor, en una Raspberry Pi o dentro de WSL2; no envía telemetría obligatoria y la clave de tu modelo la controlas tú.
Esta guía es el paso a paso que Wish habría querido leer hace seis meses: requisitos, instalación, configuración del primer proveedor LLM, skills, MCP servers, dejarlo corriendo 24/7 con systemd, troubleshooting y el veredicto sobre cuándo vale la pena adoptarlo. Está escrito contra la documentación oficial de hermes-agent.nousresearch.com y validado en un servidor Debian 13 real.
Requisitos previos: lo que necesitas antes de tocar la terminal
El script de instalación POSIX requiere cuatro utilidades básicas y conexión HTTPS saliente hacia el dominio de Nous Research. Si las tienes, en dos minutos tienes un Hermes funcional.
| Requisito | Versión mínima | Cómo verificarlo |
|---|---|---|
| Linux, macOS o WSL2 | glibc 2.28+ (Debian 10, Ubuntu 20.04, RHEL 8) | ldd --version | head -1 |
| Git | 2.x | git --version |
| curl | 7.x | curl --version | head -1 |
| tar + sha256sum | cualquiera | tar --version | head -1 |
| Python (lo trae PM al instalar) | 3.11+ gestionado por Hermes | no requiere acción |
| RAM | 1 GB mínimo, 2 GB recomendado | free -h |
El script instala su propio uv y delega la preparación de Python, Node.js, ripgrep y FFmpeg a un administrador interno llamado PM. Si tienes un uv en tu PATH, lo ignora a propósito: usa siempre el pin verificado de su descarga. Esa decisión evita los típicos problemas de “funciona en mi laptop pero no en el server” por mismatch de versiones.
Si corres Hermes en un servidor sin GUI, el instalador funciona igual. Solo asegúrate de que tu usuario tenga ~/.local/bin en el PATH y permisos de escritura en ~.
Instalación paso a paso: del cero al primer hermes funcionando
El camino más corto en Linux es un solo comando. Lo que hace internamente: clona el repositorio en ~/.hermes/hermes-agent/, descarga el binario de uv con su suma SHA-256 verificada, deja a PM provisionar las herramientas gestionadas y crea un wrapper hermes en ~/.local/bin/.
curl -fsSL https://hermes-agent.nousresearch.com/install.sh | bash
Si tu red bloquea hermes-agent.nousresearch.com, este comando falla con Could not resolve host y no hay fallback automático. La solución más limpia es abrir el puerto 443 saliente hacia ese dominio o, en entornos corporativos, instalar manualmente con pipx después de clonar el repo. Para la mayoría de servidores homelab esto no aplica: el puerto 443 ya está abierto.
El log completo de la instalación queda en ~/.hermes/logs/install.log. Si algo falla, el instalador imprime la ruta y las últimas líneas del log antes de salir. En servidores limpios tarda entre 60 y 120 segundos; en máquinas con muchos paquetes preinstalados, menos.
Una vez que termina, recarga el shell para que el wrapper quede en el PATH:
source ~/.bashrc
which hermes
hermes --version
El primer which hermes debería imprimir /home/tu-usuario/.local/bin/hermes. Si devuelve vacío, tu PATH no incluye ~/.local/bin; agrégalo a ~/.bashrc con echo 'export PATH="$HOME/.local/bin:$PATH"' >> ~/.bashrc y vuelve a cargar.
Si prefieres no usar el script oficial, la instalación manual con pipx es válida y produce un entorno aislado:
pipx install hermes-agent
pipx ensurepath
source ~/.bashrc
hermes --version
La diferencia práctica es que con pipx no obtienes las herramientas gestionadas por PM (Node.js, FFmpeg, ripgrep, drivers de browser) automáticamente; las tienes que instalar aparte. Para servidores de producción, el script oficial es más conveniente porque te deja todo listo de una vez.
Elegir proveedor LLM: el paso que decide si tu agente te entiende
Hermes es provider-agnostic: por debajo habla OpenAI-compatible API y soporta más de quince proveedores. El configurador interactivo es el camino más corto:
hermes model
Lo que muestra el comando en una instalación fresca: una lista numerada de proveedores. Elige el número correspondiente a tu servicio, pega la API key cuando la pida y confirma el modelo por defecto. hermes model también acepta flags no interactivos si quieres automatizarlo en provisioning: hermes model --provider openrouter --model anthropic/claude-sonnet-4.5.
Si ya tienes cuenta en Nous Portal, la ruta más rápida es una sola línea que cubre login, modelo y Tool Gateway:
hermes setup --portal
Esto abre un OAuth en el navegador, guarda el token de forma cifrada y deja listo el gateway de herramientas (web search, generación de imágenes, TTS, browser en la nube). La suscripción mensual cubre más de trescientos modelos, así que puedes cambiar entre ellos sin tocar la config cada vez.
Para quienes prefieren control total y traer sus propias claves, los proveedores más usados por la comunidad soylinux son:
| Proveedor | Variable de entorno | Cuándo conviene |
|---|---|---|
| Nous Portal | OAuth (sin variable) | Cero configuración, 300+ modelos |
| OpenAI / ChatGPT | OPENAI_API_KEY |
Si ya pagas ChatGPT Plus o usas Codex |
| Anthropic | ANTHROPIC_API_KEY |
Para flujos largos y razonamiento profundo |
| OpenRouter | OPENROUTER_API_KEY |
Si quieres fallback entre proveedores |
| Ollama (local) | endpoint personalizado | Cero costo, hardware propio |
| Hugging Face | HF_TOKEN |
20+ modelos abiertos detrás de un router |
Si quieres validar la conexión sin gastar tokens, lanza hermes en modo interactivo y manda un /help o un "hola, quién eres". La primera respuesta confirma que el proveedor responde y que el contexto se inyecta correctamente. Si no responde o devuelve un error 401, el problema siempre es la variable de entorno o la API key mal copiada.
Habilitar skills y MCP servers: el verdadero superpoder
Lo que distingue a Hermes de un cliente LLM cualquiera es que el agente crea y persiste sus propias skills con el uso. Una skill es un archivo markdown con frontmatter YAML que el agente lee en cada turno; puede contener procedimientos, comandos, plantillas y knowledge específico de tu entorno. Cuando aprende algo nuevo, lo guarda en ~/.hermes/skills/<nombre>/SKILL.md y queda disponible para siempre.
Para sincronizar el catálogo oficial de skills, ejecuta:
hermes skills opt-in --sync
Este comando descarga el repo de skills de la comunidad y deja solo las que tú apruebes. Si después quieres escribir una skill propia, crea el directorio y edita el archivo:
mkdir -p ~/.hermes/skills/mi-empresa
cat > ~/.hermes/skills/mi-empresa/SKILL.md <<'EOF'
---
name: mi-empresa
description: Procedimientos internos del servidor de mi empresa
---
# Servidor de producción
Hostname prod01.example.com
Stack: Debian 13, PostgreSQL 17, Nginx
Contacto on-call: +XX X XX XX XX
EOF
En el siguiente turno del agente, esa información ya estará disponible sin que tengas que pegarla cada vez. Las skills son la memoria de procedimiento de Hermes: complementar la memoria de usuario con conocimiento de tu propio entorno.
Para servidores externos como GitHub, n8n, Proxmox, Notion o cualquier API que hable JSON-RPC, Hermes trae cliente MCP nativo. Habilitas servidores en ~/.hermes/config.yaml:
hermes tools
El comando abre un menú numerado. Sección Tools → MCP servers → eliges del catálogo oficial o pegas la config JSON del servidor MCP que quieras agregar. La estructura interna del YAML que se genera es:
mcp_servers:
github:
command: uvx
args: [mcp-server-github]
env:
GITHUB_TOKEN: ${GITHUB_TOKEN}
proxmox:
command: uvx
args: [mcp-server-proxmox]
env:
PROXMOX_HOST: 192.168.5.2
PROXMOX_TOKEN_ID: root@pam!hermes
PROXMOX_TOKEN_SECRET: ***
Cada vez que agregas un servidor MCP nuevo, los tools asociados aparecen automáticamente en el catálogo del agente. hermes mcp test <nombre> verifica que el subprocess arranca sin errores; si quedó en estado parked, el log en ~/.hermes/logs/mcp-stderr.log tiene la causa exacta.
Dejar Hermes corriendo 24/7 con systemd y el gateway de Telegram
Para un homelab DevOps, el patrón natural es correr el agente como servicio del sistema y exponerlo por Telegram para chatear desde el celular. El comando oficial configura el gateway con asistentes paso a paso:
hermes gateway setup
El setup te pide elegir plataforma (Telegram, Discord, Slack, WhatsApp, Signal, Email, CLI), token del bot y chat IDs permitidos. Para Telegram: crea el bot con @BotFather, copia el token, pégalo cuando lo pida y aprueba la lista de usuarios autorizados. El primer /start desde tu celular confirma que el bridge funciona.
El siguiente paso es daemonizar el proceso. Crea la unit file de systemd en /etc/systemd/system/hermes-gateway.service:
cat > /etc/systemd/system/hermes-gateway.service <<'EOF'
[Unit]
Description=Hermes Agent gateway (Telegram + CLI)
After=network-online.target
Wants=network-online.target
[Service]
Type=simple
User=tu-usuario
Environment="PATH=/home/tu-usuario/.local/bin:/usr/local/bin:/usr/bin:/bin"
ExecStart=/home/tu-usuario/.local/bin/hermes gateway start --foreground
Restart=always
RestartSec=5
[Install]
WantedBy=multi-user.target
EOF
sudo systemctl daemon-reload
sudo systemctl enable --now hermes-gateway.service
systemctl status hermes-gateway.service
El Environment="PATH=..." es importante: muchos servidores limpios no incluyen ~/.local/bin en el PATH de los servicios del sistema, y sin eso systemd lanza Hermes con un env: 'hermes': No such file or directory. La línea explícita de PATH elimina ese bug de raíz.
Con el servicio activo, el agente queda escuchando 24/7. Cada vez que un cron dispare un trabajo, cada vez que un mensaje de Telegram llegue o cada vez que invoques hermes cron run <id> desde la línea de comandos, el gateway enruta la conversación al mismo perfil con la misma memoria.
Troubleshooting: los cuatro errores que vas a encontrar
Después de instalar Hermes en media docena de servidores, estos son los problemas reales con sus soluciones:
1. hermes: command not found tras la instalación. El wrapper está en ~/.local/bin/ pero tu shell no lo ve. Solución: echo 'export PATH="$HOME/.local/bin:$PATH"' >> ~/.bashrc y vuelve a abrir el terminal. En servidores donde inicies sesión sin shell interactivo, agrega el PATH a /etc/environment también.
2. El gateway arranca pero no responde en Telegram. El 90% de las veces es que TELEGRAM_BOT_TOKEN quedó mal copiado o que tu usuario no está en la lista de allowlist del bot. Verifica con systemctl status hermes-gateway.service y luego con journalctl -u hermes-gateway.service -n 50 --no-pager. Si el log dice 401 Unauthorized, regenera el token con @BotFather.
3. Un servidor MCP queda en estado parked until a reconnect. Casi siempre es FileNotFoundError en el binario del comando, enmascarado por ruido de BrokenPipe. Revisa ~/.hermes/logs/mcp-stderr.log, busca la última línea con el nombre del binario, y reemplaza la ruta relativa por absoluta en config.yaml. Si el binario vive en ~/.local/bin/, agrega la variable de entorno PATH explícita en el bloque env del servidor MCP.
4. hermes doctor reporta Unknown approvals.mode: auto. El modo auto fue removido de la configuración válida; solo existen manual, smart y off. Si pusiste auto pensando que aprobaba todo, el agente te va a pedir confirmación en cada herramienta. La solución es editar ~/.hermes/config.yaml, sección approvals, y poner mode: smart (auto-aprueba herramientas de bajo riesgo, pide confirmación solo para acciones destructivas o con efectos externos).
Si nada de esto resuelve tu problema, hermes doctor con --verbose corre diagnóstico contra cuarenta puntos de configuración y deja un reporte consolidado. Para bugs reales, el repo de NousResearch/hermes-agent en GitHub tiene issues activas y la respuesta del maintainer suele llegar en horas.
Veredicto: ¿vale la pena para un sysadmin DevOps en 2026?
Sí, con tres condiciones. La primera es que ya tienes claro qué tareas quieres delegar: un agente sin propósito termina siendo un chat caro. La segunda es que vas a dedicar una hora a configurar skills y MCP servers contra tu stack real; sin eso, el agente es genérico. La tercera es que entiendes que auto-hospedar implica mantenimiento: actualizar cuando sale un release, rotar API keys, revisar logs, ajustar prompts.
Para un homelab o un servidor de producción pequeño, Hermes es la opción más completa del ecosistema open source. Combina memoria persistente, skills que aprende solo, gateway para Telegram/Discord/Slack, MCP servers nativos y un runtime que cabe en 1 GB de RAM. Si vienes de tmux + vim + notas en markdown, el salto de productividad es comparable al que diste cuando adoptaste git.
Si solo quieres un chat con un LLM sin más, sigue siendo más simple pagar ChatGPT o Claude.ai. Si ya tienes experiencia con agentes auto-hospedados tipo Open Interpreter o Aider, Hermes te va a sorprender por la integración de skills y el gateway de mensajería.
El caso de uso donde más brilla es exactamente el que cubre esta audiencia: sysadmin que administra de uno a cinco servidores Linux, responde a incidentes por Telegram, automatiza tareas repetitivas con cron y necesita un asistente que recuerde cómo está configurado su entorno, no el de un desarrollador random. Ahí Hermes se paga solo.
Resumen
Instalar Hermes Agent en Linux toma menos de cinco minutos: curl -fsSL https://hermes-agent.nousresearch.com/install.sh | bash, recargar el shell, elegir proveedor con hermes model y empezar a chatear. La inversión real de tiempo es la configuración posterior: skills personalizadas, MCP servers conectados a tu stack, gateway de Telegram expuesto y servicio systemd para que sobreviva reinicios. Con eso en su lugar, tienes un agente que sabe cómo trabaja tu servidor, responde desde el celular y crece contigo.
Preguntas frecuentes
¿Por qué Guía DevOps: Instalar y Configurar Hermes Agent en Linux 2026 es relevante para sysadmins Linux?
Forma parte del flujo diario de administración. Los conceptos explicados se aplican directamente a servidores en producción y resuelven problemas reales que enfrentan sysadmins hispanohablantes.
¿Qué necesito para empezar con Guía DevOps: Instalar y Configurar?
Distribución Linux actualizada (Debian, Ubuntu, RHEL, Fedora o Arch), acceso root, y conexión a internet. Para producción: entorno de staging separado antes de aplicar cambios.
¿Cuáles son los errores más comunes con Guía DevOps: Instalar y Configurar?
Los tres más frecuentes: (1) saltar la lectura de logs, (2) aplicar cambios directos en producción sin probar, (3) olvidar permisos y ownership. La documentación y un plan de rollback siempre.
¿Cuándo usar Guía DevOps: Instalar y Configurar y cuándo una alternativa?
Esta solución es ideal para el caso descrito. Alternativas como Docker, Ansible o configuración manual pueden ser mejores según contexto: portabilidad, escala y reproducibilidad son los factores clave.
¿Cómo migro desde una configuración previa a Guía DevOps: Instalar y Configurar?
Documentar el estado actual, probar la nueva configuración en staging, validar funcionalmente, y aplicar en producción con rollback plan listo. Los posts de SoyLinux incluyen troubleshooting para los problemas más comunes.
Lee también
- Guía Fedora 44: Novedades, Instalación y Upgrade para Sysadmins Linux
- Configura VLANs en Linux con nmcli: Guía paso a paso para sysadmins
- Protege tu SSH: Guía esencial para configurar Fail2ban en Linux
- Guía Definitiva: Configura Kubernetes con kubeadm en Ubuntu para Sysadmins Linux
- Configura Prometheus y Grafana: Guía DevOps para SysAdmins Linux
