v0.20.0

Hermes Agent v0.20.0 — The Herald Release


Resumen

v0.20.0 — The Herald Release. Publicado el 3 de agosto de 2026. ~3 650 commits · ~1 400 PRs fusionados · ~5 200 archivos modificados · ~559 000 inserciones · ~405 000 eliminaciones · ~1 200 issues cerrados · más de 650 colaboradores de la comunidad.

Hermes es el heraldo de los dioses, y esta versión lo convierte en uno de verdad: habla (voz conversacional en tiempo real con TTS en streaming, barge-in, palabras de activación en dispositivo y control manos libres en CLI, escritorio y cada plataforma de gateway con capacidad de audio), lleva mensajes a otros agentes (A2A v1.0), anuncia eventos a tus sistemas (webhooks salientes firmados) y cita sus fuentes (investigación fundamentada con citas verificables y verificación de hechos).

Alrededor de esa columna vertebral: la app de escritorio se convirtió en una plataforma (Artifacts con vista previa en vivo aislada, un SDK de plugins, entrada rápida desde cualquier lugar, múltiples ventanas), la CLI recibió una oleada de comandos avanzados (modo shell !, /init, /diff, /context, /focus), la compresión se volvió más inteligente y menos agresiva, y las propias herramientas ahora se recuperan de sus fallos en lugar de obligar al modelo a adivinarlo.

La reacción de la comunidad fue inmediata — el hilo de Digg Tech alcanzó más de 900K visualizaciones combinadas y más de 5 400 likes en 24 horas. Teknium lo llamó “anunciando la nueva era”. Esta versión también incluye todo lo del parche de infraestructura v0.19.1.


Destacados

1. Habla con Hermes — Voz conversacional en streaming con Barge-In

Antes, el modo de voz significaba: hablar, esperar a que se generara toda la respuesta, luego escuchar un archivo de audio largo. Ahora Hermes habla cláusula por cláusula a medida que la respuesta se transmite, puedes interrumpirlo a mitad de frase simplemente hablando (se detiene, escucha y se le informa al modelo que lo interrumpiste), y la detección de silencio consciente de actividad evita que hable encima de ti.

Esto es un cambio cualitativo, no cuantitativo — hablar con Hermes por fin se siente como una conversación, no como un intercambio de mensajes de voz. Funciona en modo voz de CLI, en el escritorio y a través de adaptadores de gateway.

# Entrar en modo voz desde CLI o TUI
hermes chat --voice

# Hermes habla cláusula por cláusula, dices "espera" y se detiene
# Totalmente manos libres — no se necesita teclado

2. Palabras de Activación y Control Manos Libres — Habla desde el otro lado de la habitación

Elige tu propia frase de activación de vocabulario abierto (“hey Hermes” o lo que prefieras) y Hermes comienza a escuchar — la detección se ejecuta en el dispositivo, por lo que ningún audio sale de tu máquina mientras espera. El enrutamiento de voz multi-perfil significa que diferentes palabras de activación pueden llegar a diferentes perfiles, y decir “stop” finaliza el chat de voz en cualquier superficie sin tocar el teclado. Ahora puedes hablarle a tu terminal desde el otro lado de la habitación.

# Registrar una palabra de activación personalizada (inscripción de voz, 3 muestras)
hermes voice wake-word register --phrase "hey assistant"

# Vincular diferentes perfiles a diferentes palabras de activación
hermes voice wake-word bind --profile work --phrase "time to work"
hermes voice wake-word bind --profile personal --phrase "hey hermes"

Reacción de la comunidad: los desarrolladores lo llaman el momento “Alexa/Google Home killer”. La detección de palabras de activación se ejecuta silenciosamente en segundo plano sin consumir presupuesto del modelo.

3. Voz en Todas Partes — WhatsApp, Feishu, DingTalk, LINE, QQ, WeChat

Envía una nota de voz a Hermes por WhatsApp, Feishu, DingTalk, LINE, QQ, Photon o Weixin y será transcrita y respondida. Las respuestas automáticas TTS se entregan adaptadas a la plataforma (opus donde las plataformas lo requieren, subtítulos adjuntos correctamente).

STT ahora es completamente configurable — su propia categoría en hermes tools, matriz de alternancia en GUI, menús desplegables en el dashboard, visualización del estado de configuración. La resolución unificada de idioma soluciona el problema de “la transcripción llega en el idioma equivocado” que ha afectado a los usuarios de voz. Ahora se soporta gpt-transcribe de OpenAI.

Todos los proveedores TTS comparten un único preprocesador de texto hablado unificado — markdown, bloques de código y URLs se eliminan inteligentemente del output de voz.

4. Investigación en la que Puedes Confiar — Citas Fundamentadas con Verificación de Hechos

La nueva habilidad grounded-citations hace que Hermes produzca investigaciones donde cada afirmación está respaldada por una fuente verificable: las citas se contrastan con el texto real de la página (no alucinadas), los enlaces apuntan a la evidencia exacta. Un modo de verificación de hechos aplica la misma maquinaria a cualquier documento o afirmación que le proporciones — te dice qué es correcto, qué no y qué no se pudo verificar.

Si usas Hermes para investigar, esta es la diferencia entre “suena bien” y “fuente comprobable”.

# Activar modo de investigación fundamentada en conversación
/grounded-citations

# Verificar hechos de un documento existente
/fact-check "Is this report on AI safety accurate?"

5. Comunicación Agente-a-Agente — Protocolo A2A v1.0

Un nuevo plugin incluido implementa el protocolo Agente-a-Agente — Hermes puede descubrir, hablar con y ser dirigido por otros agentes compatibles con A2A. Esto cierra el issue #514 — una de las solicitudes de funcionalidad más antiguas del repositorio.

Si estás construyendo sistemas multi-agente con stacks heterogéneos, Hermes ahora tiene un protocolo estándar para unirse a ellos.

# Activar el plugin A2A
hermes plugins enable a2a

# Hermes descubre agentes automáticamente en la red local
# Puede delegar sub-tareas a otros agentes de forma autónoma

Teknium destacó esto como uno de los cambios de infraestructura más significativos de esta versión — los agentes finalmente tienen un protocolo de comunicación estándar en lugar de ser cajas negras aisladas.

6. Webhooks Salientes — Hermes Envía Eventos a Tus Sistemas

Hasta ahora, integrarse con Hermes significaba hacer polling o escuchar en una plataforma. Ahora Hermes envía eventos de ciclo de vida firmados (actividad de sesión, finalizaciones de turno, eventos de herramientas) a cualquier endpoint HTTP que registres — con firmas HMAC para que tu receptor pueda verificar la autenticidad.

Conecta Hermes a tus pipelines de CI/CD, automatización del hogar, dashboards de monitoreo o cualquier servicio que hable HTTP, sin bucle de polling.

# hermes.config.yaml
webhooks:
  - url: "https://your-service.example.com/hermes-events"
    events: ["turn_complete", "tool_invocation", "session_activity"]
    hmac_secret: "${env:WEBHOOK_HMAC_KEY}"

7. La App de Escritorio se Convierte en Plataforma — Artifacts, SDK de Plugins, Entrada Rápida

La app de escritorio dejó de ser un cliente de chat y empezó a ser un banco de trabajo:

  • Artifacts: tarjetas versionadas con vista previa en vivo aislada en un panel lateral derecho — HTML o aplicaciones web generadas se ejecutan de forma segura junto al chat
  • SDK de Plugins aterrizó: Kanban como el plugin de escritorio fundacional; ctx.download entrega archivos a los usuarios desde plugins; SDK de widget-app (estado + reducer + render); motor de layout de cuadrícula de widgets con motor de temas consciente del fondo
  • Ventana de entrada rápida con atajo global: captura una idea en cualquier sesión desde cualquier lugar de tu sistema operativo
  • Múltiples ventanas GUI; colocación de paneles flotantes
# Escritorio: Ctrl+Space abre la ventana de entrada rápida global
# Escribe "build me a login page in HTML"
# Hermes lo genera como un Artifact con vista previa en vivo en el panel derecho

El video de reseña de Julian Goldie calificó la vista previa en vivo de Artifacts como la adición de escritorio más importante, transformando “ver código” en “ver resultados”.

8. Oleada CLI para Usuarios Avanzados — Menos Deshacer, Más Control

Una oleada de comandos CLI de alto impacto aterriza, terminando con la era de “cometer un error y empezar de nuevo”:

Comando Qué hace
!command Ejecuta un comando de shell al instante — sin gastar un turno del modelo, resultados inmediatos
/init Escanea tu proyecto, genera o actualiza un archivo de contexto AGENTS.md
/diff Muestra diffs staged / todos / de sesión desde cualquier superficie
/context Muestra exactamente lo que está ocupando tu ventana de contexto
/focus Vista de output reducido con recuperación de líneas ocultas
Ctrl+S Guarda un prompt a medio escribir en un panel navegable
hermes import-agent Migración en un solo comando desde Claude Code o Codex CLI
# Shell rápido — sin consumir presupuesto del modelo
! ls -la && cat package.json

# Ve exactamente qué está consumiendo tu ventana de contexto
/context
# Output:
# System prompt: 12,450 tokens
# Last 3 turns: 2,100 tokens
# Tool definitions: 4,800 tokens
# Active skill docs: 3,200 tokens
# Remaining: 15,450 / 38,000 tokens

# Migrar desde Claude Code — un solo comando
hermes import-agent

AICrier señaló que /context es uno de los comandos de diagnóstico más solicitados — ya no hay que adivinar qué está llenando la ventana de contexto.

9. Corrige al Agente a Mitad de Turno — Redirige en Lugar de Reiniciar

Si Hermes va por el camino equivocado, ya no necesitas hacer /stop, reescribir el prompt y esperar una repetición. Escribe una corrección mientras trabaja y el turno activo se redirige: el trabajo en curso se conserva, el prompt original se mantiene y el agente corrige el rumbo con tu nueva orientación.

Junto con el descarte de borrador con doble ESC y una pila de deshacer del compositor, dirigir a Hermes se siente como editar, no como reiniciar.

# Hermes está ejecutando, y te das cuenta de que va por el camino equivocado
# No hagas /stop — simplemente escribe una corrección:
> Wait, check the Node version first before deciding which package manager to use

# Hermes redirige inmediatamente, conservando el trabajo completado, y continúa

10. Herramientas que se Reparan a Sí Mismas — No Más Turnos Perdidos por Fricción de Herramientas

Un barrido sistemático de mejoras de auto-recuperación significa que el agente desperdicia muchos menos turnos en fricción de herramientas:

  • Output de terminal truncado se vuelca a un archivo que el agente puede volver a leer
  • El comando patch detecta ediciones ya aplicadas y diagnostica discrepancias de espacios en blanco
  • Búsquedas sin resultados buscam coincidencias cercanas y se recuperan
  • write_file verifica el contenido en disco
  • Las clases de fallo comunes devuelven sugerencias de recuperación accionables

El límite predeterminado de iteraciones de llamadas a herramientas también saltó de 90 a 500 — las ejecuciones autónomas largas dejaron de chocar contra un muro artificial.

# Límite de iteraciones de herramientas aumentado drásticamente
# Antes: parada automática tras 90 iteraciones
# Ahora: 500 iteraciones, suficiente para cadenas complejas de múltiples pasos

El análisis de AICrier califica la auto-recuperación de herramientas como una “victoria de productividad silenciosa” — no la notas, pero ahorra de 5 a 10 turnos desperdiciados cada día.


Voz y Habla

Voz Conversacional

  • TTS en streaming, cláusula por cláusula, con barge-in en todas las superficies (modo voz CLI + adaptadores de gateway)
  • Listener de turno full-duplex — interrupción por voz durante la generación Y la reproducción
  • Detección de silencio consciente de actividad, sugerencias de parada, sonidos de pensamiento, correcciones de barge-in
  • Se informa al modelo cuando el usuario interrumpe su respuesta hablada — el contexto se mantiene coherente
  • El escritorio pronuncia el turno completo y vacía la narración retenida en inactividad

Infraestructura TTS / STT

  • Preprocesamiento de texto hablado unificado + parámetros de velocidad/instrucciones/proveedor; resolución unificada de idioma STT (soluciona la clase de error de transcripción en idioma equivocado)
  • STT completamente configurable — categoría en hermes tools, matriz de alternancia en GUI, menús desplegables en dashboard, estado de configuración; soporte para gpt-transcribe de OpenAI
  • Entrega automática TTS adaptada a la plataforma (plataformas opus manejadas correctamente, subtítulos adjuntos)
  • Clasificación/enrutamiento de voz entrante para WhatsApp, Feishu, DingTalk, LINE, QQ, Photon, Weixin
  • Endurecimiento de proveedores TTS/STT por comando (timeouts de inactividad, limpieza de variables de entorno, sin shell, guardas de ruta)
  • Síntesis TTS por oración en pipeline con reproducción — la siguiente oración se renderiza mientras se reproduce la actual
  • Streams PCM de voz de Discord a stdin de ffmpeg en lugar de archivos temporales

Palabras de Activación y Manos Libres

  • Palabras de activación de vocabulario abierto en dispositivo (inscripción de voz, 3 muestras)
  • Enrutamiento de voz multi-perfil — diferentes palabras de activación llegan a diferentes perfiles
  • Di “stop” para finalizar el chat de voz manos libres en cada superficie
  • Oleada de 15 correcciones de UX y entorno para modo voz CLI/TUI

Agente Principal y Arquitectura

Compresión — Inteligente y Suave

  • Poda proactiva de resultados de herramientas para modelos de ventana grande
  • Micro-compactación por turno — coste de compresión amortizado entre turnos en lugar de una gran pausa
  • Cola garantizada de N mensajes de usuario (compression.min_tail_user_messages) — la conversación reciente siempre sobrevive
  • Defensa contra habilidades fantasma — las habilidades podadas nunca pueden acechar silenciosamente una sesión
  • Timeouts conscientes del progreso — los modelos de resumen lentos ya no son penalizados
  • Anulaciones de umbral por modelo; umbral absoluto de tokens (compression.threshold_tokens); compactación opcional activada por inactividad

Las sesiones largas se mantienen coherentes y dejan de estancarse.

Redirecciones a Mitad de Turno

  • Las correcciones del usuario dirigen el turno activo, conservando el trabajo en curso y el prompt original
  • Doble ESC descarta el borrador
  • Pila de deshacer del compositor

Aprobaciones — Más Inteligentes, Menos Clics

  • hermes approvals suggest extrae el historial de aprobaciones en propuestas de lista blanca
  • Política de aprobación inteligente personalizable (approvals.smart_policy)
  • Cortacircuitos de denegación consecutiva — tres denegaciones seguidas fuerzan la parada del bucle
  • Los comandos de redirección del daemon Docker/podman ahora requieren aprobación adicional
  • Comando de modo de aprobaciones entre superficies
  • Aprobaciones de emparejamiento de escritorio: perfil correcto, con una superficie adecuada desde la que responder

Caché de Prompts y Rendimiento de Ruta Crítica

  • Esquemas de herramientas en caché en Anthropic nativo sin pérdida de historial
  • Caché de prompts de DeepSeek en gateways OpenCode
  • Contabilidad de tokens por llamada API fuera del hilo del turno
  • Cliente wire de OpenAI reutilizado entre llamadas LLM secuenciales
  • Canonicalización de llamadas a herramientas en ruta de envío memoizada

Proveedores y Modelos

  • Proveedor Vercel AI Gateway + backend de terminal Vercel Sandbox regresan, modernizados (SDK 0.7.2, telemetría desactivada)
  • Gemini 3.1 Pro + 3.6 Flash en catálogos; clúster de rescate Gemini
  • claude-opus-5 en OpenRouter y Nous Portal
  • deepseek-v4-flash-0731 incorporado
  • Caché de prompts de Bedrock Converse API (cachePoint)
  • Selector de modelos: predeterminados curados + proveedores colapsables + seleccionar todo
  • Cachés obsoletas servidas al instante con actualización en segundo plano

Delegación y Subagentes

  • Metadatos estructurados de timeout/bloqueo + estado en vivo por hijo en /agents
  • Los subagentes pueden usar execute_code
  • Historial de herramientas hijo redactado expuesto en subagent_stop
  • API pública de ciclo de vida de subagentes para plugins

Escritorio — De App de Chat a Plataforma de Desarrollo

Capacidades de la Plataforma

  • Artifacts: tarjetas versionadas + vista previa en vivo aislada en visor de panel derecho
  • SDK de Plugins: Kanban como plugin de escritorio fundacional; ctx.download entrega archivos a los usuarios; SDK de widget-app (estado + reducer + render); motor de layout de cuadrícula de widgets + motor de temas consciente del fondo
  • Ventana de entrada rápida: atajo global → cualquier sesión
  • Múltiples ventanas GUI: sesiones paralelas lado a lado
  • Colocación de paneles flotantes — paneles en cualquier lugar
  • Modo de conexión SSH a backend remoto
  • Deja que el agente controle el shell (panel de vista previa + enfoque de panel) E inspeccione la app de escritorio que está construyendo

Compositor y UX

  • Adjuntar archivos/carpetas/enlaces mediante selector; chips de compositor para @path y enlaces pegados
  • Pila de deshacer del compositor; doble ESC descarta borrador; doble Enter envía turno en cola
  • Cambio de modelo en 2 teclas (⌘⇧M); YOLO en ⌘K con estado de alternancia en vivo
  • Divisores de fecha en barra lateral + sección fijada + auto-archivado opcional de sesiones obsoletas
  • Línea de actividad de herramientas agrupada con actualización en vivo; enlaces @session se resuelven a títulos clicables
  • Reacciones emoji estilo iMessage (opcional, bidireccional); doble clic para corazón
  • Notificaciones de uso de créditos
  • Inicio de sesión nativo de escritorio RFC 8252 (navegador del sistema + PKCE, sin cookies de webview)
  • Alternancia de mantener equipo despierto + indicador de activación en notch

Rendimiento de Escritorio — 60fps Oleada 2

  • Coste de streaming independiente de la longitud de la transcripción — se mantiene fluido sin importar cuánto tiempo lleves hablando
  • 60fps en sesiones reales (pines con reflow controlado, flush adaptativo)
  • 60fps al arrastrar con cinco pestañas en streaming
  • Temporizadores de paneles ocultos pausados, bucles de scroll/estado detenidos en sesiones ocupadas
  • CPU en inactivo cerca de cero en segundo plano
  • Renderizado repetitivo de barra lateral/superposiciones eliminado
  • ⌘K se abre al instante
  • Arranque en frío del renderizador: shiki/mermaid se mantienen fuera de la ruta de inicio
  • Diagnósticos de estado (contadores de renderizado y store) + regla lint que prohíbe referencias reflejadas en átomos
  • Suite E2E con Playwright y diffs de regresión visual

CLI, TUI y Runtime

Comando/Funcionalidad Descripción
!command Shell más rápido — sin gastar turno del modelo
/init Escanear proyecto → generar/actualizar AGENTS.md
/diff Tres vistas de diff — staged / todos / sesión
/context Desglose preciso de la ventana de contexto
/focus Vista de output reducido + recuperación de líneas ocultas
Ctrl+S Guardar un prompt en panel navegable
/goal Indicador de objetivo persistente
hermes import-agent Migración en un comando desde Claude Code / Codex CLI
Clarificar con selección múltiple Interacción con casillas de verificación en CLI/gateway/TUI
Línea de resumen por turno + flujo de tokens en vivo en spinner Progreso transparente
SDK de temas entre superficies Un solo tema para CLI, TUI y escritorio
Arranque en frío hermes -w ~14s → ~1.8s
hermes update sin operaciones 2–6s más rápido
Runtime Node 26 en todos los instaladores; canales brew/pip/PyPI retirados (permanecen instalador shell / Docker / Nix)

TUI: el selector de modelos ya no arruina tu borrador, el menú slash prioriza tus habilidades más usadas, los archivos adjuntos viven en el compositor. Localización árabe (ar) con RTL en escritorio/dashboard/agente.


Gateway, Plataformas y Relay

Nuevas Plataformas

  • Buzz: mensajero basado en Nostr de Block con transporte WebSocket nativo + autenticación NIP-42
  • Photon: encuestas nativas, efectos, clarificar como encuesta, enlaces enriquecidos (rescate de 4 PRs)
  • Proveedor Vercel AI Gateway + backend de terminal Vercel Sandbox regresan
  • Slack: botones nativos Block Kit para clarificar; activadores de reacción opcionales; sanitización de payload saliente
  • Discord: sesiones de hilo automático basadas en prospective_thread_id; referencias de respuesta construidas desde ids
  • WhatsApp: confirmaciones de lectura entrantes configurables
  • Kanban despierta reanuda la sesión DM/hilo del creador; activaciones de kanban/delegado alcanzan sesiones api_server

Paridad de Fase Relay

  • Fase 1: descubrimiento supported_ops, campos de identidad, alias /handoff
  • Fase 2: medios
  • Fase 3: prompts interactivos
  • Fase 4: ciclo de vida de hilos
  • Indicadores de escritura de salida

Sincronización de Habilidades HSP

  • Cliente personal (M1) + cliente de habilidades de organización (M2) + namespace de habilidades de organización con descubrimiento restringido por token

Fiabilidad de Entrega

  • Heartbeats de actividad de sesión, watchdog de estancamiento, esperas de compresión acotadas — re-implementado y endurecido tras un revert en ventana
  • Consolidación de SessionState: 19 diccionarios con clave de sesión → un solo objeto con ámbito de turno/conversación/persistente

Habilidades, Plugins y MCP

Nuevos y Actualizados

  • A2A v1.0: plugin de protocolo Agente-a-Agente (cierra #514)
  • Habilidad grounded-citations: citas de fuentes + modo de verificación de hechos
  • Curator: muestra habilidades no gestionadas + curator adopt
  • Habilidades ofimáticas incluidas: docx, xlsx, pdf + PowerPoint actualizado
  • Continúa la reducción del árbol de habilidades: yuanbao, segment-anything, jupyter, heartmula, audiocraft → habilidades opcionales
  • Habilidad de scripting tldraw-offline
  • simplify-code v1.1

MCP

  • Entrada de catálogo Comfy Cloud con conjunto predeterminado curado de 20 herramientas
  • Inicio perezoso de servidor MCP — desde una caché de esquemas de herramientas en disco con clave de huella digital; los servidores configurados ya no arrancan todos al inicio de sesión
  • Advertencias de espacios en blanco ocultos en configuración MCP
  • Integración de observabilidad NeMo Relay (re-implementada en estable 0.6)

Seguridad y Fiabilidad

Endurecimiento de Credenciales y Secretos

  • Firewall de salida de inyección de credenciales Iron-proxy (re-implementado)
  • Solicitudes fetch seguras con anclaje DNS anti-SSRF + lista blanca de CDN de Slack
  • Redacción estricta en límites de compactación
  • ReDoS eliminado en patrones de redacción de claves de configuración
  • Lecturas de credenciales de nivel 3 delimitadas
  • Pines de dependencias CVE actualizados
  • Oleada de endurecimiento Windows: clase de error de decodificación de subprocesos en modo texto cerrada en todo el repositorio, destellos de consola ocultos, brechas de codificación residuales (MCP stdio, I/O de actualización de gateway, STT/TTS, spawn de escritorio)
  • Fuente de secretos command-helper (compatible con todos los vaults)
  • Paridad de ${env:VAR} SecretRef entre config.yaml y configuración MCP

Integridad de Sesión y Estado

  • Cuatro correcciones de estado de sesión (seguimiento de cierre seguro, corrección de clase flush-cursor, reintento de fila, sanador de PK de uso)
  • Diseño FTS compacto v23 + hermes sessions optimize + FTS con bigramas CJK
  • División de ruta de lectura con conexiones de solo lectura por hilo
  • Endurecimiento del proveedor de memoria OpenViking
  • Pool de credenciales: restauración primaria consciente de reinicio + correcciones de bloqueo de actualización diferida

Actualizar

hermes update

Para nuevas instalaciones:

# macOS / Linux / WSL2
curl -fsSL https://hermes-agent.nousresearch.com/install.sh | bash

# Windows (PowerShell)
iex (irm https://hermes-agent.nousresearch.com/install.ps1)

Si vienes de Claude Code o Codex CLI, la migración es un solo comando:

hermes import-agent

Changelog completo en GitHub

← Hermes Agent Changelog