Hermes v0.20.2: El parche de conexiones — escritorio multi-gateway, instalaciones MCP con un clic y sesiones por terminal

El lunes por la mañana ejecutas hermes update como siempre, la terminal imprime en silencio «Actualizado a v0.20.2» y listo. No cierres la terminal todavía: dentro de este discreto parche se esconde un cambio estructural que la app de escritorio necesitaba desde hace años: por fin ha llegado la era de las múltiples conexiones.
v0.20.2 (etiquetada como v2026.8.16) fusionó ~397 PR y 967 commits en los tres días transcurridos desde v0.20.1, concentrados en tres áreas: la arquitectura de conexiones del escritorio, la experiencia MCP y la reanudación de sesiones en la CLI. Las notas oficiales son, como siempre, breves (la documentación completa llega con v0.21.0), así que esto es lo que de verdad merece tu atención esta semana.
Escritorio: de «una conexión» a «conexiones ilimitadas»
1. Registro multi-conexión: local, remoto, nube y SSH a la vez
La app de escritorio solía tener una única conexión global; llegar a un gateway remoto o a Hermes Cloud implicaba overrides por profile, un sistema enrevesado y propenso a errores. Settings → Connections es ahora un registro de verdad: cualquier número de fuentes de agente con nombre — el runtime local, gateways remotos (LAN / Tailscale / internet público), instancias de Hermes Cloud, hosts SSH — persistidas en un solo lugar, con etiquetas únicas sin distinguir mayúsculas que se imponen al guardar (#86679).
Incluye enrutamiento de pool de backends por (conexión, profile) (#86839), un roster de agentes multi-fuente + SDK (#86875) y facilidades de descubrimiento: una píldora «Connect another Hermes gateway…» fijada en la barra de profiles y una entrada de paleta de comandos ⌘K para Settings → Connections (#87603). Gestionar varias máquinas y gateways ya no significa editar archivos de configuración.
2. Comprobaciones de salud MCP en segundo plano: los tokens caducados te avisan
La caducidad del token OAuth de un servidor MCP solía pasar desapercibida hasta que por casualidad abrías la página de MCP. Ahora el escritorio ejecuta un barrido en segundo plano al conectar el gateway y cada 30 minutos (#87579); cuando un servidor pasa a estado needs-auth (o error), salta un aviso dentro de la app — «GitHub MCP needs re-authentication» — con una acción Sign in que hace deep-link al panel de configuración del servidor, se desplaza hasta él, lo hace parpadear y deja el botón Authenticate a un solo clic. Los servidores stdio quedan excluidos del sondeo en segundo plano, porque cada sondeo es un spawn real.
3. Deep links hermes://: instala servidores MCP desde una página web
Los proveedores de MCP y su documentación ya pueden ofrecer un botón de un clic «Add to Hermes» (#87581). El deep link hermes://mcp/install?name=NAME&config=B64 pasa una validación estricta (el nombre debe cumplir ^[A-Za-z0-9._-]{1,64}$ y el config es JSON codificado en base64url) y un diálogo de confirmación explícito antes de que nada toque tu configuración — replicando el patrón cursor://anysphere.cursor-deeplink/mcp/install de Cursor, pero con un control de seguridad firme.
CLI: la reanudación de sesiones por fin conoce tu terminal
4. Breadcrumbs de terminal: cada panel continúa su propia sesión
Un hermes -c / --continue a secas solía reanudar la sesión más reciente a nivel global — abre dos paneles de tmux, uno depurando un bug y otro diseñando una API, y -c arrastraba a ambos a la misma conversación. Ahora la CLI registra un breadcrumb por terminal (ruta tty, panel de tmux, ventana de kitty, panel de wezterm, panel de Zellij o sesión de Windows Terminal) y reanuda la última sesión de esa terminal concreta (#87346). Los breadcrumbs viven en $HERMES_HOME/terminal-sessions/, se escriben de forma atómica y caducan a los 30 días.
5. chat -c <title> --create-if-missing: créala si no existe
Antes, hermes chat -c "título" sin coincidencias fallaba en silencio; ahora falla ruidosamente por stderr con código de salida 1 y te remite a hermes sessions list o a --create-if-missing (#87706). Con esa bandera, un título inexistente crea una sesión nueva con ese nombre y te deja dentro — dando a scripts y plugins una primitiva determinista del tipo «envía a este hilo con nombre, créalo si hace falta».
Correcciones de generación de imágenes y UX de herramientas
6. El upscaling de imágenes vuelve a ser opt-in
Un cambio del 8 de agosto encadenaba el Clarity Upscaler — un potenciador SD1.5 de tile-diffusion creativo que redibuja el contenido — tras el 100% de las generaciones FAL/Krea de menos de 2MP. El renderizado de texto/CJK de GPT Image 2, la tipografía de Ideogram y los rostros fotorrealistas salían visiblemente degradados (#87883). Ahora el upscaling está desactivado por defecto; pasa upscale: true explícitamente cuando lo quieras.
7. Todas las herramientas se pueden interrumpir con Ctrl+C
Algunas herramientas (generación de imágenes, TTS, transcripción) ignoraban las interrupciones — una pasada de generación FAL + upscale podía retener tu turno durante ~40 segundos. El ejecutor secuencial ahora consulta la bandera de interrupción cada segundo y abandona una herramienta en marcha tras un período de gracia de 3 segundos (#87892); image_generate además aborta su espera FAL en curso de forma cooperativa. Ctrl+C por fin significa lo que dice.
Otras correcciones que vale la pena conocer
- Los usuarios de la terminal Kitty recuperan su teclado: #87074 eliminó el push del protocolo de teclado de Kitty para arreglar Ctrl+C, rompiendo todas las combinaciones de teclas modificadas en kitty; #87511 mapeó 294 secuencias Ctrl/Alt/Shift, y #87630 restauró el push
CSI >1u— ambos problemas resueltos. - Las claves de API de Bedrock por fin llegan: el token solía meterse en
OPENAI_API_KEYcon unprovider: customa secas, así que las peticiones salían realmente conapi_key="no-key-required"; ahora se escribe como un provider con nombre (custom:bedrock-mantle+key_env) y se entrega correctamente (#87191). /statusya no desempareja providers: en sesiones con fallback multi-provider,/statuspodía emparejar un modelo con el provider/URL base de otra ruta (GLM servido por NVIDIA NIM se mostraba comonous); las rutas persistidas ahora son coherentes (#87271).- Las listas deshabilitadas por fin funcionan:
skills.disabledyagent.disabled_toolsetsguardados conhermes config setcomo cadenas de arrays JSON se trataban como nombres únicos y llevaban meses muertos en silencio; las formas de cadena["a","b"]ahora se parsean correctamente (#86873). - Los turnos en streaming de /loop se completan: los turnos
already_senten streaming ahora terminan su tick de /loop correctamente (#87704) — combina muy bien con nuestra guía del comando /loop.
Cómo actualizar
hermes update
Tras actualizar, ejecuta hermes doctor para verificar la instalación, reinicia el gateway (hermes gateway) y echa un vistazo a Settings → Connections para ver el nuevo registro multi-conexión.
Los detalles más profundos están en nuestras notas de la versión v0.20.2; las victorias ocultas del parche anterior están en 13 victorias de eficiencia de v0.20.1, y las inmersiones en la configuración de MCP, en la guía de variables de contexto de MCP.