Hermes Agent Lab

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

Últimos artículos y perspectivas.

Tu exportación de perfil estaba enviando tus credenciales de la nube

Un tar.gz de hermes profile export debería permitir que un compañero reproduzca tu configuración — pero también arrastraba los almacenes de credenciales .docker, .azure, .config/gh y .config/gcloud. Dos PRs cerraron la brecha.

Leer más

Home Assistant salió del core: qué pasa con tu configuración

La plataforma de gateway de Home Assistant y sus herramientas salieron del core de Hermes hacia un plugin oficial del catálogo — con una migración automática que lo instala por perfil, sin tocar las claves de configuración, las variables de entorno ni los nombres de herramientas.

Leer más

Hermes dejó de creer el dmarc=pass del propio remitente

Un encabezado Authentication-Results es texto que el remitente puede escribir. Hermes ahora exige un pin de authserv-id y descarta el correo hasta que se configure uno — un cambio de comportamiento deliberado con una corrección de una línea.

Leer más

La memoria tiene un presupuesto: por qué con el tiempo deja de recordar

La memoria a largo plazo de Hermes tiene un límite de caracteres, y cuando se llena las escrituras se omiten en silencio. El plugin hermes-dreaming añade una pasada nocturna determinista que registra lo que importa y retira lo que no.

Leer más

Los plugins de terceros salen del proceso principal: dentro de plugins.isolation: host

Un plugin que instalabas compartía un único proceso de Python con cada sesión, cada secreto y cada clave en memoria que posees. El nuevo plugins.isolation: host da a cada profile su propio proceso host de plugins: sin cambios en el código del plugin y con una lista corta y documentada de lo que no puede moverse.

Leer más

Tu agente escribió en tu crontab real a las 2 de la madrugada: aislar HOME y cron

Un sandbox que aísla HERMES_HOME sigue dejando que el agente escriba en el directorio home real, en el crontab real y en el bus de usuario real de systemd. Tres trabajos cron fantasma dejados por una sola ejecución de eval muestran qué salidas tiene que cubrir cualquier relato de aislamiento.

Leer más

Ejecutar Hermes dentro de Codex: una extensión MCP de la comunidad

Editar código en Codex mientras Hermes ejecuta tus automatizaciones suele significar dos ventanas abiertas y un hilo de pensamiento perdido. Esta extensión MCP de la comunidad integra en Codex los chats, los profiles, el cambio de modelo y el planificador de Hermes, y deja las credenciales en el proceso bridge local.

Leer más

Por qué tu exportación de /save perdía turnos — y el límite que hay detrás

La misma sesión podía exportarse por completo desde la CLI y quedarse corta en la app de escritorio, perdiendo turnos que la compactación in situ había archivado; además, una sesión muy grande podía agotar la memoria. La corrección unifica las tres superficies en una sola ruta de código y aplica el límite de exportación propio de cada perfil.

Leer más

Por qué los embeds de terceros en la app de escritorio tienen que ir en un sandbox

Cómo Hermes aísla los embeds de X, Instagram y YouTube en la app de escritorio, un problema de seguridad ya público y su fix, y el estado de versión hoy.

Leer más

Tres herramientas en un solo tool_call ya no dan error: Hermes divide el batch

Cuando un modelo metía tres herramientas MCP en un único tool_call, la regla de «herramientas locales, de a una» lo rechazaba y quemaba una ida y vuelta completa. Ahora el agente divide el batch en llamadas individuales antes de guardar el turno.

Leer más

Revertido tras 11 horas: por qué los prompts de aprobación de Hermes conservan un plazo

El cambio que hacía que los prompts de aprobación te esperaran para siempre se revirtió la misma noche en que se fusionó —no por indecisión, sino porque dejaba en deadlock una sesión que no tiene a nadie que responda. Aquí van la cronología y lo que realmente aplica ahora.

Leer más

Un commit, tres fallos silenciosos: el backup borró el archivo equivocado, el JSON se escribió mal y las comillas quedaron aplanadas

Un keep negativo borra tu backup más reciente, una escritura se cuela un NaN, y replace_all aplana las comillas tipográficas a ASCII —tres bugs que devolvían éxito mientras hacían lo incorrecto. El PR #130619 arregla los tres.

Leer más

El aviso de aprobación que antes se esfumaba a mitad de café ahora te espera

Si se disparaba approvals.timeout, el aviso caducaba y la orden se denegaba en silencio — y tú solo estabas en una reunión. El PR #130167 mantiene abiertos los avisos de CLI, TUI y Desktop hasta que respondas o interrumpas el turno, mientras que las plataformas de mensajería conservan su plazo de 300 segundos.

Leer más

Has iniciado sesión en una cuenta Nous: ¿por qué la búsqueda rápida gratuita sigue siendo rechazada?

Tres puertas locales bloquearon la petición antes de que se enviara: el entitlement de pago, un tool pool activo y una escalera de autodetección que solo reconocía Firecrawl. El PR #130660 separa una ruta de búsqueda gratuita basada en identidad — cualquier cuenta registrada sirve, los invitados anónimos conservan el ring sin key, y una consulta de cuenta fallida cierra por defecto.

Leer más

Tu cuota de Codex se reabrió hace días, pero Hermes sigue en el fallback

Una sesión de larga duración pinned a su fallback nunca llama al probe que detecta una reapertura temprana de cuota, así que se queda ahí hasta un reinicio. El PR #130716 conecta esa comprobación a la ruta de restauración — y le pone throttle, para que un probe que miente no pueda hacer que la sesión vaya y venga en cada turno.

Leer más

Antes de abrir un PR al catálogo de plugins, mira qué comprueba de verdad su puerta

La puerta de admisión del catálogo hace dos cosas, pero es más quisquillosa de lo que esperas: una entrada renombrada, un subdir que se escapa del clone pinned y un sha que nombra un objeto tag son todos rechazados. El PR #130712 cierra esas vías de evasión — y corrige una regla demasiado estricta que habría hecho fallar un tercio de todos los PR del catálogo.

Leer más