Hermes Agent v0.7.0 — La versión de la resiliencia
Resumen
v0.7.0 — La versión de la resiliencia. Publicado el 3 de abril de 2026. 168 PRs fusionados · 46 issues resueltos · cientos de archivos modificados.
v0.7.0 trata de una sola cosa — resiliencia. Sin nuevas funcionalidades llamativas. Solo respuestas sistemáticas a las preguntas que todo despliegue real de agentes enfrenta: ¿qué pasa cuando tu API key se queda sin cuota? ¿Cuando el navegador es detectado? ¿Cuando el backend de memoria no es lo suficientemente flexible? ¿Cuando el Gateway se cae bajo concurrencia? ¿Cuando los secretos se filtran a través de la salida del LLM?
La respuesta en cada caso: Hermes ahora lo maneja.
Funcionalidades principales
1. Interfaz de proveedores de memoria intercambiables
El sistema de memoria fue refactorizado desde una única implementación integrada hacia una arquitectura de plugins extensible. Los backends de memoria de terceros — Honcho, bases de datos vectoriales, almacenamiento personalizado — implementan una interfaz ABC simple y se registran a través del sistema de plugins. La memoria integrada es el proveedor predeterminado; Honcho ha sido restaurado a paridad completa de funcionalidades como plugin de referencia, con resolución de host/peer con ámbito de perfil.
Elige el backend de memoria adecuado para cada tarea: integrado para desarrollo y pruebas, Honcho para almacenamiento persistente en producción, o conecta tu propia base de datos vectorial para memoria semántica.
2. Pools de credenciales del mismo proveedor — Dile adiós a los rate limits
Configura múltiples API keys para el mismo proveedor. El sistema distribuye automáticamente la carga entre las keys usando una estrategia least_used thread-safe. Cuando una key devuelve un 401, el sistema rota a la siguiente credencial del pool — sin intervención manual.
# config.yaml
credential_pool:
openai:
- sk-key-1
- sk-key-2
- sk-key-3
Actívalo mediante el asistente de configuración o editando credential_pool directamente en config. Para usuarios intensivos, esto elimina virtualmente las interrupciones del flujo de trabajo por agotamiento de cuota de una sola key.
3. Backend de navegador anti-detección Camofox
Un backend de navegador local completamente nuevo basado en Camoufox (Camouflage + Firefox) para navegación sigilosa. Para escenarios de automatización web que necesitan evadir la detección anti-bot — scraping, relleno de formularios, pruebas automatizadas — Camofox es significativamente más difícil de detectar para los sitios objetivo que el Chromium headless tradicional.
Capacidades clave:
- Sesiones persistentes: el estado del navegador se conserva entre llamadas
- Descubrimiento automático de URL VNC: expone automáticamente una conexión VNC para depuración visual
- Bypass de SSRF para backends locales: acceso configurable a direcciones internas
- Instalación con un solo comando:
hermes tools install camofox
# Instalar Camofox
hermes tools install camofox
# Configurar Camofox como backend del navegador
hermes config set browser.backend camofox
4. Vistas previas de diff en línea
Las operaciones de escritura y parcheo de archivos ahora muestran diffs en línea directamente en el feed de actividad de herramientas. Antes de que el agente pase al siguiente paso, ves exactamente qué cambió — adiciones y eliminaciones resaltadas, línea por línea.
Es más rápido que ejecutar manualmente git diff o hacer rollback para comparar. Todo se renderiza en tiempo real en tu terminal.
5. Continuidad de sesión del servidor API y streaming de herramientas
El servidor API (usado por Open WebUI y otras integraciones frontend) recibe dos mejoras críticas:
- Progreso de herramientas en streaming en tiempo real: los eventos intermedios de ejecución de herramientas se transmiten vía SSE a los clientes
- Cabecera
X-Hermes-Session-Id: mantiene la misma sesión a través de múltiples peticiones HTTP, con datos de sesión persistidos en la SessionDB compartida
La experiencia de la Web UI ahora se acerca a la paridad con la CLI — puedes ver en tiempo real qué herramientas está llamando el agente y en qué punto del flujo de ejecución se encuentra.
6. ACP: Servidores MCP proporcionados por el cliente
Las integraciones con editores (VS Code, Zed, JetBrains) vía ACP (Agent Communication Protocol) ahora pueden registrar sus servidores MCP directamente como herramientas del agente. El ecosistema MCP de tu editor — análisis de código, capacidades LSP, indexación de proyectos — fluye sin fricción hacia el sistema de herramientas de Hermes.
(#4705)
7. Endurecimiento del Gateway y bloqueo de exfiltración de secretos
El Gateway (hub de plataformas de mensajería) recibió una importante revisión de estabilidad, acompañada de un endurecimiento de seguridad sistémico.
Correcciones de estabilidad del Gateway:
- Correcciones de race conditions para pérdida de medios en fotos, control de flood y sesiones atascadas
- Corrección de enrutamiento de aprobación:
/approvey/denyahora se enrutan correctamente cuando el agente está bloqueado esperando aprobación
Bloqueo de exfiltración de secretos:
- Las URLs del navegador y las respuestas del LLM se escanean automáticamente en busca de patrones de secretos (API keys, tokens, contraseñas)
- Bloquea la exfiltración mediante codificación URL, codificación Base64 o vectores de prompt injection
- La salida del sandbox
execute_codese redacta automáticamente - Protección de directorios de credenciales extendida a
.docker,.azure,.config/gh
(#4727, #4750, #4483, #4360, #4305)
Agente central y arquitectura
Soporte de proveedores y modelos
- Pools de credenciales del mismo proveedor — rotación automática multi-key
least_used+ failover en 401 - Pool de credenciales preservado a través del enrutamiento inteligente — el estado del pool sobrevive a cambios de proveedor de respaldo, difiere el fallback anticipado en 429
- Restauración del runtime primario por turno — después del fallback, restaura automáticamente el proveedor primario en el siguiente turno con recuperación de transporte
- Rol
developerde GPT-5 / Codex — usa el rol de mensaje del sistema recomendado por OpenAI para modelos más recientes - Guía operativa para modelos de Google — Gemini y Gemma reciben guía de prompting específica del proveedor
- Manejo de 429 en contexto largo de Anthropic — reduce automáticamente el contexto a 200K al alcanzar los límites de tier
- Nuevos modelos: Claude-sonnet-4.6 (listas de OpenRouter / Nous), Qwen 3.6 Plus Preview, MiniMax M2.7
- Detección automática de longitud de contexto de Fireworks
- Corrección del endpoint internacional de DashScope — el proveedor de Alibaba ya no apunta hardcodeado a una dirección incorrecta
context_lengthde proveedor personalizado respetado en compresión- Keys no-sk-ant tratadas como API keys regulares, no como tokens OAuth
- Detección automática de modelos desde sondeo del servidor en configuración de endpoints personalizados
- Config.yaml como fuente única de verdad para URLs de endpoints — fin de los conflictos entre variables de entorno y config.yaml
- El asistente de configuración ya no sobrescribe la configuración de endpoints personalizados
- Selección unificada de proveedores en el asistente con
hermes model— ruta de código única
Bucle del agente y conversación
- Preservar firmas de bloques de pensamiento de Anthropic a través de turnos de uso de herramientas
- Clasificar respuestas vacías de solo pensamiento antes de reintentar — previene bucles infinitos de reintentos en modelos que producen bloques de pensamiento sin contenido
- Prevenir espiral de muerte por compresión por desconexiones de API — el bucle donde la compresión se dispara, falla y se vuelve a comprimir ahora se detecta y se detiene
- Compresión en mitad de ejecución persistida en la sesión del gateway
- Mensajes de error de contexto excedido ahora incluyen orientación accionable
- Eliminar etiquetas huérfanas
</think>de respuestas visibles al usuario - Endurecimiento de preflight de respuesta de Codex y manejo de errores de streaming
- Fallbacks deterministas de call_id — sin más UUIDs aleatorios, preservando la consistencia de la caché de prompts
- Spam de advertencias de presión de contexto prevenido después de la compresión
- AsyncOpenAI creado de forma lazy — evita errores de event loop cerrado en el compresor de trayectoria
Memoria y sesiones
- Paridad completa de integración de Honcho restaurada como plugin de proveedor de memoria de referencia (por @erosika)
- Honcho con ámbito de perfil para resolución de host y peer
- Estado de vaciado de memoria persistido — previene re-vaciados redundantes al reiniciar el gateway
- Herramientas del proveedor de memoria enrutadas a través de la ruta de ejecución secuencial
- Config de Honcho escrita en ruta local a la instancia para aislamiento de perfiles
- Sesiones del servidor API persistidas en SessionDB compartida
- Uso de tokens persistido para sesiones no-CLI
- Términos con puntos entrecomillados en consultas FTS5 — corrige la búsqueda de sesiones para términos que contienen puntos (ej. números de versión)
Plataformas de mensajería (Gateway)
Núcleo del Gateway
- Correcciones de race conditions — pérdida de medios en fotos, control de flood, sesiones atascadas, problemas de configuración STT resueltos en una sola pasada de endurecimiento
- Corrección de enrutamiento de aprobación —
/approvey/denyse enrutan correctamente cuando el agente está bloqueado esperando, en lugar de ser absorbidos como interrupciones - Reanudar agente después de /approve — el resultado de la herramienta ya no se pierde al ejecutar comandos bloqueados
- Sesiones de hilos DM inicializadas con transcripción padre para preservar el contexto
- Comandos slash conscientes de skills — el gateway registra dinámicamente las skills instaladas como comandos slash con lista paginada de
/commands - Skills deshabilitadas por plataforma respetadas en el menú de Telegram y el dispatch del gateway
- Eliminar advertencias de compresión visibles al usuario — flujo de mensajes más limpio
- Flags
-v/-qdel servicio gateway conectadas al logging de stderr - HERMES_HOME reasignado al usuario objetivo en la unidad de servicio systemd
- Respetar valor predeterminado para configs con valores boolean-like inválidos
/updateusa setsid en lugar de systemd-run — evita problemas de permisos de systemd- “Inicializando agente…” mostrado en el primer mensaje para mejor UX
- Permitir ejecutar el servicio gateway como root — soporte para entornos LXC/contenedores
Telegram
- Límite de 32 caracteres en nombres de comandos + prevención de colisiones
- Orden de prioridad aplicado en el menú — core > plugins > skills
- Limitado a 50 comandos — la API de Telegram rechaza por encima de ~60
- Saltar texto vacío o solo espacios para prevenir errores 400
- Tests E2E del gateway (por @pefontana)
Discord
- UI de aprobación basada en botones — registra
/approvey/denycomo comandos slash nativos con botones interactivos - Reacciones configurables — opción
discord.reactionspara controlar las reacciones de procesamiento de mensajes - Saltar reacciones y auto-threading para usuarios no autorizados
Slack
- Responder en hilo — opción de configuración
slack.reply_in_thread, resolviendo una solicitud de la comunidad de un año
- Aplicar
require_mentionen chats grupales — solo responde cuando se menciona explícitamente
Webhook
- Correcciones de soporte de plataforma — saltar prompt del canal principal, deshabilitar progreso de herramientas para adaptadores webhook
Matrix
- Endurecimiento de descifrado E2EE — solicitar claves faltantes, confiar automáticamente en dispositivos, reintentar eventos en buffer
CLI y experiencia de usuario
Nuevos comandos slash
| Comando | Descripción |
|---|---|
/yolo |
Alternar aprobaciones de comandos peligrosos — omite todas las confirmaciones durante la sesión |
/btw |
Pregunta lateral efímera (By The Way) — no afecta el contexto de la conversación principal |
/profile |
Muestra información del perfil activo sin salir de la sesión de chat |
# Modo YOLO: omite todos los avisos de aprobación
/yolo
# Haz una pregunta no relacionada sin contaminar el contexto
/btw ¿qué algoritmo usa esta función?
# Verificación rápida del perfil
/profile
CLI interactiva
- Vistas previas de diff en línea para operaciones de escritura y parcheo en el feed de actividad de herramientas
- TUI anclada al fondo al iniciar — fin de los grandes espacios en blanco entre respuesta e input
/historyy/resumemuestran sesiones recientes directamente en lugar de requerir búsqueda/insightsmuestra tokens de caché — los totales ahora suman correctamente- Flag CLI
--max-turnsparahermes chatque limita las iteraciones del agente - Detección de rutas de archivos arrastrados — ya no se tratan como comandos slash (por @rolme)
config setsoporta cadenas vacías y valores falsy- Modo de voz en WSL cuando el puente PulseAudio está configurado
- Respetar
NO_COLORyTERM=dumbpara accesibilidad (por @SHL0MS) - Código de salida correcto en modo silencioso — consultas exitosas con
-qdevuelven 0 en lugar de distinto de cero (por @devorun) - Hook
on_session_endse dispara en salidas interrumpidas - La lista de perfiles lee correctamente la clave
model.default
Configuración
allowed_userspreservado durante la configuración + advertencias silenciosas de proveedor no configurado (por @kshitijk4poor)- Guardar API key en la configuración del modelo para endpoints personalizados
- Credenciales de Claude Code protegidas detrás de configuración explícita de Hermes en el disparador del asistente
- Escrituras atómicas en save_config_value — previene pérdida de configuración por interrupción
- Campo scopes escrito en credenciales de Claude Code al refrescar el token
Sistema de actualización
- Detección de fork y sincronización upstream en
hermes update— soporta repos forkeados - Preservar extras opcionales funcionales cuando un extra falla durante la actualización
- Manejar índice de git en conflicto — proceso de actualización más fiable
- Evitar race condition de reinicio de launchd en macOS
- Instrucción correcta de recarga de shell para usuarios de macOS/zsh
- Timeouts de
subprocess.run()añadidos a los comandos doctor y status
Sistema de herramientas
Navegador
- Backend de navegador anti-detección Camofox — instalación con un solo comando vía
hermes tools install camofox - Sesiones persistentes de Camofox + descubrimiento automático de URL VNC
- Saltar comprobación SSRF para backends locales — Camofox, Chromium headless
- Comprobación SSRF configurable — opción
browser.allow_private_urls(por @nils010485) - CAMOFOX_PORT=9377 añadido a los comandos de Docker
Operaciones de archivos
- Vistas previas de diff en línea en acciones de escritura y parcheo — ve adiciones y eliminaciones con resaltado
- Detección de archivos obsoletos — advierte cuando el archivo fue modificado externamente desde la última lectura antes de sobrescribir
- Timestamp de obsolescencia actualizado después de escrituras
read_filecon límite de tamaño, deduplicación y bloqueo de dispositivos
MCP
- Paquete de correcciones de estabilidad — timeout de recarga, limpieza al apagar, handler de event loop, inicio no bloqueante de OAuth
Sistema de Skills
- Límites de tamaño para escrituras del agente + fuzzy matching para parcheo de skills — previene escrituras sobredimensionadas, mejora la fiabilidad de edición
- Validar rutas de bundles del hub antes de instalar — bloquea path traversal en bundles de skills
hermes-agentyhermes-agent-setupunificados en una sola skill- Comprobación de tipo de metadatos de skill en
extract_skill_conditions
Skills nuevos y actualizados
- research-paper-writing — pipeline completo de investigación de principio a fin, reemplazando
ml-paper-writing(por @SHL0MS) - ascii-video — técnicas de legibilidad de texto y oráculo de layout externo (por @SHL0MS)
- youtube-transcript actualizado para
youtube-transcript-apiv1.x (por @el-analista) - Página de exploración y búsqueda de skills añadida al sitio de documentación (por @IAvecilla)
Seguridad y fiabilidad
Refuerzo de seguridad
- Bloquear exfiltración de secretos vía URLs del navegador y respuestas del LLM — escanea patrones de secretos en codificación URL, Base64 y vectores de prompt injection
- Redactar secretos de la salida del sandbox
execute_code— información sensible reemplazada automáticamente - Proteger directorios de credenciales
.docker,.azure,.config/ghde lectura/escritura vía herramientas de archivos y terminal (por @memosr) - Patrones de token OAuth de GitHub añadidos a la redacción + flag de redacción de snapshots
- Rechazar IPs privadas y de loopback en el fallback DoH de Telegram
- Rechazar path traversal en el registro de archivos de credenciales
- Validar rutas de miembros de archivos tar en la importación de perfiles — bloquea ataques zip-slip
- Excluir
auth.jsony.envde las exportaciones de perfiles
Fiabilidad
- Prevenir espiral de muerte por compresión — el bucle de desconexión de API se detecta y se detiene en lugar de iterar para siempre
is_closeddel SDK de OpenAI como método no como propiedad — corrige la detección de falsos positivos de cierre de cliente- Excluir Matrix de extras
[all]— python-olm está roto upstream, previene fallos de instalación - Enrutamiento de modelos de OpenCode reparado
- Imagen de contenedor Docker optimizada (por @bcross)
Windows y multiplataforma
- Modo de voz en WSL con puente PulseAudio
- Preparación de empaquetado Homebrew
- Condicionales de fork en CI — previene fallos de workflows en forks
Correcciones de bugs notables
- Aprobación del gateway bloqueaba el hilo del agente — la aprobación ahora bloquea como lo hace la CLI, previniendo la pérdida de resultados de herramientas
- Espiral de muerte por compresión por desconexiones de API — detectada y detenida en lugar de iterar
- Bloques de pensamiento de Anthropic perdidos entre turnos de uso de herramientas — las firmas ahora se preservan correctamente
- Configuración de modelo del perfil ignorada con flag
-p—model.modelcorrectamente promovido amodel.default - Espacio en blanco en CLI entre respuesta y área de input — TUI anclada al fondo
- Rutas de archivos arrastrados tratadas como comandos slash en lugar de referencias de archivos — ahora se detectan correctamente
- Etiquetas huérfanas
</think>filtrándose en respuestas visibles al usuario — ahora se eliminan is_closeddel SDK de OpenAI es un método, no una propiedad — corregido el falso positivo de cierre de cliente- Servidor OAuth de MCP bloqueando el inicio de Hermes — ahora se degrada con gracia
- Event loop de MCP cerrado al apagar — corregido el escenario del servidor HTTP
- Proveedor de Alibaba apuntando hardcodeado al endpoint equivocado — cambiado al endpoint internacional estándar de DashScope
- Config
reply_in_threadde Slack faltante — soporte completo añadido - Código de salida distinto de cero en modo silencioso — consultas exitosas con
-qahora devuelven correctamente 0 - Barra lateral móvil muestra solo el botón de cerrar debido a un problema de backdrop-filter en el sitio de docs (por @xsmyile)
- Restauración de configuración revertida por squash merge de rama obsoleta —
_config_versioncorregido
Testing
- Tests E2E del gateway de Telegram — suite completa de tests de integración (por @pefontana)
- 11 fallos reales de tests corregidos + envenenador de cascada de sys.modules resuelto
- 7 fallos de CI resueltos en hooks, plugins y tests de skills
- Tests de refresco de 401 de Codex actualizados para compatibilidad con CI
- Test obsoleto de OPENAI_BASE_URL corregido
Documentación
- Auditoría integral de documentación — 9 brechas HIGH y más de 20 MEDIUM corregidas en 21 archivos
- Navegación del sitio reestructurada — Funcionalidades y Plataformas promovidas al nivel superior
- Streaming de progreso de herramientas documentado para el servidor API y Open WebUI
- Modo webhook de Telegram documentado
- Guías de proveedores LLM locales — guías completas de configuración con advertencias de longitud de contexto
- Comportamiento de allowlist de WhatsApp aclarado con documentación de
WHATSAPP_ALLOW_ALL_USERS - Opciones de configuración de Slack — nueva sección de configuración en los docs de Slack
- Sección de backends de terminal ampliada + correcciones de build de docs
- Guía de añadir proveedores actualizada para el flujo de configuración unificado
- Config de ACP Zed corregida
- Entradas de FAQ de la comunidad para flujos de trabajo comunes y solución de problemas
- Página de exploración y búsqueda de skills disponible en el sitio de docs
Actualizar
hermes update
Para nuevas instalaciones, visita la guía de instalación.
← Hermes Agent Changelog