Hermes Agent v0.22.0
Overview
v0.22.0 — The Threshold Release. Publicado el 13 de octubre de 2026. Desde v0.21.0: ~24,200 commits · ~6,080 PRs fusionados · ~15,600 archivos modificados (+2,045,000 / −1,140,000) · ~7,180 issues cerrados · ~2,520 colaboradores.
Hermes era el dios de los umbrales: la puerta, el cruce, la piedra que marca el límite. La v0.21.0 reunió el panteón; la v0.22.0 va de atravesar la puerta. Una instalación nueva de escritorio abre ahora en un chat de configuración guiado que funciona sobre un modelo de prueba gratuito, así que quien llega por primera vez ya está hablando con Hermes antes de tener una API key. Los Connectors llevan al agente hasta las aplicaciones que ya usas, sin necesidad de cuenta para empezar. Los modelos locales lo traen a tu propio hardware con un runtime llama.cpp de un clic. Y el umbral en sí quedó más sólido: versiones estables SemVer probadas que las instalaciones siguen por defecto, paquetes de escritorio firmados (incluida la Microsoft Store) y un único gestor de paquetes debajo de todo. Alrededor de esa columna vertebral: un catálogo de 600 plugins, la oleada de modelos Claude 5.5 / GPT-6, inicio de sesión en el navegador con gestor de contraseñas, una pantalla de bot que puedes tomar, un backend y un gateway para cada perfil, y una base de código un tercio más pequeña.
Esta es la ventana más grande que Hermes ha publicado, unas 2.5 veces el ciclo de v0.21.0, y agrupa y documenta por completo las versiones de parche v0.21.1–v0.21.7.
Puntos Destacados
1. Un primer arranque que se configura solo
Abre la app de escritorio en un ordenador donde nunca has usado Hermes y arranca un breve chat de configuración en lugar de una pantalla de ajustes. Tarjeta a tarjeta te pregunta tu nombre, un color de acento y un diseño, qué aplicaciones conectar y qué plugins instalar; después te da un recorrido rápido y te propone hasta cuatro primeras tareas elegidas para ti. Funciona sobre un modelo de prueba gratuito (nous/welcome, una vez por usuario del sistema), así que no necesita ninguna key; Skip setup lo termina y Settings → Run onboarding again lo recupera. El agente también ganó set_theme, así que “ponlo violeta, modo oscuro” funciona en cualquier chat de escritorio (#137429, #137522, #137807, #134209, #105258).
2. Connectors: Hermes trabaja dentro de tus aplicaciones
A través del gateway de herramientas de Nous, el agente puede ahora actuar en aplicaciones alojadas como Linear y Notion: pide una aplicación, inicia sesión una vez en tu navegador y sus herramientas quedan disponibles en el mismo turno. No necesitas una cuenta de Nous para empezar; la primera vez que usas una aplicación, Hermes crea una identidad gratuita solo para connectors. El escritorio tiene una nueva página Connectors que reúne las aplicaciones alojadas y tus servidores MCP en una sola lista (sustituye a la pestaña MCP), la misma tarjeta de configuración aparece en el TUI y el CLI, y puedes conectar varias cuentas con nombre de una misma aplicación (una cuenta work y otra home) y gestionarlas con /connectors o hermes connectors (#106842, #111008, #119074, #135143, #135072, #135097, #135151, #135173, #137426).
3. Modelos locales en un clic
Hermes puede ahora ejecutar modelos abiertos enteramente en tu máquina, sin que nada salga de ella: ni cuenta, ni API key. Instala y mantiene llama.cpp con el motor adecuado para tu hardware (CPU, CUDA, Metal, Vulkan o ROCm), puntúa cada modelo del catálogo según tu GPU y tu RAM, y elige la compilación de mayor calidad que quepa. Las descargas se pausan y se reanudan, el servidor arranca y se detiene con Hermes, y las actualizaciones del motor son de un clic. Empieza desde Settings → Providers → Local Models en Windows, macOS y Linux, o desde hermes model → Local models en una terminal. El catálogo incluye Qwen3.8 27B, Qwen3.8 Flash Next (con su cabeza especulativa MTP), Qwen3.6 35B-A3B y DeepSeek V4 Flash, además de cualquier GGUF de Hugging Face (#100667, #101823, #128768, #111423, #133111, #134116).
4. Canales de versiones estables
Hermes ahora publica versiones SemVer probadas. Cada release pasa por el CI del código fuente, Docker, Nix, compilaciones de escritorio firmadas y ejecuciones de instalación/actualización en todos los sistemas operativos antes de publicarse, y las instalaciones desde el código fuente pasan ahora de release en release por defecto en lugar de seguir cada commit de main. ¿Prefieres el filo absoluto? hermes update --set-channel main, o el nuevo cambio de canal en el escritorio, Settings → About. Volver a una versión anterior se etiqueta como rollback y nunca ocurre sin preguntar, y volver a ejecutar el instalador te mantiene en el canal que elegiste (#102765, #135847, #135949, #136313, #137780).
5. Paquetes de escritorio firmados, la Microsoft Store y un solo gestor de paquetes
La app de escritorio es ahora un paquete sellado y firmado que lleva su propio Python y Node y se actualiza sola, así que el primer arranque no compila nada. Windows recibe un MSIX firmado (x64 y ARM64) a través de App Installer o la Microsoft Store; macOS recibe una compilación firmada y notarizada para Apple Silicon. Por debajo, un nuevo gestor de paquetes unificado (hermes pm) controla cada herramienta fijada y verificada por hash y cada entorno de Python: las actualizaciones construyen un entorno nuevo y solo cambian cuando pasa su comprobación, así que una actualización fallida o interrumpida ya no puede dejarte a medias (#102765, #132361, #132386, #120339, #122221).
6. El Catálogo de Plugins: 600 plugins revisados
El catálogo de plugins se lanzó en este ciclo y creció hasta 600 entradas, cada una fijada a un commit revisado e instalable desde Hermes Desktop o el CLI. Explora por categoría y ranking de estrellas, con una página por plugin y por autor; las reglas del catálogo impiden que los plugins listados parcheen las tripas de Hermes o distribuyan binarios no escaneables. Los proveedores de memoria viven ahora con sus creadores (Honcho, Supermemory, Hindsight, Mem0, OpenViking, Holographic), igual que Home Assistant, Spotify y Langfuse: los usuarios existentes se migran automáticamente y la instalación por defecto quedó más ligera (#69446, #111415, #117808, #113381, #114732, #131267, #132476, #136436).
7. La oleada de modelos Claude 5.5 y GPT-6
Claude Fable 5.1, Opus 5.5, Sonnet 5.5 y Haiku 5.5, GPT-6 Astra, Sol y Luna más GPT-6.1 Sol, y Gemini 4 Argon se pueden elegir en Nous Portal, OpenRouter y las rutas nativas donde se ofrezcan. El razonamiento previo se reproduce ahora por defecto en todos los proveedores capaces de leerlo, a través de reanudaciones, ramas y compactación, así que el trabajo largo de varios pasos conserva su hilo de pensamiento. Y cuando un proveedor tiene una mala hora, Hermes aguanta los 503/529/timeouts transitorios en ciclos visibles y acotados en lugar de terminar tu turno (#100577, #119304, #126842, #134759, #128248, #137955, #136358, #116353).
8. Inicia sesión en sitios web con tu gestor de contraseñas
El agente de navegador puede entrar en sitios con credenciales de 1Password, Bitwarden o el propio vault cifrado de Hermes, y el modelo nunca ve la contraseña. Si no hay nada guardado, recibes un prompt enmascarado en el CLI, el TUI o el escritorio para guardarla, los códigos de un solo uso se rellenan sin pasar por la conversación, y los rellenos de tarjeta y dirección en el pago requieren tu confirmación (#106480, #107585, #137084).
9. Bot Screen: mira trabajar a tu bot y toma el control cuando te necesite
Un bot que corre en un gateway Linux puede tener su propio escritorio, que Hermes Desktop retransmite en vivo. Cuando se topa con un inicio de sesión, un prompt 2FA o un CAPTCHA, tomas la pantalla, completas el paso tú mismo y devuelves el control mientras el bot continúa con tu sesión. Con un backend Docker, SSH o Singularity, la pantalla del bot, el computer use y el navegador corren dentro del sandbox, nunca en tu host (#108914, #121169, #121110).
10. Un backend y un gateway para cada perfil
Hermes ejecuta ahora un solo gateway de mensajería y un solo backend de escritorio por máquina que sirven a todos tus perfiles, en lugar de un proceso por perfil. Crear un perfil pone sus bots en marcha sin reiniciar, cada perfil conserva sus propias credenciales, listas de permitidos, tareas cron y sesiones, y hermes update migra automáticamente las configuraciones por perfil existentes. Menos procesos, sin choques de tokens, una sola cosa que arrancar y detener (#112854, #108928, #118273, #117983, #118246, #118027).
11. Ve y dirige tus subagentes en vivo
Los subagentes en ejecución permanecen visibles sobre el compositor en el CLI (F6), el TUI (Ctrl+T) y el escritorio, con la tarea de cada hijo, el tiempo transcurrido y la transcripción en vivo, además de botones de Steer y Stop. /stop llega a los hijos en segundo plano y devuelve su trabajo parcial, y delegate_task puede pasar capturas y mocks a hijos con capacidad de visión (#105593, #115616, #97689).
12. Un selector de modelos que conoce tus planes
Marca tus modelos favoritos con una estrella, mira una suscripción que se agota (“17% left · resets 3:00 PM”) y cuándo se levanta un límite de tasa directamente en el selector, y elige el esfuerzo de razonamiento como parte de la selección del modelo en hermes model, /model (/model X --reasoning high) y el escritorio. Cambias antes de chocar con el muro, no después (#126535, #133392, #133408, #110346, #113117).
13. Hermes en tu idioma, en todas partes
Cada cadena visible para el usuario en el CLI, el gateway de mensajería, el TUI y el escritorio pasa ahora por un único catálogo de traducción, con cobertura completa en los idiomas incluidos. Los idiomas nuevos pueden distribuirse como plugins, y cualquier perfil puede sobrescribir cadenas concretas con un pequeño archivo YAML (#126296).
14. Más ligero en todos los sentidos
Toda la base de código se simplificó sin cambiar ningún comportamiento: el código fuente pasó de unos 1.06M a 698K líneas (−34%) y gateway/run.py se redujo de 34,847 líneas a 5,512. Los prompts también se aligeraron: unas 19 herramientas de uso poco frecuente ahora solo se cargan cuando el agente las busca, lo que reduce a la mitad aproximadamente el esquema de herramientas de escritorio que se envía en cada llamada, y otros ~2.1k tokens salieron del prompt fijo. Los modelos locales hacen menos prefill en cada turno (#102117, #97979, #106676, #137084).
15. Pequeñas comodidades que suman
Teclas vim opcionales en el prompt del CLI, un campo de rama de git en la barra de estado, una campana y una notificación de escritorio cuando Hermes te está esperando, Ctrl+C que borra tu borrador en lugar de matar el turno, un /queue editable, y hermes --native para que tu propia terminal gestione el scrollback y la búsqueda del TUI. En el escritorio, un nuevo modo Simple convierte la app en una ventana de chat sencilla, y los errores ahora dicen qué salió mal con una corrección de un clic (#106412, #106434, #101284, #101320, #137065, #95999, #121035, #118587, #111601).
⚠️ Notas de actualización
- Python 3.14 es el runtime de las instalaciones gestionadas (el gestor de paquetes lo instala por ti). KittenTTS no está disponible en 3.14 (#102765).
- El escritorio de Windows es solo MSIX y necesita Windows 11 22H2 o posterior; los instaladores NSIS/MSI desaparecieron. La app de macOS es solo Apple Silicon en las compilaciones por defecto (#102765, #136603).
- Un gateway por máquina es lo predeterminado.
hermes updateintegra los gateways por perfil en el predeterminado multiplexado cuando no hay conflictos (#112854). - Los chats ya no se reinician con un temporizador de inactividad o diario. Los modos idle/daily de
session_resetse retiran (las configs que todavía los definen registran un aviso);/newo/resetempiezan de cero (#105021, #126244). - Las sesiones antiguas se limpian automáticamente.
sessions.auto_pruneahora está activado por defecto: las sesiones terminadas e inactivas durante 90 días se eliminan al arrancar. Las sesiones fijadas y abiertas nunca se tocan; ponsessions.auto_prune: falsepara conservarlo todo. - Los proveedores de memoria pasaron a ser plugins del catálogo (Honcho, Supermemory, Hindsight, Mem0, OpenViking, Holographic), igual que Home Assistant, Spotify y Langfuse. Los usuarios existentes se migran al actualizar o en el primer arranque, con los datos intactos. ByteRover y RetainDB siguen incluidos.
- Autores de plugins: la antigua capa de importación de compatibilidad de plugins desapareció (#126164), se eliminó
hermes sync(Skill Sync) (#132465) y se eliminó el escáner tirith incluido (#133832). Varias herramientas se renombraron (todo→todo_list,cronjob→cronjob_manage,process→process_manage); los nombres antiguos siguen funcionando (#97979).
🚪 Onboarding, plan gratuito, Connectors y modelos locales
- Onboarding en el primer arranque — una instalación nueva de escritorio recibe el chat de configuración guiado (ver Punto destacado 1). Las instalaciones existentes y los backends remotos (SSH, URL, Cloud) no lo reciben automáticamente; el antiguo flujo de perfil de configuración y
/initiate-setupse eliminaron (#137420, #134215, #108292). set_theme— el agente puede definir el color de acento (una muestra o cualquier#rrggbb), el modo claro/oscuro/sistema y el diseño, o mostrar un selector (#137522).- Plan gratuito — una primera instalación de escritorio sin proveedor y sin cuenta de Nous recibe el modelo gratuito
nous/welcomecomo prueba única (una vez por usuario del sistema). El CLI, el TUI y el gateway no reciben cuenta ni modelo gratuito;HERMES_GUEST_ONBOARDINGdesapareció.hermes auth upgrade, o/loginen cualquier chat o DM de mensajería, mejora esa identidad gratuita a una cuenta completa de Nous manteniendo tus aplicaciones conectadas (#137807, #105258, #105259, #105260, #105261). - Límites claros del plan gratuito — el límite de tasa gratuito termina el turno de inmediato con la hora de reinicio; cada fallo del plan gratuito tiene un código y una frase clara; la app gestiona la comprobación del navegador del servicio de cuentas; los usuarios del plan gratuito ven un aviso de Términos y Privacidad. Las cuentas de Nous sin créditos pueden elegir modelos facturados a una suscripción que tengan y obtener búsqueda web rápida gestionada gratuita (#134049, #111970, #133824, #117079).
- Connectors — conectores de aplicaciones alojadas, la página Connectors y varias cuentas por aplicación (ver Punto destacado 2). Las herramientas de conector también pueden enviar tus archivos locales como adjuntos y guardar los archivos que devuelven.
nous.guest: falsedesactiva las identidades de invitado;tools.connectors.enabled: falsedesactiva los conectores (#111238, #138014). - Modelos locales — instalación de un clic (ver Punto destacado 3); descargas GGUF de Hugging Face con pausa y reanudación; una oferta de configuración única tras el onboarding en máquinas capaces de ejecutar el modelo recomendado (#129506). Actualizaciones de motor en un clic: NVIDIA en Linux recibe CUDA, las GPU de AMD e Intel reciben Vulkan dimensionado por su propia memoria, y todos los backends ejecutan llama.cpp b11370 (#111423, #133111, #131782). Mejores recomendaciones: solo se recomiendan modelos que caben por completo en la memoria de la GPU, y el 27B ya no se sugiere en hardware que lo ejecuta mal (#108429, #135438, #134116, #112107). Tus propios servidores locales: LM Studio tiene un perfil de proveedor, los selectores de Ollama ya no parpadean, un servidor llama.cpp iniciado por ti aparece en
/model, y el fallback al modelo gestionado por el escritorio funciona (#134320, #113129, #116679, #131795).
📦 Versiones estables, paquetes de escritorio y gestor de paquetes
- Versiones estables y canales de actualización — versiones estables SemVer probadas y el cambio de canal (ver Punto destacado 4). Las v0.21.6 y v0.21.7 fueron las primeras en pasar por la nueva puerta; los forks se quedan en
main, y una instalación por delante de la última versión espera a la siguiente. Comprobaciones de actualización más ligeras: una llamada a la API de GitHub al día sustituye agit fetchcada 30 minutos (#107648). - Paquetes de escritorio sellados y firmados — ver Punto destacado 5. Dentro de un paquete,
hermes updateapunta al actualizador correcto (App Installer, Store o macOS) (#134911). Las instalaciones empaquetadas funcionan de principio a fin: la terminal del agente ejecutahermes, Uninstall explica la eliminación por el sistema operativo, y los plugins con dependencias de Python se instalan dentro del MSIX (#134051, #135333). hermes pm— el gestor de paquetes unificado (ver Punto destacado 5): Python 3.14 fijado y verificado por hash, uv, Node, ripgrep, FFmpeg, Chromium y Git/Bash en Windows, conhermes pm doctor|status|repair|gc. Los colaboradores usansource ./activate(o.ps1/.fish).- Los entornos de dependencias son generaciones — los nuevos se comprueban antes de usarse, así que una instalación fallida conserva el que funciona; las actualizaciones y
hermes pm gcrecuperan los antiguos (92 GB a 18 GB en un host) (#124968, #133808). Los SDK opcionales (Anthropic, Bedrock) se cargan a mitad de sesión sin reiniciar;security.allow_lazy_installs: falselo desactiva (#122221). Los plugins declaran dependencias de Python, que se resuelven con el núcleo en todos los perfiles; los conflictos se rechazan, y una actualización desactiva un plugin que ya no encaja (#113851, #122103, #114569, #132469). - Las actualizaciones no pueden quedar a medias — ver Punto destacado 5; una actualización interrumpida se repara sola en el siguiente arranque (#132361, #120339). Actualizaciones más rápidas y checkouts más pequeños: las actualizaciones reconstruyen solo lo que cambió (16.5 s frente a 32.5 s en macOS), los clones son sin blobs, y el crecimiento del
.giten clones parciales está corregido (#135092, #133016, #131679). - Instaladores —
install.sh/install.ps1verifican la uv y el Git fijados, delegan en PM, registran enlogs/install.log, y ahora funcionan en Linux musl (Alpine, Void), Windows 10 y rutas de Windows con Unicode (#124964, #125598, #132430). Con la telemetría opcional activada, los fallos de instalación, actualización, skill y plugin registran un motivo (#133809). - Docker / Nix / Termux / Windows — Docker fija una base Debian 13 con Chromium completo;
stable/latestsolo se mueven con una versión publicada; los extras preinstalados vuelven tras un reinicio (#135726, #135084). Nix comparte las fijaciones y su app de escritorio recibe Wayland; Termux pasa a un paquete APT firmado (pkg upgrade hermes-agent), aunque su documentación sigue avisando de que está roto; las actualizaciones de Windows terminan mientras el runtime antiguo está en uso (#128144, #122146, #131779).
🧠 Proveedores y modelos
- Proveedores como plugins — los proveedores ACP y basados en CLI se instalan fuera del árbol con
hermes plugins install;--provider chatgptelige ChatGPT Codex OAuth (#101456, #115761). Bedrock sirve GPT-6 (1M) y aplica Claude Guardrails; Azure Foundry lista despliegues; Gemini acepta herramientas con JSON Schema completo; OpenCode Go enruta Claude vía Messages (#133573, #107815, #115770, #98928, #134848). - Nuevos ajustes —
agent.text_verbositydefine la longitud de las respuestas de Responses; los proveedores personalizados con nombre corren sobre el app-server de Codex (#115880, #115905). - Catálogo de modelos — Claude 5.x (Opus 5.5 también en Anthropic nativo y Bedrock, 1M); GPT-6 Astra/Astra Pro en estándar, rápido y flex, el
-900kde Codex opcional, y/fast ultrafastpara Astra y 6.1 Sol; Gemini 3.8 Flash y Gemini 4 Argon; DeepSeek V4.1 Flash, Qwen3.8-Max-0902, Grok 4.7, GLM-5.3-FlashX, Muse Spark 1.3, Solar Pro 4/Mini 4 (#122633, #103261, #119410, #136950, #101450, #137989, #107489, #100966, #118371, #117435, #101948, #131645). - Autenticación — los perfiles comparten inicios de sesión OAuth de forma segura (los grants de un solo uso nunca se bifurcan, el login propio de un perfil se conserva); el inicio de sesión de Nous sobrevive a la expiración horaria, subagentes concurrentes, caídas del Portal y comprobaciones de borde (#100929, #134574, #103526, #121488). Los logins muertos se nombran una vez con el arreglo
hermes auth add;auth.adopt_external_logins: falsedeja de tomar prestados los logins de Codex CLI/Claude Code (#113816, #115586). - Enrutamiento, fallback y caché —
agent.auto_recovery_cycles(por defecto 5) acota la espera, y el fallback vuelve a un primario Codex cuya cuota se reabrió (#116353, #130716). El enrutamiento automático nunca factura a un proveedor que no elegiste;provider_routing.modelsfija OpenRouter por modelo (#107366, #104159).cache_ttl: autoopcional (1h en interactivo, 5m en subagentes/cron); un/modelque rompe la caché en una sesión grande pregunta primero; la compactación conserva el prefijo (#118337, #95267, #104455). - Razonamiento — se reproduce en todos los proveedores que lo leen; el esfuerzo se puede definir en todos los selectores, con nombres de nivel personalizados; el modo rápido de Anthropic sigue la documentación (#136358, #110346, #115735, #120517).
🏗️ Agente central, sesiones y memoria
- Los turnos atascados se recuperan — un watchdog (
agent.turn_liveness.timeout_s, por defecto 600 s) interrumpe un turno sin progreso y libera su sesión; las reparaciones repetidas de la transcripción ahora lanzan un único error en lugar de quedarse en silencio (#99758, #99687). Los streams muertos sin texto reintentan, los bucles de repetición se cortan, y los turnos interrumpidos no se reportan como completados (#113135, #130551, #112272). - La compactación se dispara con recuentos reales de tokens — el uso reportado por el proveedor, no bytes sobre cuatro; la cola protegida se limita al 20% para que los modelos de ventana pequeña también compacten (#104555, #117957). Los malos resúmenes no pueden borrar el contexto: los proveedores de resumen que se niegan o se sobrecargan dejan la transcripción intacta, y una compactación sin confirmar no cambia nada (#118920, #115906, #136083). Nuevas claves por proveedor
compression.model_thresholdsyauxiliary.<task>.no_progress_timeout(#108061, #115804). - Sesiones y state.db — los timeouts de bloqueo nombran el proceso que lo retiene, una base de datos ocupada ya no mata un turno, y los espacios de nombres de PID hermanos no pueden robar leases (#116967, #134577, #132161).
state.dbdeja de crecer: la limpieza automática está activada por defecto (sesiones terminadas de más de 90 días) y cierra sesiones obsoletas de cron/kanban/subagentes; VACUUM solo se ejecuta cuando se puede recuperar el 25% (#101316, #100903). Comandos de reparación:hermes sessions set-journal-mode delete|wal,repair-profiles,repair-prompts(#117684, #115689, #124200). - Memoria — OpenViking y Holographic pasan al catálogo de plugins al actualizar o en el primer arranque, con los datos intactos, o indican por qué no (#134350, #136436, #131269). Se aceptan MEMORY.md/USER.md formateados a mano, los rechazos dicen qué corregir, y los secretos se limpian antes de que los proveedores los vean (#133038, #134429).
- Perfiles y configuración — un config.yaml roto vuelve a la última copia buena y los errores de lectura no pueden borrarlo (#109463, #120343).
hermes config getenmascara los secretos (--rawlo desactiva),setrechaza rutas con errores tipográficos y guarda nombres estilo env en.env(#111341, #112250). Los perfiles siguen separados: las rutas REST actúan sobre el perfil que nombran, las exportaciones omiten.ssh/.aws/.gnupg, yimport-agent --syncmantiene las importaciones al día (#118275, #132201, #88855).
📱 Plataformas de mensajería (Gateway)
- Un gateway sirve a todos los perfiles —
hermes gateway statusexplica cualquier rechazo del boot-guard,hermes gateway migrate --multiplexmigra a mano, las plataformas de webhook sirven cada perfil en/p/<profile>/,hermes -p X gateway stop|startaparca un perfil, ygateway.standalone: truees una exclusión temporal (#112854, #108952, #119774, #119680). Los perfiles siguen aislados: los clones omiten los tokens de bot salvo con--clone-channels, yprofile_routespuede enrutar por remitente (#109502, #115642). - Sesiones y comandos —
/loginconecta a los usuarios del plan gratuito desde un DM; elsession_resetde inactividad/diario se retira, así que solo/newy/resetempiezan de cero;/branchabre un hilo hermano en Discord, Telegram, Slack y Matrix (--heremantiene el comportamiento anterior); el mododeclineenvía una negativa cortés a los DMs no autorizados; un pie de páginaserved_modelopcional nombra el modelo que respondió (#105261, #126244, #117450, #88028, #115925). - Plataformas — el
bots_require_mentionopcional de Telegram detiene los bucles de respuesta entre bots,extra.drop_pending_on_cold_boot: falseconserva los mensajes enviados sin conexión, el CJK puede optar a mensajes enriquecidos; la configuración de Discord verifica el token, enlaza el Message Content Intent y te añade a la lista permitida, y los canales de respuesta libre pueden crear hilos automáticamente; Slack recibe un selector/modelcon Block Kit, con estados/títulos en la Agent Sessions API; WhatsApp hace menciones nativas víahermes send --mentionsin el retardo de agrupación de 5 s, y sesiones emparejadas en todos los perfiles; las tablas de Signal se renderizan en monoespaciado, el LaTeX de Matrix se compone en Element, el Email rechaza remitentes suplantados y exige un pinauthserv_id(el correo se descarta hasta que se configure), ysend_messagedel QQ Bot entrega medios (#106534, #116134, #111831, #132456, #116168, #103436, #101477, #115253, #117104, #132518, #106538, #106515, #132663, #131927). - Webhooks y el servidor de API — el
coalesceopcional agrupa ráfagas de eventos en una sola ejecución, los eventos decron_jobdisparan tareas cron, las firmas de Standard Webhooks se verifican, y elmirror_to_sessionopcional da contexto a las respuestas (#92066, #95262, #104183, #120825). El servidor de API transmite el razonamiento a clientes compatibles con OpenAI, y las aprobaciones de stream se pueden responder (#115797, #121769). - Relay y Bot Chat — las salas de Bot Mode pueden editar miembros, responder a @handle, guardar 200 mensajes de historial y admitir DMs de bot conscientes del remitente con una guarda de bucle
ALLOW_BOTS(#113384, #107520). Relay comprueba los destinos desend_message; el trazado de NeMo Relay en 0.10.0 etiqueta los spans con el directorio de trabajo (#99220, #135787, #108345).
🖥️ App de escritorio
- Modo Simple / Avanzado — Simple oculta los paneles de desarrollador, Avanzado sigue siendo lo predeterminado (#118587). Pestañas en la barra de título; los perfiles se abren en su propia ventana o como predeterminados de arranque (#107099, #113176). Agrupación de la barra lateral por gateway/perfil, instancias Cloud reutilizables, arrastra Nueva sesión a un panel (#105813, #70571). Importa y continúa la transcripción de otro agente de código (#104229). Las tarjetas Goal / Loop / Heartbeat se pausan, reanudan y detienen sobre el compositor (#104246).
- Chat y compositor — una píldora de esfuerzo de razonamiento; añade un modelo por slug; los pegados de más de 3,000 caracteres se adjuntan como .txt; atajo opcional de captura de ventana en macOS (#109907, #120693, #108901, #113349). Los errores accionables nombran el problema y el arreglo; las tarjetas de límite de uso muestran la hora de reinicio y pueden programar un reintento (#111601, #116288). El modo de comentario del navegador fija elementos de la página con notas, enviando recortes, selectores y estilos al compositor (#100083).
- Ajustes y plugins — subpáginas ordenadas y buscables desde ⌘K; Chat Font (por ejemplo, OpenDyslexic); ruso, francés, alemán y español (#117127, #111226, #100429). Una fila por plugin; los plugins obtienen páginas de ajustes, y los plugins de escritorio pueden ejecutar acciones de la app por id, hablar a través de la mascota, añadir controles de Appearance y reordenar la navegación lateral (#133182, #136417, #135504, #120912, #120922).
- Bot Mode — Bot Screen (ver Punto destacado 9), desactivado por defecto y necesita paquetes del host (#108914). Los chats de grupo pueden reordenar salas y comprimir el historial oculto de un miembro (#105909, #117015).
- Rendimiento y plataformas — el escritorio se conecta al backend en ejecución, que sirve a todos los perfiles (#118246). Arranque más rápido en Windows; Linux funciona sin sudo y bajo WSLg/Wayland (#111002, #100136, #113247). Las sesiones siguen el worktree y la rama de git del agente; el panel Review acota el trabajo; explora espacios de trabajo SSH, arrastra sesiones a proyectos, busca en los logs, ve y limpia los bloqueos de Kanban (#128428, #127200, #99538, #126543, #126658, #125647).
⌨️ CLI, TUI y Dashboard
- CLI —
display.vim_mode, un campo de estadogit_branchydisplay.bell_on_prompt(campana más notificación OSC 9), todos desactivados por defecto (#106412, #106434, #101284, #101320). Ctrl+T abre el monitor de subagentes; un pegado multilínea a mitad de turno es un solo mensaje (#105879, #109146). Comandos scriptables:hermes usage --json(cuota, sin sesión),hermes worktree --json/--older-than,kanban edit --title/--body/--priority, y-tpara elegir qué servidores MCP arrancar (#115899, #95257, #117632, #101634). También:hermes -zsale con código distinto de cero en caso de fallo;-m custom:<name>:<model>llega a ese proveedor; el pie de página ya no se colapsa a “Window too small” (#113234, #115293, #117439). - TUI —
--nativeodisplay.tui_nativeusa el modo de terminal nativo (#121035). Control de turnos en ejecución: doble Esc interrumpe, el push-to-talk corta el habla, y el dock en vivo (también en el CLI) muestra/goaly los prompts en cola (#125803). Arreglos de escritura: Shift+letra en terminales de teclado extendido, Ctrl+D en macOS, pegado de imágenes en Wayland, redibujados estables en reposo (#90674, #116851, #116824, #87907). Los TUI conectados se reincorporan a su sesión;attachments.storage: workspaceprepara archivos que un agente en sandbox puede leer (#112227, #125816). - Dashboard — chat en más dispositivos: lectores de pantalla, desplazamiento táctil en iPad, sin caracteres duplicados del teclado móvil, y una segunda pestaña obtiene su propia terminal (#133960, #134181, #116978, #117061). Los errores son una frase y un botón de arreglo en lugar de JSON crudo, con búsqueda por título, un conmutador en vivo y analíticas por llamada a la API (#111602, #133981, #134100, #133991). Autoalojamiento: subrutas de proxy inverso, inicio de sesión con contraseña junto a OAuth, sesiones remotas sin expiración (#133903, #107018, #110061).
- Comandos slash — esfuerzo de razonamiento en todos los selectores (
hermes model, modelos auxiliares,/model), y/model X --reasoning hightambién funciona (#110346). Un/queueeditable puede listar, editar, mover o eliminar prompts;/ses/steer(#95999, #125803)./contextmuestra cada archivo de instrucciones según se cargó, truncó o quedó eclipsado (#91272).
🔧 Herramientas, MCP y navegador
- Las herramientas poco frecuentes se cargan a demanda — computer_use, session_search, image_generate, cron y las herramientas GUI del escritorio quedan detrás de
tool_searchpor defecto (esquemas de escritorio de 13,367 → 6,883 tokens;defer: []lo desactiva);todo/cronjob/processpasan atodo_list/cronjob_manage/process_manage(se conservan los alias) (#97979). La lista de herramientas se congela por sesión en el TUI,-q --resumey los saltos de gateway para que la caché de prompt se mantenga (#120289). Las sesiones desatendidas de gateway/cron detienen a la fuerza los bucles de herramientas, y cinco repeticiones idénticas detienen cualquier herramienta (#100967). - Herramientas de archivos y web más inteligentes —
read_filemuestra esquemas de SQLite y señala conflictos de merge,search_filesejecuta ripgrep directamente (5–6x más rápido), yweb_searchsin key conmuta entre proveedores gratuitos (#115974, #104502, #134048). - MCP —
hermes mcp login <server> --flow devicepara terminales sin interfaz (#104891). OAuth más robusto: los refresh tokens nunca se borran, se gastan dos veces ni se envían a otro emisor; los servidores RFC 9207, alojados en Google y con WAF al frente inician sesión; los gateways nunca abren pestañas del navegador (#106185, #111186). Se conectan más servidores: los servidores solo SSE usan fallback, los servidores estrictos se conectan (sampling.toolsopcional), y el catálogo añade n8n oficial y Asana V2 (#106432, #131891, #116048). El arranque conecta hastamcp.discovery_concurrency(4) servidores a la vez; los modelos con visión ven las imágenes MCP; los servidores stdio muertos reaparecen sin repetir una llamada (#117956, #133815, #106546). - Navegador y computer use — el inicio de sesión con gestor de contraseñas también rellena tarjetas y direcciones después de que confirmes;
hermes-sandbox:desktopes la nueva imagen por defecto (se conservan los sandboxes existentes) (#106480, #121169).browser_execfunciona de serie, controlando el Chromium incluido (también el fallback en la nube) y abriendo localhost mediante un sidecar (#102986). - Terminal y ejecución de código — los timeouts en primer plano de más de 600 s pasan a ser trabajos en segundo plano,
heartbeat=Nenvía progreso, y el dock de trabajo en vivo los lista (#103529). Los resultados del sandbox señalan un entorno recreado; las rutas SSH se resuelven en remoto (#107093, #122657). LSP añadelsp.serversylsp.package_managery nunca ejecuta el intérprete o SDK propios de un repositorio clonado (#115714, #126239). - Medios — nuevos modelos: GPT Image 2.5 y Kling Image v3; vídeo: Kling 3.0, Kling O3, LTX 2.5, Wan 3.0, MiniMax H3 Max Turbo, Gemini Omni Flash 1.1 (#105988).
stt.streamingopcional muestra las palabras mientras hablas (CLI, TUI, escritorio) y las grabaciones largas se transcriben en todos los proveedores en la nube (#133853, #133825).voice.voice_chat_mode: gpt-liveopcional da voz full-duplex al escritorio;auxiliary.voice_chatejecuta los turnos hablados en un modelo más rápido y el TTS empieza antes (#108137, #133986, #115846).
🧩 Plugins, skills y el catálogo de plugins
- Catálogo de Plugins — páginas de plugin y de autor: /docs/plugins organiza los plugins en Memory, Desktop, Platforms, Web, Tools, Voice, Automation y Models. Las páginas muestran la descripción, un aviso de divulgación, capturas, el README del commit fijado, un botón “Open in Hermes Desktop” y un comando de instalación copiable (#111415, #111547, #117808). Las tarjetas, más fáciles de leer, llevan una etiqueta de versión junto al commit fijado (
1.2.0 @ ad3f352b), imágenes de banner, un tamaño uniforme y modo claro (#113381, #125065, #124001). Los listados pueden declarar problemas conocidos, quehermes plugins instally el dashboard muestran al instalar (#124058). Reglas de listado: los plugins de escritorio deben ceñirse a los slots del SDK, 11 plugins que parcheaban las tripas fueron retirados (las copias instaladas siguen funcionando), y la guía de envío coincide con lo que aplica el CI (#115579, #130860, #131048). - Novedades del catálogo — las 600 entradas son nuevas en este ciclo. Además de los cinco proveedores de memoria, Holographic tiene un nuevo mantenedor de la comunidad y Home Assistant, Spotify, Langfuse y TouchDesigner son ahora plugins oficiales del catálogo (#114732, #136196, #132476, #137130). Añadidos oficiales: Blender Lab, Snyk, NVIDIA App y NVIDIA Broadcast (solo Windows), Telegram Business, Memory Wiki (#119365, #109084). Tamaños por estante: Memory 65 (Cognee, LanceDB, ReMe, Memoria, HydraDB, Mnemosyne, YantrikDB, BetterDB), Web y búsqueda 34 (Apify, Parallel, Linkup, SerpApi, You.com, TinyFish, Oxylabs), proveedores de modelos 48 (JetBrains Junie, Telnyx, NetMind, Groq, Chutes, Kiro, Opper, AIHubMix), plataformas 32 (Inline, Microsoft 365, Rocket.Chat, VK, Zalo, iMessage, Sendblue), voz 18 (Speechify, Deepgram, Fish Audio, Gemini Live), paneles de escritorio 140, herramientas 180 (#112292, #118231, #118512, #114202).
- Sistema de plugins — los proveedores de modelos fuera del árbol aparecen en los selectores de modelos, inician sesión vía
hermes auth(OAuth PKCE integrado) y refrescan tokens (#116552). Host de plugins por perfil opcional:plugins.isolation: hostejecuta plugins de terceros en un proceso por perfil con solo los secretos de ese perfil (#126911). Nuevas APIs: hooks para turnos interrumpidos, llamadas LLM auxiliares y prompts de entrada humana; los plugins pueden iniciar sesiones de gateway, añadir Automation Blueprints y slots de modelos auxiliares, distribuir el driver de computer use y hacer peticiones firmadas por Codex (#118909). SDK de plugins de escritorio: los ajustesconfig_schemase renderizan como formulario en Capabilities → Plugins; los plugins obtienen un puente de skills/toolsets/perfiles y slots de píldora de modelo y de menú (#118917). Instalar, fijar, actualizar: los repos privados se instalan con tus credenciales de git, el escritorio fija un plugin a un commit, las actualizaciones conservan los datos del usuario, y las skills de plugin se ejecutan como/plugin:skill(#106981, #107321, #133175). Cargador y escáner más robustos: las importaciones colgadas se omiten trasplugins.load_timeout_seconds(10 s), los hooks de guarda fallan cerrados, y la prosa, los fixtures y los literales de regex ya no bloquean instalaciones (#118915, #115954). - Skills — nuevas skills opcionales: pr-lens, system-atlas, anatomy, mono-color, dream-loop, scrollcraft, auteur, ip-as-logo, ai-presenter-video, live-dashboard, dynamic-workflow, reddit-reading, rss-feeds (#109306, #103821). El índice del Skills Hub vuelve a construirse con unas 480 skills de ciencia, y la búsqueda también encuentra skills no indexadas (#109178).
skills.auto_loadfija skills en cada sesión yskills.create_direlige dónde van las skills creadas por el agente (#92048, #100377). Mejor automejora: los aprendizajes y correcciones van a la skill de la tarea, la revisión en segundo plano puede mejorar cualquier skill, y las skills añadidas a mitad de chat llegan al mensaje siguiente (#102107). Curador más ligero: ya no bloquea el prompt del CLI, una instalación bajó de 1.9 GB a unos 200 MB, y las skills sin usar se archivan a los 30 días en lugar de a los 90 (#115862). Skills Guard: las instalaciones bloqueadas en una muestra de 421 skills bajaron de 83 a 68, y el shell en línea se limita a skills no comunitarias (#135595).
⏰ Cron, Kanban y delegación
- Cron — los trabajos sin fijar usan el modelo configurado en el momento del disparo y
pinnedfija uno (#113679). Programaciones que se curan solas: un disparo que nunca llegó al modelo se reintenta a los 5, 15 y 30 minutos, una ventana de “retry after” del proveedor aparca el trabajo en silencio, y un hueco perdido durante un reinicio se dispara una vez (#108731, #115843). Alertas más discretas: una alerta por incidente más un recordatorio cadacron.failure_repeat_alert_hours;failure_deliverredirige o silencia los avisos de fallo; un agente puede hacer fallar su ejecución con[CRON_FAILURE](#114807, #101373, #113155). Nuevas opciones de trabajo:--pausedcrea un trabajo sin armar, y--interpreterejecuta scripts en tu propio venv (#104984, #125392). Un gateway multiplexado ejecuta los trabajos de cada perfil con el env y los secretos de ese perfil; la entrega necesita evidencia positiva, la salida se redacta en todas partes y las ejecuciones tardías o satélite se etiquetan (#118027, #100908, #112830). - Kanban — los workers aguantan los problemas del proveedor: los turnos fallidos reintentan en el sitio con contexto, y los límites de tasa o los 5xx se reencolan en lugar de consumir reintentos (#112318, #112500). Un tablero que se explica solo: las tarjetas muestran la última salida del worker cuando falla, y el despacho dice por qué se retiene una tarjeta (#112618). Una única definición de flujo controla las columnas; los workers reciben
kanban_schedule;kanban create --body-file; el escritorio sigue los cambios de gateway (#134340, #130455, #116791, #119054). - Delegación y multiagente — subagentes en vivo, imágenes y
/stop(ver Punto destacado 11). Los abanicos pierden menos: los hijos fallidos aparecen de inmediato, una caída del propietario conserva el trabajo terminado, los hijos pueden ceder procesos al padre, y las finalizaciones por tarea son opcionales (#103549, #116707, #105125). Enrutamiento de hijos:delegation.fallback_providersda a los hijos su propia cadena ychild_timeout_secondsmide la inactividad (#105347, #117606)./goales consistente en el CLI, el escritorio y la mensajería, el juez espera a los subagentes,/goal pause for nowya no sobrescribe el objetivo, y las puertas se ejecutan en el espacio de trabajo de la sesión (#104833, #132251, #125453).
🔒 Seguridad, privacidad y base de código
- Correcciones de seguridad de v0.21.6 — endurecimiento del inicio de sesión del dashboard (
X-Forwarded-Forsuplantado, límites de tamaño, códigos de login solo por loopback); el git automático omite los programas de filtro de repositorios; la lista de permitidos de email resiste la suplantación por nombre para mostrar (#133367, #130685, #130661, #125212). Los secretos se quedan donde están: los procesos hijos no heredan los secretos del adaptador ni del dashboard, elexecute_coderemoto mantiene su token fuera de argv, las exportaciones de perfil omiten los almacenes de credenciales, y las keys nunca llegan a hosts ajenos al refrescar o en el fallback (#125755, #124262, #130525, #120299). Redacción más precisa: el compartir de depuración redacta antes de truncar, las lecturas de archivos y la salida de terminal enmascaran los secretos de.envy de la config,hermes config getenmascara salvo con--raw, y los traspasos a memoria se limpian (#132270, #111422, #111341, #134429, #100564). Archivos solo para el propietario en reposo: credenciales,state.db, instantáneas, perfiles de navegador, cachés de medios, todo lo que diga tu umask (#109509, #127229). - Guardas más amplias — más descargas pasan por la guarda SSRF (rangos
security.fake_ip_rangespara proxies fake-ip); las descargas de metadatos en la nube, el pipe-to-shell de zsh/dash ydeno evalnecesitan aprobación;approvals.denyfunciona en sandboxes; las reglas integradas sustituyen al escáner tirith incluido (#114887, #113156, #116726, #103649, #133832). Agujeros cerrados: el callback de OAuth de MCP deja de reflejar HTML, y las entradas de webhook, SMS y WhatsApp Cloud rechazan secretos de firma en blanco (#92612, #133257). Métricas compartidas opcionales: las estadísticas diarias de uso llegan a Nous solo con consentimiento, ambos interruptores detelemetry.shared_metricsestán desactivados por defecto, cada perfil pregunta una vez, y Enter significa “No gracias” (#95278). - Base de código y rendimiento — unos 2.1k tokens menos de prompt por petición, herramientas de vault a demanda, sondeos de archivos en una sola ida y vuelta, y
hermes -wya no reempaqueta en cada arranque (#137084, #101599). Copias de seguridad más seguras:hermes backupconserva las 3 más recientes y señala los archivos incompletos;hermes importrechaza los dañados (#106455, #121498). También: las variables de entornoKEY_2… se unen a los pools de credenciales; unhermes statusde una pantalla;display.suppress_warning_notificationsopcional; secciones de la lista de bots en el escritorio; solo se usan el node/npm/uv propios de Hermes; Xiaomi MiMo v2.6 (#112390, #131034, #114370, #101290, #125589, #118502). - Para colaboradores — CODEOWNERS sustituye a la puerta de etiquetas; E2E (incluido Windows nativo) solo se ejecuta en compilaciones de release; las versiones estables omiten macOS Intel/Termux por defecto (#131726, #136603).
🐛 Correcciones notables
- Onboarding, conectores y modelos locales — el llama-server gestionado ya no se cuelga en Windows con 0xC0000374 y ya no hereda tus credenciales (#116923); los servidores de modelos locales de Windows quedan contenidos y los huérfanos se recuperan de forma segura; dos backends que arrancan juntos levantan un solo router (#111038, #117600).
- Instalación, actualización y empaquetado — los agentes Docker ya no pierden su servidor de API integrado, la mensajería ni las dependencias MCP tras un reinicio (#135726); un
hermes updateinterrumpido a mitad de pull ya no rompe todos los puntos de entrada (#120339). - Proveedores y modelos — un modelo Claude limitado por tasa ya no bloquea toda la credencial para el resto de modelos Claude (#113171); las sesiones del app-server de Codex ahora reciben SOUL.md y el prompt de sistema de Hermes (#115759).
- Bucle del agente, sesiones y memoria — un chat cuya fila de sesión se eliminó la recrea en lugar de descartar en silencio todos los turnos posteriores (#124117); los mensajes volcados al apagar el gateway se recuperan en su sesión (#114225).
- La lista completa de correcciones está en el cuerpo de la release.
Actualizar
hermes update
Las instalaciones gestionadas reciben un runtime de Python 3.14. Después de actualizar, ejecuta hermes doctor para verificar la instalación y reinicia el gateway (hermes gateway) para que los cambios de plataforma surtan efecto. Para ver qué tocará la próxima actualización antes de ejecutarla: hermes update --plan.
Full Changelog: v0.21.0…v0.22.0
← Hermes Agent Changelog