Hermes Agent Lab

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

Últimos artículos y perspectivas.

El escáner dijo «seguro» y luego, con solo mirar la skill, se ejecutó

El guardián de skills tenía tres puntos ciegos: borrados destructivos con una tilde suelta, ninguna regla para la sintaxis de auto-ejecución del shell inline, e instalaciones bloqueadas por el escáner que informaban de éxito. El PR #128443 arregla los tres y sube el escáner a la v7.

Leer más

Salir de una sesión borró código que nunca habías commiteado

La limpieza al salir del worktree solo comprueba commits sin pushear y nunca lee el árbol de trabajo, así que git worktree remove --force se lleva por delante tus archivos sin commitear y sin trackear, mientras la documentación promete que los árboles sucios se conservan.

Leer más

Una actualización llenó un agujero de 434 GB en el disco

Una comprobación de versión de la app de escritorio recorrió un historial filtrado por ruta en un clon tree:0, dejó 2.659 paquetes promisor atrás y llenó un SSD de 1 TB, mientras el build previo al arreglo seguía en bucle.

Leer más

La clave de API de otra persona se ejecutó dentro de tu cron job

Un commit de limpieza de UX eliminó el aislamiento de secretos por perfil de cron, lo que permitía que un «routed fire» escribiera el .env de otro perfil en el entorno del proceso compartido. El PR #126982 lo devuelve a su sitio.

Leer más

Pegaste un hermes dump para pedir ayuda y te llevaba dentro tu propia API key

El paquete de depuración imprimía la api_key de cada provider de respaldo y cualquier credencial escondida en un base_url. Los parches fusionados el 2026-09-29 fuerzan la redacción tanto en el propio dump como en la frontera de subida; aquí va qué se enmascara, qué significa de verdad --no-redact y cómo compartir logs sin sustos.

Leer más

/rollback informó de un éxito y se comió en silencio el trabajo sin commitear de tu repo anidado

Un checkpoint guarda un repositorio git anidado como gitlink, una referencia a un commit, nunca como archivos. Así que /rollback pisó el trabajo del subrepo mientras imprimía éxito. Un parche fusionado el 2026-09-29 hace que el rollback se niegue antes de cambiar nada y etiqueta los checkpoint que no capturaron un repo anidado.

Leer más

Config rot: ahora hermes config check avisa de selecciones renombradas, desinstaladas y desactivadas

Un toolset renombrado, un plugin desinstalado, una plataforma desactivada mientras su token sigue configurado — las selecciones guardadas que ya no se resuelven antes simplemente desaparecían. Ahora hermes config check las reporta, juzgadas por el mismo resolver que usa hermes config migrate.

Leer más

El modelo envió un array como string — ¿por qué solo se quejan algunas herramientas?

Las herramientas del registry reciben una reparación automática de argumentos por el mismo error que hace fallar a clarify, todo_list, memory y session_search: esas herramientas inline se saltan el único punto que corrige los tipos de argumento. Un patch mergeado el 2026-09-29 les da la misma reparación.

Leer más

Mixture of Agents, explicado: paga el doble y obtén una respuesta mejor

MoA reúne las opiniones de varios modelos en una sola respuesta y supera en unos seis puntos a su componente más fuerte en el bench oficial. Qué ejecuta realmente, a quién se le factura, en qué se diferencian las tres cadencias de fanout y por qué la fila de MoA en tu selector de modelos ahora significa que has configurado algo.

Leer más

¿Tu plugin ha dejado de cargar? Las rutas de import antiguas murieron el 2026-09-14

La descomposición de módulos de septiembre movió los internals de Hermes a archivos nuevos, y la capa de compatibilidad que mantenía resolviendo las rutas de import antiguas ya no está. Cómo diagnosticar un ImportError, cómo arreglarlo y qué superficies nunca formaron parte del contrato de plugins.

Leer más

Por qué reiniciar tu gateway te hace pagar dos veces la misma cache

Un gateway multiplexado que paga una escritura completa de cache por cada profile, un primer mensaje tras cada reinicio que se comporta como un arranque en frío y un residuo de /steer que tira el channel prompt: tres correcciones fusionadas el 2026-09-28 que persiguen lo mismo, un prefijo que cambió sin motivo.

Leer más

hermes update se cuelga, miente sobre estar al día o rechaza tu CA: cuatro correcciones ya disponibles

Clones shallow que agotan el timeout, un checkout detached que mueve tu código mientras imprime «Already up to date!», CA raíz corporativas que nunca llegan a git y fallos contabilizados como éxitos. Cuatro parches de actualización fusionados el 2026-09-28, explicados.

Leer más

La sesión que borraste volvió: dos bugs y una nueva protección

Borrar una sesión que aún se estaba ejecutando era antes un no-op de la peor manera: el objeto del agente seguía vivo, cada turno posterior chocaba con un fallo de clave foránea y se descartaba en silencio, y en el escritorio la fila podía resucitar con la siguiente escritura. El PR #125157, fusionado el 2026-09-27, en su lugar rechaza el borrado, en pareja con la corrección de reconstrucción del #124117.

Leer más

«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