v0.17.0

Hermes Agent v0.17.0 — La Versión del Alcance


Resumen

v0.17.0 — La Versión del Alcance. Publicada el 19 de junio de 2026. ~1.475 commits · ~800 PRs fusionados · 1.693 archivos modificados · 235.390 inserciones · 50.730 eliminaciones · más de 300 incidencias cerradas · 245 colaboradores de la comunidad.

v0.16.0 puso a Hermes en tu escritorio. v0.17.0 trata sobre hasta dónde llega ese alcance — a través de nuevos lugares para hablar con él, más profundamente en las herramientas que ya usas, y hacia las personas que ejecutan Hermes para un equipo. Llegaron dos nuevos canales de mensajería (iMessage vía Photon, red de agentes Raft). La aplicación de escritorio se profundizó sustancialmente. Los subagentes ahora pueden ejecutarse en segundo plano. La generación de imágenes aprendió a editar. El modelo Composer de Cursor es accesible a través de una suscripción a xAI Grok. El panel de control recibió un constructor de perfiles completo e inicio de sesión seguro. El Skills Hub fue renovado por completo. La herramienta memory recibió operaciones atómicas por lotes. Y el curador dejó de gastar presupuesto de modelos auxiliares en ejecuciones rutinarias. Además de una ronda de seguridad y más de 300 incidencias cerradas.


Funcionalidades Principales

1. iMessage vía Photon Spectrum — Sin Necesidad de un Relay en Mac

Hermes ahora habla iMessage a través del pool de líneas gestionado de Photon. Sin una Mac en un armario ejecutando un relay, sin un puente BlueBubbles que mantener.

# Autentícate con OAuth de código de dispositivo
hermes photon login

# Hermes ya está en iMessage — canal nativo gRPC (sin webhook)
# Renderizado Markdown, reacciones emoji, medios salientes vía spectrum-ts

Construido sobre un canal nativo gRPC sin dependencia de webhook, con soporte para renderizado Markdown, reacciones emoji y medios salientes. Se posiciona como el sucesor de BlueBubbles: gratuito para empezar, sin nada que autoalojar. Si tus amigos y familiares viven en burbujas azules, Hermes también vive allí ahora. (#32348, #42582, #44713)

2. Raft — Hermes Se Une a la Red de Agentes

Un nuevo adaptador de plataforma Raft incluido permite que Hermes se conecte a Raft como un agente externo a través de un puente de canal de activación. Configura RAFT_PROFILE, ejecuta el puente, y Raft puede despertar a Hermes para manejar mensajes — con un diseño de privacidad por contrato donde los payloads de activación solo contienen metadatos (IDs de evento, marcas de tiempo), nunca cuerpos de mensaje. (#48210)

export RAFT_PROFILE=my-hermes-agent
hermes raft bridge

3. Una Aplicación de Escritorio Sustancialmente Más Capaz

v0.16.0 lanzó la aplicación de escritorio; v0.17.0 la profundizó a través de docenas de PRs. El escritorio ahora es una herramienta de uso diario seria.

Atajos de teclado reconfigurables y notificaciones nativas del SO con interruptores por tipo.

Ventanas de observación de subagentes en vivo:

Cuando delegas una tarea, un panel dedicado transmite la actividad
del subagente en tiempo real — llamadas a herramientas, resultados, progreso.
Puedes ver lo que está haciendo sin cambiar de contexto.

Selector de modelo del Composer con preajustes por modelo — muestra cada proveedor/modelo de hermes model en la interfaz gráfica. Dirección de texto RTL/bidi automática. Un panel de terminal redimensionable con tema de VS Code. Borradores del composer por hilo.

Instala cualquier tema del Marketplace de VS Code directamente en la aplicación — asignable por perfil. Control deslizante de translucidez de ventana. Sistema de diseño de superposición unificado.

Funcionalidades adicionales del escritorio:

  • Cambiador de sesiones estilo Mac (^Tab / ^1-9)
  • Historial con teclas de flecha + edición de cola en el composer
  • Expandir comando completo en línea desde la barra de aprobación
  • Seguir transmisión al final + botón de saltar al final
  • Tareas cron de primera clase en la barra lateral
  • Agrupación de barra lateral consciente de worktrees
  • Revelación al pasar el cursor en barras laterales colapsadas
  • Carpetas de origen de mensajería en la barra lateral
  • Mascotas de escritorio — superposición emergente + notificaciones
  • Cambio de idioma a japonés + chino tradicional
  • Acción “Reiniciar gateway” en la barra de estado

Mejoras del gateway remoto:

  • Relay de medios remoto — adjuntar imágenes/PDFs y mostrar imágenes generadas por el agente a través de la red por primera vez
  • Archivos adjuntos remotos vía file.attach
  • Botones de versión del cliente y backend con flujo de actualización remota
  • Explorar archivos del backend remoto
  • Recuperar chat después de suspender/reactivar revalidando el backend remoto obsoleto

4. Subagentes en Segundo Plano / Asíncronos — Delega Trabajo y Sigue Adelante

delegate_task(background=true) despacha un subagente que se ejecuta en segundo plano y devuelve un identificador inmediatamente. Tú y el modelo siguen trabajando mientras él procesa, y el resultado completo vuelve a entrar en la conversación como un nuevo turno en el momento en que termina.

# Delegación en segundo plano — no bloqueante
/delegate_task "Investiga todo el panorama competitivo" --background

# Tú sigues trabajando. Cuando el subagente termina, los resultados llegan como un nuevo turno.

No más quedarse bloqueado esperando una investigación larga o una compilación de varios pasos. Lánzalo y continúa. (#40946, #46968)

5. Edición de Imagen a Imagen — No Solo Generación

image_generate ahora puede editar y transformar una imagen de origen, no solo crear una desde cero. Pasa una imagen existente y un prompt — se enruta al endpoint de edición del backend en todos los proveedores de imágenes compatibles.

# Editar una imagen existente
image_generate --source logo.png --prompt "Haz este logo azul y añade un fondo con degradado"

# "Elimina el fondo", "convierte este boceto en un render" — todo desde una sola herramienta

Misma herramienta, mismo patrón que video_generate. (#48705)

6. Planos de Automatización — Programa Sin Aprender Cron

Elige una automatización por nombre y Hermes te pregunta lo que necesita — sin sintaxis cron, sin escribir slot=valor. Una definición de plano se renderiza de forma nativa en cada superficie: un formulario en el panel, un comando slash en CLI/TUI/mensajería, una conversación con el agente, una entrada en el catálogo de documentación.

# Programación sin cron
/hermes automation create "Resumen diario de noticias a las 8am"
# Hermes pregunta: ¿qué fuentes? ¿qué formato? ¿algún filtro?
# Hecho. Sin "0 8 * * *" por ningún lado.

“Resumen diario de noticias a las 8am” se convierte en algo que configuras respondiendo preguntas, no memorizando sintaxis cron. (#41309)

7. El Modelo Composer de Cursor — A Través de Tu Suscripción a xAI Grok

grok-composer-2.5-fast ahora está en el selector de modelos OAuth de xAI, con su ventana de contexto reconciliada a los 200k completos. Composer es el modelo rápido de codificación detrás de Cursor — y si tienes una suscripción a xAI Grok, ahora puedes apuntar Hermes directamente a él a través de OAuth, sin clave API separada.

/hermes model:xai/grok-composer-2.5-fast

Tu plan Grok, el bucle de agente de Hermes, la velocidad de codificación de Composer. (#47908)

8. Constructor de Perfiles Completo en el Panel de Control

Construye un perfil completo de Hermes desde el navegador — elige su modelo, selecciona sus habilidades, adjunta sus servidores MCP — sin editar manualmente config.yaml. El panel unificó la gestión multiperfil en una vista global de toda la máquina con un cambiador de perfil global. (#39084, #44007)

9. Renovación del Navegador del Skills Hub

El Skills Hub del panel recibió una reconstrucción completa: hubs conectados, una sección Destacados, vistas previas completas de habilidades antes de la instalación y un escaneo de seguridad en cada habilidad. Navegar e instalar habilidades desde taps de confianza (OpenAI, Anthropic, HuggingFace, NVIDIA) ahora es una verdadera experiencia de navegación, no una lista plana. Además, un editor SKILL.md en la página de Skills y un selector de adjuntar habilidad en los modales de cron. (#40384, #43398)

10. Herramienta de Memoria — Operaciones Atómicas por Lotes

La herramienta memory incorporó un array operations que aplica un lote de ediciones add/replace/remove atómicamente contra el presupuesto final de caracteres. El modelo puede liberar espacio y añadir nuevas entradas en una sola llamada — incluso cuando una adición por sí sola desbordaría el presupuesto.

{
  "operations": [
    { "action": "remove", "key": "old-deprecated-fact" },
    { "action": "add", "key": "new-important-fact", "value": "..." },
    { "action": "replace", "key": "updated-fact", "value": "..." }
  ]
}

Lo que antes era una frágil danza de varios turnos ahora es una operación confiable. (#48507)

11. API Oficial de WhatsApp Business Cloud

Junto al puente Baileys existente, Hermes ahora habla la API oficial de WhatsApp Business Cloud — la ruta de primera parte de Meta, alojada, sin proceso de puente. Apúntala a tus credenciales de Business API y Hermes habla WhatsApp a través del canal soportado, sin ningún proceso de puente con escaneo QR que mantener vivo. (#44331, #43921)

12. Texto Enriquecido para Telegram — Bot API 10.1

Las respuestas de Telegram ahora se renderizan como mensajes enriquecidos adecuados a través de Bot API 10.1: mejor formato, manejo más limpio de mensajes largos, marcado nativo en lugar de texto plano. Siempre activo con opción de desactivación. Además, indicador de estado del bot Online/Offline opcional. (#44829, #45584)

13. Optimización de Costos del Curador — Cero Tokens en Ejecuciones Rutinarias

El curador de habilidades ahora elimina habilidades obsoletas por defecto, pero ya no ejecuta su pase de consolidación impulsado por LLM a menos que lo actives (curator.consolidate: true o hermes curator run --consolidate). El barrido determinístico de inactividad sigue ejecutándose gratuitamente; la rama de “construir habilidades paraguas” que gasta modelos auxiliares ahora está desactivada por defecto. La curación rutinaria en segundo plano te cuesta cero tokens. (#47840)


Refactorización de Archivos Monolíticos — Gran Impulso de Calidad de Código

Esta versión incluyó una de las refactorizaciones más grandes en la historia de Hermes, descomponiendo tres archivos monolíticos en módulos enfocados:

Archivo Antes Después Lo que se extrajo
cli.py main() 3.297 líneas 954 líneas 28 analizadores de subcomandos → hermes_cli/subcommands/; 32 manejadores de comandos slash → CLICommandsMixin; 18 funciones del asistente de flujo de modelos → model_setup_flows; clúster de construcción de agente → CLIAgentSetupMixin
gateway/run.py 19.157 líneas 15.870 líneas 42 manejadores de comandos slash → GatewaySlashCommandsMixin; clúster de autorización → GatewayAuthorizationMixin; bucles de observación kanban → GatewayKanbanWatchersMixin
Bucle de turno run_agent.py Prólogo extraído en TurnContext; cola post-bucle en finalize_turn; flags de recuperación de reintento consolidados en TurnRetryState

Nuevas Herramientas y Comandos Integrados

Herramienta / Comando Descripción Uso
/version Mostrar la versión actual de Hermes /version
/billing Vista interactiva de facturación en terminal (TUI + CLI) /billing
image_generate (editar) Edición de imagen a imagen en todos los backends image_generate --source img.png --prompt "hazlo azul"
memory (ops. por lotes) Array atómico add/replace/remove contra presupuesto de caracteres Ver ejemplo JSON en la Funcionalidad Principal 10
search_files (densificado) Densificación sin pérdida — menos tokens por resultado, mismas coincidencias search_files --pattern "*.py"
read_file (notebooks) Extrae .ipynb/.docx/.xlsx a texto read_file notebook.ipynb
file.attach Archivos adjuntos en gateway remoto file.attach ./informe.pdf
Planos de Automatización Programación sin cron mediante plantillas con nombre hermes automation create "Resumen diario"
write_approval Puerta booleana que reemplaza el write_mode triestado para escrituras de memoria/skills Config: write_approval: true
session:compress Evento de ciclo de vida del plugin en compresión de sesión Hook de plugin
Plugins Hub (TUI) Superposición interactiva de activar/desactivar Superposición TUI

Soporte de Proveedores y Modelos

  • Nuevos modelos: z-ai/glm-5.2 (contexto verificado de 1M), anthropic/claude-fable-5, laguna-m.1 + nemotron-3-ultra, xAI Composer 2.5 en selector OAuth
  • Selector de modelos: Control Refresh-Models para invalidar caché obsoleta; persistir modelos recomendados de Nous en disco; sembrar caché de disco del catálogo desde checkout en actualización; MiniMax-M3 reporta contexto real de 1M
  • Modelos adaptativos de Anthropic: predeterminados al contrato de thinking moderno; nunca enviar campo reasoning; enrutar reasoning_effort a verbosidad; requerir confirmación para selecciones muy costosas
  • Mejoras de autenticación: autodetectar credencial de OpenRouter desde pool; mantener distintas las cuentas del pool OAuth de Codex; resolver xAI OAuth entre perfiles; respetar model.default_headers para proveedores personalizados
  • Bedrock: recurre a InvokeModel sin streaming cuando IAM deniega la variante con streaming
  • Ollama: max_tokens=65536 por defecto; mostrar rechazos del modelo como content_filter

Mejoras en la Arquitectura Central

Bucle del agente y herramientas:

  • Densificación sin pérdida de search_files — menos tokens por resultado, mismas coincidencias
  • Eliminada la herramienta send_message invocable por el agente (consolidación)
  • Postura de contexto de codificación en CLI/TUI/escritorio/ACP
  • Manejo de archivos de contexto: límite de truncamiento configurable + advertencias; escalar a la ventana del modelo
  • Compresión: anclaje temporal en resúmenes de compactación; elevar disparador al 85% para gpt-5.5 en Codex OAuth
  • Middleware adaptativo (consumido por telemetría de observador NeMo-Relay); dirección utilizable a mitad de turno

Sesiones, estado y multiagente:

  • Límite máximo de sesiones opcional; eliminar sesiones vacías al salir de CLI
  • Metadatos de procedencia de sesión ACP para rotación de compresión
  • Delegación: resolver pools de subagentes de endpoint personalizado por identidad de endpoint; eliminar timeout de reloj predeterminado
  • Kanban: autosuscripción controlada por configuración en kanban_create; bloqueo singleton global de máquina para dispatcher embebido; fijar conjuntos de herramientas de perfil asignado para workers
  • Memoria: Hindsight configurable para retener ámbitos de observación; UX de configuración de OpenViking; árbol de identidad controlado por gateway de Honcho; ingesta a nivel de sesión de Supermemory

Plataformas de Mensajería

Nuevos canales:

  • iMessage vía Photon Spectrum — OAuth de código de dispositivo, nativo gRPC, sin webhook
  • WhatsApp Business Cloud API — oficial, sin proceso de puente
  • SimpleX — grupos, archivos adjuntos nativos, procesamiento por lotes de texto, autoaceptación
  • Raft — plugin de plataforma incluido con hooks de actividad

Núcleo del gateway y renderizado:

  • Llamadas a herramientas de terminal renderizadas como bloques de código bash nativos en plataformas markdown
  • Marcas de tiempo de mensajes opcionales para contexto del LLM
  • tool_progress_grouping configurable

Mejoras por plataforma:

Plataforma Mejora
Telegram Mensajes enriquecidos Bot API 10.1 (siempre activos); indicador de estado Online/Offline; respuestas largas transmitidas ya no se cortan; MarkdownV2 en ediciones de progreso
Discord Propagación de role_authorized para DISCORD_ALLOWED_ROLES; recuperación de salidas de tareas del gateway en tiempo de ejecución; dejar de escribir después de respuestas
Slack Ámbito de mensajes de canal de nivel superior cuando reply_in_thread=false; UX de aprobación en hilos; archivos adjuntos de video disponibles para agentes; API de plugin register_slack_action_handler
Signal/Email/Teams Archivos adjuntos de documentos clasificados correctamente; medios respondidos incluidos
WhatsApp Reinicia procesos de puente obsoletos
Matrix Aislamiento de contexto de sala
QQbot Corrección de CPU-spin
Weixin Cortacircuitos de límite de velocidad

CLI, TUI y Configuración

  • Comando slash /version; /billing de facturación interactiva en terminal
  • Mostrar tiempo desde la última respuesta final del agente en la barra de estado
  • Persistir prompts de aprobación/aclaración resueltos en el historial
  • Bloquear worktrees de Hermes para que procesos concurrentes no los corrompan
  • Clonar perfiles desde cualquier origen
  • Ruta de construcción de perfil estructurada opcional en el primer contacto
  • Sugerencias de sistema configurables por plataforma
  • Notificaciones de memoria/habilidades en segundo plano configurables
  • TUI: superposición interactiva de activar/desactivar Plugins Hub; nombre de sesión en la barra de título del terminal; envolver comandos de aprobación largos en lugar de truncarlos
  • TTS: prompts de persona Gemini + etiquetas de audio; etiquetas de voz automáticas xAI + velocidad/streaming; speaker_id de Piper; OGG para auto-TTS de Telegram

Sistema de Herramientas, Skills y MCP

  • Edición de imagen a imagen en image_generate en todos los backends; auto-reducir a los límites de dimensión del proveedor
  • MCP: servidor MCP oficial de Unreal Engine 5.8 en el catálogo; manejador de elicitación para que los servidores MCP puedan solicitar confirmación a mitad de llamada (pago/OAuth) en cualquier superficie que posea la sesión; exponer herramientas MCP de conexión tardía entre turnos; ping de keepalive para sesiones HTTP de TTL corto; bloquear configuraciones stdio sospechosas/con forma de exfiltración; control de capacidad en tools/list
  • Skills: habilidad simplify-code (revisión y limpieza de código en paralelo con 3 agentes) con aplicación por niveles de riesgo; encontrar y mostrar diferencias en habilidades incluidas modificadas por el usuario; habilidades de pagos opcionales (Stripe Link, MPP, Projects); progreso de navegación en vivo por fuente
  • Plugins: instalar desde subdirectorio dentro de un repositorio; aceptar URLs de GitHub pegadas desde el navegador en hermes plugins install; evento de ciclo de vida session:compress + thread_id/chat_type en contexto del agente
  • Puerta de aprobación de escritura de memoria/skills (desactivada por defecto) — booleano write_approval reemplaza el write_mode triestado

Flota, Relay y Automatización

  • Ámbito gestionado — configuración y secretos fijados por administrador, inmutables para el usuario, desde /etc/hermes propiedad de root
  • Multiplexar todos los perfiles en un solo proceso de gateway (opcional)
  • CronScheduler conectable + proveedor de cron gestionado Chronos (scale-to-zero)
  • Relay Gateway-Gateway (fases 0-3): adaptador de relay + descriptor de capacidad, autenticación de canal connector⇄gateway + HTTP entrante firmado, solo entrante WS, cliente de autoprovisión de arranque gestionado

Docker, Nix e Instalador

Docker:

  • s6: detectar supervisor directamente para reinicio del gateway; registrar gateways de perfil sin inicio automático; limpiar bloqueos de registro obsoletos
  • Optimizar tamaño de imagen (.dockerignore, eliminar dependencias de desarrollo, dividir capas); preinstalar dependencias de matrix; gateway supervisado usa --replace; endurecer árbol de instalación alojado

Nix:

  • Correcciones de compilación npm en frío + flujo de trabajo auto-fix-lockfiles
  • Dependencias npm sin hash vía importNpmLock
  • Actualizar npmDepsHash tras fijar Electron 40.10.2

Instalador:

  • Limpiar índice git no fusionado antes de autostash
  • Limitar sello de método de instalación al árbol de código

Windows

  • Pestaña /chat del panel vía ConPTY (win_pty_bridge)
  • Resolver host de PowerShell en lugar de powershell simple para instalación uv
  • Resolver powershell.exe por ruta absoluta para que la instalación de escritorio no se detenga
  • Reparar registro winget obsoleto + refrescar/fusionar PATH
  • Matar hermes antes de recrear venv para liberar bloqueo de _bcrypt.pyd
  • Leer HERMES_HOME del registro cuando el entorno está obsoleto
  • Fiabilidad del observador de ruptura JOB + sondeos de estado --deep
  • Decodificar salida de subproceso como UTF-8

Seguridad y Fiabilidad

  • Fallo cerrado en adaptadores de gateway de política propia
  • Fallo cerrado para autenticación de botón de aprobación en Slack/Feishu/Discord cuando no hay lista de permitidos configurada
  • Redactar secretos en volcados de depuración de peticiones; ocultar metadatos del host del estado público
  • Bloquear configuraciones stdio de MCP sospechosas/con forma de exfiltración antes del sondeo
  • Cerrar bypass de lista de denegación de escape de shell + fallo cerrado en módulo de aprobación faltante
  • Limpiar entorno del operador antes de lanzar MCP cua-driver
  • Sanitizar entorno para subprocesos de scripts de trabajos cron
  • Limitar longitud/cantidad de contenido de TodoStore
  • Escanear prompts de cron REST para paridad con herramienta del agente
  • Actualizar urllib3 y PyJWT para resolver CVEs
  • Langfuse redacta URIs de datos base64

Correcciones de Errores Notables

  • Codificar porcentualmente componentes de URL no ASCII
  • Sanitizar : en consultas FTS5 para que búsquedas con dos puntos no devuelvan silenciosamente vacío
  • Preservar contenido multimodal del usuario a través de persistencia de resistencia a fallos
  • Aplanar contenido multimodal antes de sincronización con el proveedor
  • Reingresar al bucle de reintento en 429 genuino de Nous para que la protección de fallback se ejecute
  • Limitar etiquetas de Nous a llamadas auxiliares de Nous
  • Cron: no escanear estrictamente la salida inyectada por script en trabajos sin skills
  • Cron: resolver “custom” de proveedor por trabajo a providers.custom
  • Cron: reparar propiedad de cron en reinicio de contenedor

(Más de 300 incidencias cerradas en esta ventana — la lista completa de correcciones por área es exhaustiva.)


Revertido en Esta Ventana

  • Habilidad html-artifact + pliegue sketch/architecture-diagram/concept-diagrams (#48899) — revertido (#49053)
  • Soporte de perfil por trabajo de cron revertido (#43956)
  • Solución alternativa de patchPhase de Nix revertida (#42151)

Actualizar

hermes update

Para nuevas instalaciones, visita la guía de instalación.


Changelog completo en GitHub

← Notas de versión