Hermes Agent Lab

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

Últimos artículos y perspectivas.

«Chat out of date»: cuando el escritorio rechazaba cada envío

En un chat largo y con muchas llamadas a herramientas, la app de escritorio podía rechazar cada envío con "Chat out of date", y el fallo sobrevivía a recargas y reinicios. Nada estaba realmente obsoleto; un componente liberaba historial por peso mientras el otro juzgaba la frescura por número de mensajes. El PR #125523 compara la cola del transcript en lugar de los totales.

Leer más

190 llamadas desperdiciadas sin que ningún guard dijera nada

Para esperar a 10 subagentes en segundo plano, un modelo mantuvo el turno abierto con llamadas a execute_code sin efecto: 190 llamadas del modelo principal, 31 millones de tokens de entrada, 49 minutos y cero avisos del detector de bucles. El hash del veredicto arrastraba dos campos de contabilidad que cambian en cada llamada. El PR #124724 elimina exactamente esos dos.

Leer más

Tu dirección está en la lista de permitidos — ¿eso convierte al remitente en ti?

Dos correcciones de seguridad fusionadas el 2026-09-27 cerraron la misma clase de agujero en dos pasarelas: el correo electrónico y SimpleX trataban como identidad un campo que el remitente puede escribir libremente. Una dejaba que cualquier contacto se renombrara y se saltara la lista de permitidos; la otra permitía que una cabecera From: llevara una segunda dirección y se hiciera pasar por ti.

Leer más

Por qué escribir un archivo grande en un sandbox no deja de fallar

La misma escritura de 200 KB funciona en local y falla dentro de un sandbox de Modal, Daytona o Vercel con "embedded null byte" — o escribe un archivo vacío mientras informa de éxito. El payload se estaba metiendo en la propia línea de comandos: Linux limita un argumento a unos 128 KiB, y cualquier proceso de la máquina puede leerlo. Un arreglo mergeado el 2026-09-26 (PR #124206) por fin envía stdin como stdin.

Leer más

Mira trabajar a tu bot — y toma el ratón cuando se tope con un login

Cuando el bot se atasca en un inicio de sesión, un prompt de 2FA o un CAPTCHA, ya no tienes que adivinar qué está viendo. En un host Linux headless, cada profile tiene ahora su propio escritorio Xfce, retransmitido en directo a Hermes Desktop: míralo trabajar, toma el control del ratón y del teclado, y luego devuélveselo. Desde el 2026-09-23 las imágenes oficiales incluyen una variante -desktop con los paquetes ya dentro.

Leer más

Una línea basura en jobs.json detuvo todos tus cron jobs

Los jobs están todos listados, los schedules parecen correctos y no se ejecuta nada. Un único null en jobs.json hacía que load_jobs() lanzara una excepción en cada tick, tumbando con él todo el scheduler. Una corrección fusionada el 2026-09-26 (PR #124034) descarta las entradas malas, repara el archivo in situ y evita que un contador de repeticiones null haga caer una ejecución.

Leer más

La compaction se comió el resultado de tool que tu modelo estaba esperando

Ejecutó tu suite de tests, produjo miles de líneas — y luego te dijo que solo había visto un placeholder de una línea con "truncated", con las capturas también desaparecidas. Tres correcciones fusionadas el 2026-09-26 (PRs #124208 / #124207 / #124231) cierran los huecos por los que la compaction a mitad de turno podía destruir justo la salida que el modelo estaba a punto de leer.

Leer más

Tu API key acabó en el host equivocado: así arregla Hermes el enrutado de base_url

Apuntaste Hermes a un relay, a un endpoint regional o a tu propio gateway. En cuatro rutas de código la dirección configurada se descartaba en silencio y la petición —con tu credencial adjunta— se iba al host del propio proveedor. Esto es lo que se rompió, cómo comprobar tu configuración y dónde llega el arreglo.

Leer más

El agente ya puede meterse en tu escena de Blender: integración oficial con Blender Lab

Hermes lanza un plugin oficial de Blender: el servidor MCP de Blender Lab sobre stdio, conectado a tu sesión en ejecución por loopback. Aquí tienes qué puede hacer, los pasos exactos de instalación, el requisito previo que nadie menciona hasta que falla y la línea de seguridad que deberías leer antes de apuntarlo a trabajo real.

Leer más

El parche que reescribió bytes que nadie le pidió tocar

Pide al agente un cambio de una línea en un archivo que no está en UTF-8 y la tool puede reescribir también todas las demás — en silencio, con el diff y la relectura de verificación pasando por la misma ruta con pérdida. Dos arreglos mergeados el 2026-09-25 hacen que las escrituras de archivos sean exactas byte a byte; aquí tienes cómo comprobar si tu repo se vio afectado.

Leer más

El agente se quedó callado en el minuto cuatro: las capas de timeout de Hermes, explicadas

Un modelo de razonamiento piensa cuatro minutos y lo matan a los tres. Una llamada colgada a un provider sobrevive al run budget que debería respetar. Un cron job nunca termina. Tres arreglos llegaron el 2026-09-25, y esto es toda la pila de timeouts — valores por defecto, mínimos y qué ajuste gana.

Leer más

Viste salir la respuesta en streaming y luego desapareció: 10 bugs de entrega que Hermes arregló en un día

El peor fallo de streaming no es la lentitud: es que un texto que ya leíste se trate como si nunca hubiera pasado. Una respuesta parcial descartada cuando se agotan los reintentos, una respuesta interrumpida renderizada otra vez como segunda copia, respuestas duplicadas tras cambiar de session a mitad de stream, un medidor de contexto congelado durante todo el turno. Todos estos arreglos se fusionaron el 24 de septiembre de 2026; aquí está el mecanismo que hay detrás de cada uno, con los números de PR y una nota honesta sobre el estado del release.

Leer más

Dos segundos de silencio cada vez que dices la palabra de activación: las voces locales dejan de recargarse

Hablas con Hermes mediante una palabra de activación y esperas los mismos dos segundos de silencio cada vez, porque la voz se desalojaba milisegundos después de cargarse y la siguiente activación pagaba la recarga completa. La v0.21.5 añade tts.keep_warm_seconds (por defecto 60) para eso, y por fin hace que el bucle de voz del escritorio lea tu configuración para la parada hablada y el barge-in. La reproducción frase a frase sigue solo en main.

Leer más

La v0.21.5 vuelve a salir sin notas de versión: cómo auditar lo que realmente recibió tu instalación

La v0.21.5 (tag v2026.9.24, publicada el 24 de septiembre de 2026) consolida los 460 PR fusionados desde la v0.21.4 en un tag estable, y el cuerpo del release aplaza las notas curadas a la v0.22.0. Esta guía va de la mitad práctica: los comandos que te muestran qué hay de verdad en tu instalación, más los ocho grupos de cambios de la ventana que ya están vivos hoy y que todavía no se han documentado en ninguna parte.

Leer más

Tu alerta se fue al chat de grupo: ahora una pregunta de seguimiento ahí sí funciona

Las entregas de webhook eran fire-and-forget: cada evento corría en su propia session, así que responder «¿es el mismo fallo de ayer?» en ese chat te devolvía «¿a quién te refieres?». Desde la v0.21.5 una ruta puede activar mirror_to_session y el texto entregado se escribe en la session del chat de destino como un turno de usuario etiquetado. Aquí tienes cómo activarlo, qué se espeja exactamente y los tres límites que necesitas conocer.

Leer más

Cuatro crashes en Windows que solo sufren los usuarios con el sistema en otro idioma

En una instalación de Windows en alemán, cada conversación nueva podía morir con un UnicodeEncodeError; en Windows en chino, el log del gateway se llenaba de fallos de decodificación gbk; las rutas que empiezan por C:\\ no se podían ni etiquetar ni previsualizar; y una sonda de 10 segundos declaraba fallido un arranque en frío. Cuatro bugs independientes con una cosa en común: solo aparecen en Windows localizado. Los cuatro están arreglados en la v0.21.5.

Leer más