Hermes Agent v0.15.0 — The Velocity Release (La Versión Velocity)
Resumen
v0.15.0 — La Versión Velocity. Publicada el 28 de mayo de 2026. 1.302 commits · 747 PRs fusionados · 1.746 archivos modificados · 282.712 inserciones · 36.699 eliminaciones · más de 560 issues cerrados (15 P0, 65 P1, 19 con etiqueta de seguridad) · 321 colaboradores de la comunidad.
Esta es la versión en la que Hermes se volvió drásticamente más rápido — para iniciar, para ejecutar, para entregar trabajo y para crecer. El archivo run_agent.py de 16.083 líneas se redujo a 3.821 (-76%), redistribuido en 14 módulos cohesivos bajo el directorio agent/*. Kanban pasó de ser un simple tablero de tareas a una auténtica plataforma multi-agente: descomposición automática por el orquestador, topología swarm, tareas programadas, worktree por tarea, anulaciones de modelo por tarea — 104 PRs de principio a fin. session_search fue reconstruido desde cero para ser instantáneo y gratuito. La defensa Promptware aterrizó para bloquear ataques de clase Brainworm. Bitwarden Secrets Manager reemplazó cada clave API por proveedor con un único token de arranque. Dos nuevos proveedores de image_gen, paquetes de skills, ntfy como la 23ª plataforma de mensajería y una profunda ronda de integración con xAI completaron una de las versiones más ambiciosas hasta la fecha.
Funcionalidades Principales
1. La Gran Refactorización — run_agent.py pasa de 16k a 3.8k líneas
Esta es la historia de ingeniería más destacada de la versión. El archivo central de Hermes — el bucle de conversación del agente — se redujo de 16.083 líneas a 3.821 (-76%). El código extraído se redistribuyó en 14 módulos cohesivos bajo el directorio agent/. Solo la función run_conversation ya ocupaba 3.877 líneas antes de la refactorización.
Lo importante es el impacto: cada extracción mantiene un reenviador delgado en AIAgent, cada ruta de parcheo de tests se conserva y todos los llamadores externos siguen siendo compatibles. El archivo que tardaba 90 segundos en cargarse en tu editor ahora se abre en un instante. Los autores de plugins por fin pueden hacer grep en el código base. El desarrollo futuro de Hermes avanza más rápido.
# El código base ahora es navegable — explora las entrañas del agente:
ls agent/
# agent/loop.py agent/conversation.py agent/tools.py
# agent/memory.py agent/review.py agent/compression.py
# ... y 8 módulos cohesivos más
2. Kanban se Convierte en una Verdadera Plataforma Multi-Agente
104 PRs transformaron Kanban de un tablero de tareas a una capa de orquestación multi-agente lista para producción. Esto es todo lo que cambió:
Orquestación y Despacho:
- Descomposición automática al clasificar — suelta una tarea y el orquestador la descompone en un árbol de sub-tareas. Se acabó planificar manualmente la descomposición.
- Topología swarm en un solo comando —
hermes kanban swarmcrea un grafo Swarm v1 completo: raíz → workers paralelos → verificador con puerta → sintetizador con puerta, todo conectado mediante una pizarra compartida. - Agentes de revisión se despachan desde la columna de revisión — el trabajo completado recibe una revisión automática antes de aterrizar.
# Crea una topología swarm completa para trabajo complejo
hermes kanban swarm --title "Construir la API"
# Observa a tus workers en tiempo real
hermes kanban inspect
Configuración y Programación de Tareas:
- Anulaciones de modelo por tarea — usa modelos baratos para tareas repetitivas y modelos caros para sub-tareas difíciles. Una configuración por tarjeta de tarea.
- Horarios de inicio programados — programa una tarea para que comience a las 3 AM el martes. Útil para trabajos por lotes y ventanas de mantenimiento.
- Directorio de trabajo predeterminado por tablero — cada tarea del tablero hereda un directorio de trabajo a menos que se sobrescriba.
- Rutas de worktree y ramas configurables — cada worker se ejecuta en un git worktree aislado.
- Límite de concurrencia
max_in_progress— limita cuántas tareas se ejecutan simultáneamente por tablero. - TTL de reclamación, huellas de reintento, detección de tareas obsoletas y protecciones de regeneración previenen tormentas de workers.
# Ejemplo de configuración por tarea
tasks:
- title: "Refactorizar módulo de autenticación"
model_override: "claude-sonnet-4-20250514" # modelo caro para trabajo difícil
- title: "Actualizar documentación"
model_override: "gpt-4.1-mini" # modelo barato para tareas repetitivas
- title: "Copia de seguridad nocturna"
scheduled_at: "2026-06-01T03:00:00Z"
Panel de Control y Fiabilidad:
- Zona de arrastrar para eliminar + eliminación masiva.
- Endpoints de visibilidad de workers:
/workers/active,/runs/{id},/inspect. - Trabajos cron entre perfiles visibles en el panel.
- Huellas digitales de errores de crash para prevenir el agotamiento de reintentos en toda la flota.
- Pulido de UX del panel móvil para gestión desde cualquier lugar.
3. session_search Reconstruido — 4.500× Más Rápido, Costo Cero
El antiguo session_search era una herramienta con LLM auxiliar que costaba ~$0,30 por llamada, tardaba ~90 segundos en resumir tres sesiones y a veces confabulaba resultados cuando la sesión correcta ni siquiera aparecía en los resultados de búsqueda.
El nuevo session_search es una herramienta con tres modos (discovery, scroll, browse) inferidos a partir de los argumentos proporcionados — sin parámetro mode, sin LLM auxiliar, sin ajustes de configuración, sin skill complementaria.
Discovery: ~20ms (antes ~90s) → 4.500× más rápido
Scroll: ~1ms → instantáneo
Costo: $0,00 → completamente gratuito
# Modo Discovery — encuentra sesiones pasadas relevantes
session_search(query="refactorizar autenticación de usuario")
# Modo Scroll — navega por el contenido de las sesiones
session_search(session_id="abc123", scroll_offset=0)
# Modo Browse — inmersión profunda en una sesión específica
session_search(session_id="abc123", browse=True)
4. Defensa Promptware — Ataques de Clase Brainworm Bloqueados
Inspirada en la reciente investigación sobre Brainworm / Promptware Kill Chain, Hermes ahora defiende la ventana de contexto contra ataques de inyección de prompt que intentan secuestrar al agente a través de la salida de herramientas, memoria recuperada o skills almacenadas.
Tres capas de defensa:
- Fuente única de verdad —
tools/threat_patterns.pycon ~15 nuevos patrones Brainworm/C2 compartidos en todo el código de escaneo. - Escaneo de memoria al cargar — la memoria recuperada se escanea antes de entrar en la ventana de contexto.
- Delimitadores de resultado de herramientas — archivos maliciosos o servicios remotos ya no pueden hacerse pasar por las instrucciones del sistema de Hermes.
Complementado con un nuevo plugin security-guidance que detecta por patrones escrituras de código peligrosas antes de que se ejecuten.
5. Bitwarden Secrets Manager — Un Token Reemplaza Todas las Claves API
Deja de guardar claves API en texto plano en ~/.hermes/.env. Bitwarden Secrets Manager se integra de forma nativa — bws se autoinstala de forma diferida en el primer uso, y configuras Hermes con un único token de arranque:
# Configura tu token de acceso de Bitwarden
export BWS_ACCESS_TOKEN="tu-token-de-arranque"
# Hermes obtiene cada credencial de Bitwarden al iniciar
hermes chat
Características clave:
- Rota una clave en la aplicación web de Bitwarden → la rotación realmente surte efecto. Bitwarden actúa por defecto como fuente de verdad, sobrescribiendo las variables de entorno coincidentes al iniciar.
- Las credenciales se etiquetan con su origen para que puedas ver qué claves provienen de Bitwarden vs. del entorno local.
- Soportadas URLs de EU Cloud y servidores Bitwarden autoalojados.
- Configura
secrets.bitwarden.override_existing: falsepara que las variables de entorno locales tengan prioridad.
6. Paquetes de Skills — Un Comando Slash, Múltiples Skills
Un paquete de skills es un grupo con nombre de skills que se cargan todas juntas con un solo comando slash. Configura tu paquete “día de escritura” y /writing-day activa todo para la sesión.
# Define un paquete en tu configuración
# Luego actívalo con un solo comando:
/writing-day
# Carga: humanizer + ideation + obsidian + youtube-content
Mejoras del Skills Hub:
- Verificaciones de estado e insignias de actualización en cada skill.
- Un trabajo cron watchdog mantiene tus skills instaladas al día.
- Tres nuevas skills opcionales:
code-wiki(LLM-Wiki de Karpathy, wiki de desarrollo indexada y persistente),openhands(delega en OpenHands para agentes de codificación paralelos) yweb-pentest(recetas de pentest web OWASP).
7. Integración Profunda con xAI
Seis mejoras interconectadas de xAI:
| Funcionalidad | Descripción |
|---|---|
| Búsqueda Web xAI | Nuevo proveedor plugins/web/xai/ — reutiliza tu OAuth de Grok existente o XAI_API_KEY, sin nuevas variables de entorno |
hermes proxy upstream xAI |
Endpoint local compatible con OpenAI respaldado por xai-oauth — sin código PKCE que escribir en tu cliente |
| Detección de modelos retirados | grok-4, grok-3 y otros modelos retirados se detectan al iniciar con hermes migrate xai para migración de configuración en un solo paso |
| Pausas naturales en TTS | auto_speech_tags opcional inserta etiquetas [pause] entre párrafos para una voz con sonido más natural |
Seguridad de base_url |
base_url de xai-oauth fijada al origen x.ai — cierra un vector de fuga de credenciales |
| Guía de ejecución | Los modelos Grok reciben la misma disciplina de ejecución específica por familia que GPT/Codex — evita que afirmen finalización sin llamadas a herramientas |
# Migra desde modelos xAI retirados
hermes migrate xai
# Verifica qué modelos siguen activos
hermes doctor
8. Generación de Imágenes Krea + Arquitectura de Plugins FAL
Dos nuevos proveedores de image_gen aterrizan y la arquitectura se vuelve más limpia:
- Krea 2 Medium ($0,03) y Krea 2 Large ($0,06) — autodetectados, seleccionables mediante
hermes tools→ Image Generation → Krea. - Backend FAL.ai migrado de una herramienta monolítica a
plugins/image_gen/fal/— ahora es un solo archivo, no un fork. Los nuevos proveedores de imágenes están a un plugin de distancia.
9. ntfy — 23ª Plataforma de Mensajería
ntfy se une como la 23ª plataforma de mensajería — un servicio de notificaciones push autoalojable sin registro, sin clave API, solo una URL de topic. Tu agente puede enviarte notificaciones push desde cualquier trabajo cron, finalización de tarea kanban o llamada send_message — a tu teléfono, reloj, escritorio o homelab.
# Tu agente te envía una notificación cuando una tarea kanban se completa:
# "Tarea 'Refactorizar autenticación' completada — 3 archivos modificados, 45 tests superados"
# Todo mediante una única URL de topic ntfy, sin necesidad de cuenta
10. Orquestador de Sesiones TUI
El TUI Ink ganó una superposición de cambio de sesión activa. Lista, cambia entre, actualiza y cierra múltiples sesiones en vivo de proceso local sin salir del TUI. Despacha una nueva sesión con un selector de modelo con ámbito de sesión. Además, preajustes de modo DEC de seguimiento de ratón, preservación del historial de desplazamiento, mejoras en el renderizado de entrada IME y más.
Rendimiento
La ola de optimización de arranque en frío continuó con cuatro rondas principales:
| Optimización | Impacto |
|---|---|
Importación diferida de openai._base_client |
-240ms, -17MB en cada invocación CLI |
| Optimizaciones de ruta caliente del bucle del agente | 47% menos llamadas a funciones por turno (399k → 213k para chat de 31 turnos) |
| Verificación de viabilidad de compresión diferida | -170 a -290ms por construcción de agente |
| Sondeo adaptativo de subprocesos | ~195ms por llamada a herramienta, 1+ segundo por turno |
Resultados de benchmark:
- Arranque en frío en Termux: 2,9s → 0,8s (en dispositivos móviles)
hermes --versionen frío: 701ms → 258ms (-63%)- Benchmark cara a cara contra Codex CLI pasó de 5/11 victorias a 6/11
Seguridad y Fiabilidad
Promptware y Endurecimiento de Memoria
- Defensa Promptware con patrones de amenaza compartidos, escaneo de memoria al cargar y delimitadores de resultado de herramientas.
- Archivos del plano de control de Hermes protegidos contra inyección de prompt (
auth.json,config.yaml,webhook_subscriptions.json,mcp-tokens/). - Denegación de escritura en
<root>/.enval ejecutarse bajo un perfil. - Defensa en profundidad con denegación de lectura en almacenes de credenciales.
Seguridad de Credenciales
- Las claves API obtenidas del entorno en tiempo de ejecución ya no se filtran a
auth.json. base_urldexai-oauthfijada al origenx.ai— vector de fuga de credenciales cerrado.- Tokens OAuth caducados puestos en cuarentena al fallar la renovación (xAI, Codex, MiniMax).
inference_base_urlde Nous Portal validado contra lista blanca de hosts.
Cadena de Suministro
- Auditoría de cadena de suministro bajo demanda —
hermes auditverifica dependencias contra OSV.dev. hermes updatevalida sintácticamente archivos críticos después de pull, con reversión automática en caso de fallo.
Nuevas Herramientas y Comandos Integrados
| Herramienta / Comando | Descripción |
|---|---|
session_search |
Reconstruido — tres modos (discovery/scroll/browse), costo cero, 4.500× más rápido |
hermes kanban swarm |
Crea una topología multi-agente Swarm v1 completa en un solo comando |
hermes migrate xai |
Migración en un paso desde modelos xAI retirados |
hermes audit |
Auditoría de cadena de suministro bajo demanda mediante OSV.dev |
hermes proxy |
Nuevo upstream xAI — endpoint local compatible con OpenAI respaldado por xai-oauth |
/exit --delete |
Elimina la sesión al salir |
/update |
Comando slash para actualizar Hermes desde CLI/TUI |
Agente Central y Arquitectura
Bucle del Agente y Conversación
- Respaldo en capas para tareas auxiliares (primario → cadena → agente principal → fallo controlado) ante errores de capacidad (402/429/conexión).
- Estado de reintento/respaldo en buffer — solo se muestra en fallo terminal (sin ruido de “reintentando…” a mitad de ejecución).
- Contrato de host para motores de contexto externos.
- Respaldo inmediato ante bloqueos de política de contenido del proveedor.
- Verificador de resultado de herramienta por turno para la herramienta
patch— preservación de sangría, preservación de CRLF, escalado de fallos por archivo. - Visión nativa con un solo ajuste para modelos de proveedores personalizados.
- Recuperación ante proveedores que devuelven contenido de herramienta de tipo lista.
- ContextVars se propagan a hilos de trabajo de herramientas concurrentes.
Sesiones y Memoria
- Persistencia de
platform_message_idpara recuperación entre reinicios de gateway. - Las menciones de contexto de memoria en línea permanecen visibles en la conversación.
- La memoria recuperada se etiqueta como informativa, no autoritativa.
- La inyección de herramientas de memoria + motor de contexto está condicionada por
enabled_toolsets. - Protección contra derivas externas en
MEMORY.md/USER.md. - Mapeo de pares en tiempo de ejecución Honcho con asistente de configuración y documentación.
Maduración de Codex / Responses-API
- Watchdog TTFB para streams de Codex Responses estancados.
- Sugerencia práctica cuando el detector de llamadas obsoletas se activa ante un patrón conocido de rechazo silencioso.
- Eliminado el helper
responses.stream()del SDK — consumo directo de eventos. - El código 429 de cuota de Codex ahora se clasifica como límite de tasa, no como credenciales faltantes.
Plataformas de Mensajería (Gateway)
- Modo entregable — los agentes envían artefactos como subidas nativas desde cualquier plataforma (Slack/Discord/Telegram/Teams/Email).
hermes send— canaliza la salida de cualquier script a cualquier plataforma de mensajería.- Adaptador de Discord migrado a plugin empaquetado.
- Adaptador de Mattermost migrado a plugin empaquetado.
- Telegram: edición de mensajes de estado in situ, ruta de audio sin STT, enrutamiento de documentos de imagen por el pipeline de visión, autenticación con ámbito de chat,
disable_topic_auto_renameconfigurable. - Signal: filtro
require_mentionpara chats grupales. - Matrix: advertencia ante pérdidas silenciosas de mensajes por desfase de reloj + conjunto completo de dependencias E2EE.
- Feishu: requiere secreto de autenticación para webhook + exige autenticación para botones de aprobación.
- DingTalk: transcripción de notas de voz nativas.
- WeCom: análisis seguro de XML no confiable.
Sistema de Herramientas
Navegador y Generación de Imágenes
- Todos los proveedores de navegador en la nube (Browserbase, Anchor, Camofox, Hyperbrowser) migrados a plugins estilo image_gen.
- Lanzamiento automático de navegador de la familia Chromium para CDP.
- Respuestas de URL efímeras de xAI almacenadas en caché en disco.
MCP
- Catálogo MCP aprobado por Nous con selector interactivo —
hermes mcppresenta un catálogo seleccionado de servidores revisados por Nous, instálalos con una sola pulsación. - Soporte de certificado de cliente TLS (mTLS) para servidores MCP HTTP y SSE.
- Respaldo de pegado de stdin para flujo OAuth sin interfaz gráfica.
CLI y TUI
- Comando slash
/updateen CLI y TUI con reversión automática ante fallo de verificación sintáctica. - Bandera
--branchparahermes update. - Indicador
▶ Nen la barra de estado para tareas/backgrounden ejecución. - Umbrales de colapso de pegado configurables (TUI + CLI).
/resumeacepta números de posición.- Orquestador de sesiones TUI — múltiples sesiones en vivo en una sola ventana TUI.
- Preajustes de modo DEC
mouse_tracking+ preservación del historial de desplazamiento entre ramas y Termux. - Perfil activo mostrado en el prompt del TUI.
- Copia al portapapeles en linux/wayland.
- Texto completo del asistente en el historial de desplazamiento (sin truncamiento de historial).
Docker
- Supervisión de contenedores con s6-overlay — protocolo
ServiceManager(backends systemd/launchd/Windows/s6), supervisión de gateway por perfil, reconciliación de reinicio de contenedor. - Actualización de Node a 22 LTS mediante multi-stage desde
node:22-bookworm-slim. - SHA de git del momento de compilación incrustado en la imagen para informes de
hermes dump. hermes updateimprime instrucciones dedocker pulldentro del contenedor.- Descubrimiento del binario Chromium del navegador del agente al arrancar.
Actualización
hermes update
Si estás usando modelos xAI retirados el 15 de mayo, ejecuta primero la migración:
hermes migrate xai
hermes update
Para nuevas instalaciones, visita la guía de instalación.
← Hermes Agent Changelog