Hermes Agent Lab

Blog de Hermes Agent — Guías Prácticas y Perspectivas

Últimos artículos y perspectivas.

Plugins que solo funcionaban a medias: Hermes por fin unificó la resolución de nombres de plugins

Se instala por nombre de catálogo, se habilita por nombre de manifest y se empareja con su mitad de escritorio por nombre de carpeta — el mismo plugin respondía a tres nombres, así que `install` funcionaba y `enable` devolvía «No plugin named …», y un paquete con mitad de escritorio nunca se encendía. El PR #135030 fusionó cinco resolutores de nombres en uno y convirtió activar un paquete en un solo interruptor. Aquí tienes el síntoma, la causa y el nuevo orden de resolución, además del arreglo para el desarrollo de plugins de escritorio (#135017).

Leer más

v0.21.6 cambió cómo se cortan los releases — confirma qué instalaste realmente

v0.21.6 (publicada el 8 de octubre de 2026) es el primer tag cortado por el nuevo pipeline de releases estables: un attempt ref, una imagen Docker probada y un tag de comprobante al publicar. La ventana desde la v0.21.5 acumuló 8.342 archivos modificados (+772.490 / −225.600) y 2.106 PR fusionados, mientras que las notas completas y curadas siguen llegando con la v0.22.0. Aquí tienes cómo verificar qué instalaste, además de los tres grupos de correcciones de seguridad de esta ventana.

Leer más

Un turno hablado ya no tiene que usar tu modelo de escritura

Dices algo y el modelo con el que escribes se gasta su presupuesto de razonamiento antes de responder en voz alta — así que las preguntas por voz van medio compás lentas y te facturan al precio de tu modelo principal. Ahora los turnos hablados tienen su propio slot auxiliary.voice_chat y por defecto vienen con el razonamiento desactivado; y si quieres reemplazar toda la cadena «transcribir, pensar, hablar», un único modelo de voz full-duplex puede tomar el relevo (voice.voice_chat_mode: gpt-live). Aquí tienes cómo encajan los tres ajustes — y cuándo no usarlos.

Leer más

Creías que YOLO seguía activado. El reinicio lo desactivó.

Escribes /yolo en una plataforma de mensajería y das por hecho que las aprobaciones están desactivadas. Luego el gateway se reinicia — hermes update, un crash, systemd, la reapertura del escritorio — y ese chat ha vuelto en silencio a las aprobaciones manuales mientras tú sigues creyendo que las está saltando. El arreglo guarda /yolo en la propia sesión (SessionEntry.yolo en gateway_routing), mientras que /new, /resume y /branch lo borran para siempre. Aquí tienes las dos direcciones en que esto puede sorprenderte, y cómo sobrevive a un reinicio sin revivir un bypass que ya habías quitado.

Leer más

Un plugin ahora puede pedirle a Hermes que controle su propio servidor MCP

Los paquetes de Portable Agent Plugins v1 pueden declarar `trust: untrusted` para sus propios servidores MCP en `plugin.json`, de modo que cada llamada a una herramienta con capacidad de escritura te pregunte primero. Hermes solo acepta restringir, nunca ampliar.

Leer más

Nous Research levanta $90M — y Hermes va a por las empresas. Esto es lo que cambia para ti.

Nous Research anunció una ronda de $90M con una valoración de $1.5B el 7 de octubre de 2026, con NVIDIA, Microsoft M12 y Samsung entre los inversores, además de una nueva dirección "Hermes for Businesses". Qué es lo declarado por la compañía, qué está prometido y cuáles son los dos interruptores que conviene vigilar.

Leer más

Por qué desaparecieron 90GB de tu disco: el estado de dependencias que dejan atrás los worktrees eliminados

Cada worktree de `hermes -w` o clon temporal obtiene su propio entorno de dependencias de ~200MB, y eliminar el árbol nunca lo borraba. La ruta de prune ahora recupera el estado cuyo checkout ya no existe — de 92GB a 18GB en un host medido.

Leer más

Un cron job saludable fue declarado "wedged" a las 2h02m — ahora el límite mide el silencio, no la duración de la ejecución

Cualquier ejecución de cron de más de dos horas se reclamaba como un owner muerto incluso mientras llamaba a herramientas activamente, y luego fallaba con "lost its durable fire claim ownership" y perdía la salida de esa ejecución. El arreglo mide cuánto tiempo lleva el owner en silencio en lugar de cuánto tiempo lleva ejecutándose.

Leer más

Un modelo barato en un canal y uno frontier en otro: cómo funciona channel_overrides (y el bug de caché que lo encarecía)

Un solo gateway puede ejecutar un modelo y una persona distintos en cada canal mediante platforms.<platform>.channel_overrides. Pero un bug P0 expulsaba el agente en caché tras cada turno justo en esas conversaciones, lo que obligaba a releer toda la conversación a precio completo.

Leer más

Ejecutar Hermes Agent en Kubernetes: sin Helm chart oficial, una sola réplica y un contenedor que arranca como root

Tres cosas de la imagen oficial chocan con los valores por defecto estándar de Kubernetes: el estado es de escritor único, s6-overlay necesita root en el init y no hay endpoint HTTP de recarga. Esto es lo que de verdad se rompe y lo que deberías escribir en tu manifiesto.

Leer más

Qué registra de verdad la telemetría de Hermes: dos interruptores, ambos desactivados por defecto, y nada que se parezca a tu contenido

Bajo telemetry.shared_metrics hay dos opt-ins independientes — enabled recopila en local, send transmite a Nous — y ambos son false por defecto. Esto es lo que contienen los contadores acotados, más las nuevas clases de motivo de fallo.

Leer más

¿Hermes acaba de pedirte que superes una comprobación de navegador? Esto es qué es el reto 428 en el free tier

Cuando el servicio de cuentas de Nous decide que un rango de IP necesita antes una comprobación de navegador, el intercambio de token anónimo responde 428 challenge_required. Hermes implementa una sola primitiva: abrir el enlace del portal, hacer polling del estado, intercambiar de nuevo — mientras las llamadas en segundo plano nunca se bloquean.

Leer más

El límite de inicio de sesión de tu dashboard se podía falsificar con una sola cabecera

Tres correcciones de endurecimiento de autenticación fusionadas el mismo día: un X-Forwarded-For falsificado reiniciaba el límite de tasa del inicio de sesión del dashboard, un campo de auditoría sin límite podía llenarte el disco, y las rutas de autenticación públicas no tenían límite de tamaño de cuerpo.

Leer más

Cuando Hermes se queda esperando a una persona, tu plugin ahora puede enterarse

Un nuevo par de hooks on_human_input_request / on_human_input_resolved cubre los prompts de sudo, las preguntas de clarify y las aprobaciones de comandos peligrosos, así que un notificador ya no necesita un hook por cada tipo de prompt.

Leer más

El gateway cura todas las plataformas menos una — he aquí por qué

Tres correcciones de fiabilidad del gateway: una plataforma cuyo plugin no cargó ahora reintenta su importación, los mensajes de Telegram retenidos durante una desconexión se entregan tras reconstruir el adaptador, y las ejecuciones /v1 en curso terminan al detener el gateway en lugar de morir tras 0 s.

Leer más

Los agentes escriben código más rápido de lo que nadie puede revisarlo. Aquí está el trinquete que evita que el código se pudra

Hermes añadió un trinquete: cada función y cada fichero solo puede mantenerse igual o mejorar, el código nuevo tiene que cumplir el objetivo, y un único comando local ejecuta exactamente lo que ejecuta CI. Incluye los umbrales de CC/líneas/anidamiento, la vía de escape y una repetición sobre 318 PR.

Leer más