v0.22.7 al descubierto: cuatro cambios que notarás hoy dentro de un parche de 174 PRs


Un jueves por la tarde estás a punto de desplegar la última compilación en unas cuantas máquinas del equipo. Abres la nota de la versión y te encuentras con un párrafo y una línea que avisa de que el resumen completo llegará con v0.23.0. Lo que necesitas saber es mucho más concreto: si cambiará el trabajo diario de tus compañeros, qué falta en este tag y si conviene actualizar ya o esperar.

Este artículo responde a esas tres preguntas para v0.22.7. Publicada el 3 de noviembre de 2026, es una versión puramente correctiva cuya misión es convertir la cola de fusiones acumulada desde v0.22.6 en un número de versión que puedas instalar, revertir y fijar en un manifiesto de despliegue.

El tamaño de la ventana

Las mediciones publicadas se tomaron en el commit b200f5bc60e:

  • 174 PRs fusionadas
  • 581 commits sin fusión repartidos en 554 archivos modificados, +24.012 / −3.144 líneas
  • 29 issues cerradas

Es un orden de magnitud menos que el resumen anterior: v0.22.6 empaquetó 776 PRs y 3.448 commits. La intención es clara: no es otra versión de funcionalidades, sino un punto estable tras dos semanas de correcciones. La nota deja claro que la documentación completa y curada de todo lo publicado desde v0.22.0 llegará con v0.23.0, y que nada de esta ventana se queda fuera.

Más allá de las cifras, estos son los cambios que de verdad te afectan.

Lo que ya está en este tag

1. Web Access Start ahora indica en qué paso está

Al pulsar Start en el panel de Web Access de escritorio se hacen tres cosas en una sola petición: compilar la webapp (minutos la primera vez), registrar el inicio de sesión de Nous y reiniciar el gateway. Antes el panel mostraba un único «Starting» durante todo el proceso, así que una compilación de varios minutos parecía bloqueada, y volver a abrir el panel a mitad del proceso te ofrecía otro botón Start, como si el primer clic se hubiera perdido.

Ahora el panel nombra el paso —compilando, configurando el inicio de sesión, reiniciando— y cuenta cuánto lleva en marcha Start. El backend sigue el progreso por gateway como start_progress en /api/webapp-access/status, y por eso un panel reabierto o una segunda ventana muestran el mismo estado; el panel relee ese estado una vez por segundo solo mientras su petición de Start está pendiente y la ventana está visible. Si el backend es antiguo y no tiene el campo, no se consulta en absoluto.

Si alguien de tu equipo ha descrito el primer Start como «parecía que se había colgado», esta versión elimina las conjeturas.

2. Los trabajos programados pueden publicar en un Group Chat

Las salas de grupo de Bot Mode ya son un destino de entrega real. El campo deliver de un trabajo cron acepta:

deliver: room:<room_id>@<profile>

La salida llega a la sala como un único mensaje etiquetado con el nombre del trabajo y una etiqueta Scheduled. Lo importante es la regla de activación: solo los bots a los que mencionas con @ participan. Una publicación programada que no nombra a nadie se queda como mensaje en la sala y no lanza ninguna llamada al modelo; @all se dirige a todos. También se publica un aviso de fallo, que nunca inicia una ronda.

Las salas también incorporan dos campos que cada miembro ve al principio de su turno, editables desde Room settings:

  • Purpose — para qué sirve la sala, hasta 500 caracteres
  • Shared notes — hasta 4 KB

Escribe «esta es la sala de operaciones, mira primero la hoja de guardia» una vez en lugar de repetirlo en cada mensaje.

El mismo lote añadió el lead routing, opcional por sala: cuando un mensaje no nombra a nadie, un bot líder decide quién debe atenderlo y la sala muestra una línea discreta como ada gave this to linus, para que veas la elección y puedas corregirla. Los valores por defecto no cambian: las salas sin líder siguen con el turno rotatorio en serie en el que responde todo el mundo. Si en tu equipo cinco o seis bots de una misma sala se lanzan sobre cada mensaje, merece la pena probar este interruptor.

Las salas de grupo también adoptan el diseño de chat nativo: una sola columna, con el estado en vivo de cada miembro visible en la lista en lugar de tener que adivinarlo.

3. La tarjeta de Telegram apunta a una configuración que funciona en Team Gateway

Si ejecutas Telegram sobre un Team Gateway, la tarjeta de Hermes Cloud solía llevarte a un flujo de configuración de una sola máquina que moría en los permisos. Ahora apunta al vínculo de cuenta del Portal, que funciona con Team Gateway. Es un cambio pequeño, pero era un bloqueo total para el modelo de despliegue con bot compartido.

Lo que sigue solo en main

Esta es la parte que duele en las actualizaciones: un PR fusionado en GitHub no significa que el cambio esté en el tag que acabas de instalar. Varias correcciones llegaron a main después de cortar v0.22.7 y esperarán a la próxima versión:

  • Avisos de seguridad de dependencias — se resuelven las alertas de undici, zod, fast-uri, qs, pypdf y pyasn1 que cumplían el umbral de antigüedad para la versión.
  • Barra final en el emisor de OAuth de MCP — los inicios de sesión con emisores que solo se diferencian por una barra final (Otter.ai entre ellos) ahora se completan.
  • Nuevos chats en escritorio remoto — las conexiones de ticket público fallaban en cada chat nuevo con Session unavailable / invalid_params, porque la vía canónica de autoridad de sesión solo se elegía cuando la URL llevaba el marcador privado native_dial, aunque el gateway ya anunciaba session_authority: true en gateway.ready. La corrección negocia a partir de ese anuncio.
  • Una biblioteca de skills más pequeña — se retiran siete skills opcionales y los repositorios de proveedor de Notion, Airtable y Shopify pasan a ser fuentes de confianza.
  • Ventanas minimizadas en el escritorio — menos trabajo de streaming mientras está minimizada, vistas previas inactivas limitadas y detección de voz que sigue funcionando cuando la ventana no está visible.

Para comprobar si un PR está en la compilación que ejecutas, compara la ascendencia con el tag en lugar de fiarte de las marcas de tiempo de fusión:

git fetch --tags origin
git merge-base --is-ancestor <merge_commit_sha> v0.22.7 && echo "in tag" || echo "main only"

Cómo actualizar

Elige la línea que corresponda a tu instalación:

# CLI / instalador
hermes update

# Docker / Hermes Cloud
docker pull nousresearch/hermes-agent:stable

# Aplicación de Microsoft Store
# se actualiza desde la Store, no con este tag

Las compilaciones de escritorio instaladas desde el .exe / .dmg no incluyen cambios en esta versión y se mueven con la próxima versión empaquetada.

Haz una instantánea primero, sobre todo en Windows: no porque una versión correctiva sea arriesgada, sino porque el actualizador toca state.db, y una instantánea convierte una mala sorpresa en una aburrida:

hermes backup --quick

¿Actualizar ahora o esperar una semana?

Tres decisiones rápidas:

  • Usas Web Access o salas de Bot Mode: actualiza. Las dos diferencias se notan a diario.
  • Tienes una instalación de CLI con un solo agente, sin salas ni escritorio remoto: esperar una versión es razonable, y recoges las correcciones que solo están en main de una vez.
  • Mueves tráfico de modelos detrás de un proxy que inspecciona TLS: espera y lee antes nuestro análisis de la regresión de SSL_CERT_FILE, porque esa afecta a todas las llamadas al modelo.

Un número de versión es solo empaquetado. Lo que decide si actúas hoy es si esta ventana tocó los botones que pulsas cada mañana.

Para seguir leyendo: el desglose de la ventana de v0.22.6, la guía de chat de grupo de Bot Mode, todas las versiones, instalación y actualización.