Hermes Agent: la referencia para profesionales (2026)
# Una referencia para profesionales sobre Hermes Agent, el agente de IA open-source y autooptimizante de Nous Research: autenticación de proveedores y OAuth, archivos de configuración, sistema de skills y cómo ejecutarlo como gateway de mensajería multiplataforma.
TL;DR: Hermes Agent es un agente de AI open-source que se mejora a sí mismo, creado por Nous Research. Funciona como CLI y como gateway de mensajería multiplataforma, almacena una identidad duradera y memoria persistente en disco, agrega skills que mejoran con el uso y trabaja con cualquier proveedor LLM compatible con OpenAI: Nous Portal, OpenRouter, Anthropic, GitHub Copilot, z.ai, Kimi, MiniMax, DeepSeek, Qwen Cloud, Hugging Face, Google, xAI/SuperGrok o tu propio endpoint autoalojado.1219 A partir de v0.14.0 (16 de mayo de 2026), Hermes agrega SuperGrok OAuth con contexto de 1M en grok-4.3, un proxy local compatible con OpenAI para proveedores OAuth (
hermes proxy),x_searchcomo función de primera clase, soporte de instalación desde PyPI, instalación diferida de dependencias, 22 plataformas de mensajería con LINE y SimpleX Chat,/handoff, diagnósticos semánticos LSP después de escrituras,video_generateunificado,computer_usemediante cua-driver para proveedores que no son Anthropic, beta nativa para Windows y el cierre de 12 P0 / 50 P1.19 La parte más difícil para la mayoría de los usuarios nuevos es la autenticación del proveedor: Hermes admite ~20 proveedores de primera clase más endpoints personalizados, y tres rutas de autenticación distintas (clave API en.env, OAuth mediantehermes modelo endpoint personalizado enconfig.yaml). El modelo de autenticación es lo primero que debes aprender; todo lo demás depende de qué proveedor se resuelva.
Hermes Agent funciona como un runtime completo de agente, no como una envoltura de chat. Lee tu sistema de archivos, ejecuta comandos en backends con sandbox, extrae contenido de la web, lanza subagentes, ejecuta trabajos cron programados, habla con Telegram/Discord/Slack/WhatsApp/Signal/Email desde un único proceso gateway y crea sus propias skills a partir de la experiencia.1 El CLI es una interfaz de terminal construida sobre un bucle de conversación en run_agent.py; el gateway es un proceso de larga duración que enruta mensajes desde plataformas de mensajería a través del mismo bucle de conversación.3
La diferencia entre un uso casual y experto de Hermes se reduce a cinco sistemas. Domínalos y Hermes se convierte en un multiplicador de fuerza:
- Resolución de proveedores: cómo los flujos de autenticación se asignan a llamadas API
- Jerarquía de configuración:
config.yaml+.env+auth.json+SOUL.md+AGENTS.md - Sistema de tool + toolset: qué puede hacer el agente, limitado por plataforma
- Sistema de skills: memoria procedural que el agente crea y evoluciona
- Gateway + cron + profiles: ejecutar Hermes donde vives, no solo donde estás
Puntos clave
- La autenticación de proveedores tiene tres rutas, no una. Clave API en
.env, OAuth mediantehermes model/hermes autho endpoint personalizado enconfig.yaml. Elige la ruta que corresponda a tu proveedor, no la que te resulte familiar. - Cambiar de proveedor es un solo comando.
hermes modelte guía de forma interactiva por todos los proveedores compatibles, incluidos los inicios de sesión con OAuth, y/model provider:modelcambia a mitad de sesión sin perder el historial.2 - Dos archivos son la superficie de configuración editable por el usuario.
~/.hermes/config.yamlcontiene la configuración y~/.hermes/.envcontiene los secretos.auth.json,SOUL.md,MEMORY.mdyskills/los administra Hermes directamente; puedes editarSOUL.mda mano, pero el agente toca el resto por su cuenta.4 - Hermes es el sucesor de OpenClaw. Si estás migrando,
hermes claw migrateimporta automáticamente más de 30 categorías de estado.5 - La calidad del servicio depende de tu modelo auxiliar. La visión, el resumen web, la compresión y el volcado de memoria usan un LLM auxiliar separado. De forma predeterminada, es Gemini Flash mediante autodetección (OpenRouter → Nous → Codex); si ninguno de esos está configurado, estas funciones se degradan silenciosamente hasta que apuntes los espacios auxiliares a tu proveedor principal.4
Qué cambia en v0.14
v0.14.0 no se trata tanto de una sola función destacada, sino de reducir la fricción de configuración y ampliar los lugares donde Hermes puede ejecutarse.19 Los principales cambios operativos son:
- La instalación y el inicio son más ligeros.
pip install hermes-agentfunciona desde PyPI, los adaptadores pesados se instalan de forma diferida en el primer uso, y la ruta de arranque posterga suficiente trabajo como para reducir el inicio en frío por unos 19 segundos. - Las suscripciones pueden convertirse en endpoints API locales.
hermes proxyconvierte proveedores respaldados por OAuth, como Claude Pro, ChatGPT Pro y SuperGrok, en un endpoint local compatible con OpenAI para herramientas como Codex, Aider, Cline y Continue. - El alcance del gateway se expande. LINE y SimpleX Chat elevan el conteo de plataformas a 22, Microsoft Teams está conectado de extremo a extremo, el backfill del historial de Discord está activado de forma predeterminada, y los prompts
clarifyde Telegram/Discord ahora usan botones nativos. - La verificación al escribir mejora. Después de editar, Hermes puede mostrar resúmenes de mutaciones de archivos por turno y diagnósticos semánticos del servidor de lenguaje antes del siguiente turno, lo que lo acerca más al trabajo de agentes basado en evidencia.
- Las herramientas de escritorio y medios se amplían.
computer_usefunciona mediante cua-driver para proveedores que no son Anthropic,video_generatese unifica detrás de backends conectables, yvision_analyzeenvía píxeles sin procesar a modelos que realmente pueden ver.
Cada sección a continuación se basa en la documentación upstream en hermes-agent.nousresearch.com/docs y en el árbol de código fuente en github.com/NousResearch/hermes-agent. Cada afirmación factual tiene una nota al pie que apunta a la página upstream específica de donde proviene.
Elige tu ruta
| Lo que necesitas | Ve aquí |
|---|---|
| Instalar Hermes | Instalación — instalador de una línea o pasos manuales |
| Iniciar sesión en un proveedor | Autenticación y proveedores — la sección por la que llegaste aquí |
| Cambiar modelos a mitad de sesión | El comando hermes auth y Endpoints personalizados y autoalojados para la sintaxis de /model |
| Ejecutar un LLM local | Endpoints personalizados y autoalojados — Ollama, vLLM, SGLang, llama.cpp, LM Studio |
| Conectar plataformas de mensajería | Gateway de mensajería — Telegram, Discord, Slack, WhatsApp, Signal, Google Chat, LINE, SimpleX Chat (22 en total) |
| Escribir o instalar una skill | Sistema de skills — divulgación progresiva + skill hub |
| Referencia profunda para cada comando de CLI | Sigue leyendo y enlaza directamente a Comandos de CLI |
Cómo funciona Hermes: el modelo mental
Hermes está estructurado en torno a un único bucle de conversación que cualquier punto de entrada puede invocar. Los puntos de entrada son la CLI (cli.py), el gateway de mensajería (gateway/run.py), el adaptador ACP para integración con editores, el ejecutor por lotes y un servidor API.3 Todos terminan llamando a AIAgent.run_conversation() en run_agent.py, que:
- Construye el prompt del sistema a partir de
SOUL.md,MEMORY.md,USER.md, skills, archivos de contexto y orientación de herramientas medianteprompt_builder.py3 - Resuelve el proveedor en tiempo de ejecución mediante
runtime_provider.py: este es el paso que elige tu autenticación, URL base y modo API3 - Llama al proveedor usando uno de tres modos API:
chat_completions,codex_responsesoanthropic_messages3 - Despacha cualquier llamada de herramienta devuelta mediante
model_tools.pyy el registro central de herramientas (tools/registry.py)3 - Repite el ciclo hasta que el modelo produce una respuesta final y luego persiste la sesión en SQLite con FTS53
Entender este bucle importa porque cada función —personalidades, memoria, skills, compresión, fallback— se conecta a una de estas etapas. Cuando lees una clave de configuración y te preguntas qué hace, la respuesta suele ser: “es un control sobre la etapa 1, 2, 3 o 4 del bucle anterior”.
Núcleo independiente de la plataforma. Una sola clase AIAgent sirve a CLI, gateway, ACP, lotes y servidor API. Las diferencias de plataforma viven en el punto de entrada, no en el agente en sí.3 Por eso los mismos comandos slash funcionan en la terminal y en Telegram: se despachan desde un COMMAND_REGISTRY compartido en hermes_cli/commands.py.6
La estructura de directorios es el sistema. Hermes almacena todo bajo ~/.hermes/ (o $HERMES_HOME para profiles no predeterminados):4
~/.hermes/
├── config.yaml # Settings (model, terminal, TTS, compression, etc.)
├── .env # API keys and secrets
├── auth.json # OAuth provider credentials (Nous Portal, Codex, Anthropic)
├── SOUL.md # Primary agent identity (slot #1 in system prompt)
├── memories/ # Persistent memory (MEMORY.md, USER.md)
├── skills/ # Bundled + agent-created + hub-installed skills
├── cron/ # Scheduled jobs
├── sessions/ # Gateway session state
└── logs/ # agent.log, gateway.log, errors.log (secrets auto-redacted)
Cada archivo anterior tiene un rol específico; ninguno se superpone. Si estás buscando “dónde almacena Hermes X”, está en uno de estos lugares.
Qué hay de nuevo en v0.18.0 (The Judgment Release)
Hermes Agent v0.18.0 (tag v2026.7.1, 1 de julio de 2026) recibe su nombre por el juicio: el agente verifica su propio trabajo en vez de afirmar que tuvo éxito, y ofrece razonamiento en conjunto que realmente puedes inspeccionar. También cierra todo el backlog P0/P1: alrededor de 692 elementos de máxima prioridad resueltos en doce días.22
- Mixture-of-Agents como modelo de primera clase. MoA ahora se puede seleccionar como cualquier otro modelo en todas las interfaces, y el razonamiento en conjunto es visible: la salida completa de cada modelo de referencia se muestra como su propio bloque etiquetado con transmisión en vivo de la respuesta; puedes ver pensar al conjunto en vez de recibir una respuesta combinada opaca.22
- Contratos de finalización para
/goal. El agente verifica su propio trabajo ejecutando las comprobaciones del proyecto antes de informar que un objetivo está completo, en lugar de afirmar que tuvo éxito: juicio aplicado a sí mismo.22 /learn: describe cualquier cosa y conviértela en una skill. Convierte un flujo de trabajo en una skill reutilizable describiéndolo; las skills generadas cumplen automáticamente con las convenciones de CONTRIBUTING.md del repo.22- Línea de tiempo
/journey. Un historial visual de memoria y skills a lo largo del tiempo, con edición, además de un grafo de memoria en escritorio.22 - Distribución a subagentes en segundo plano. Delega varias tareas que se ejecutan de forma concurrente sin bloquear la conversación: el único subagente en segundo plano de v0.17.0 se convierte en una flota.22
- Desktop Projects. Projects de codificación de primera clase con un modelo de organización por proyecto/repo/lane.22
- Gateway con scale-to-zero. Los gateways pueden quedar inactivos cuando no se usan y coordinar drenajes para despliegues sin interrupciones, algo importante para cualquiera que ejecute Hermes como servicio siempre activo.22
- Soporte para Google Vertex AI. Acceso a Gemini mediante cuentas de servicio de GCP con actualización automática de token OAuth2, sumándose al catálogo de proveedores.22
- Comando de editor
/prompt. Abre$EDITORpara redactar prompts de varias líneas en lugar de pelear con la línea de entrada.22
Si estás actualizando desde v0.17.x, nada de esto rompe la CLI. Las razones principales para actualizar son los contratos de finalización (objetivos que se verifican a sí mismos), MoA de primera clase con conjuntos inspeccionables y /learn para capturar skills.
Qué hay de nuevo en v0.17.0 (The Reach Release)
Hermes Agent v0.17.0 (tag v2026.6.19, 19 de junio de 2026) recibe su nombre por lo lejos que ahora llega el agente: nuevos canales de mensajería, nuevos proveedores de modelos y control más profundo en escritorio y dashboard. Es aditivo sobre v0.16.x; la superficie CLI no cambia.21
- Nuevos canales de mensajería. iMessage ahora funciona sin un relay en Mac mediante Photon Spectrum (OAuth con código de dispositivo,
hermes photon login); la API de WhatsApp Business Cloud es un adaptador oficial de Meta que reemplaza el requisito de un proceso bridge; SimpleX incorpora grupos, archivos adjuntos nativos, agrupación de texto y aceptación automática; y Raft se suma como plugin de plataforma incluido con un diseño de canal de activación basado en privacidad por contrato.21 - Nuevos modelos y proveedores. El catálogo agrega
z-ai/glm-5.2(contexto de 1M),anthropic/claude-fable-5,laguna-m.1,nemotron-3-ultraygrok-composer-2.5-fast(el modelo de Cursor mediante OAuth de xAI, contexto de 200k). El valor predeterminado de xAI pasó agrok-build-0.1, y los modelos adaptativos Anthropic ahora siguen el contrato moderno de thinking (nunca envían un camporeasoning).21 - Escritorio y dashboard. El escritorio agrega subagentes en segundo plano con transmisión en vivo en “watch-windows” de la actividad delegada (
delegate_task(background=true)), un selector de modelo Composer, atajos de teclado reasignables, notificaciones nativas del sistema operativo, borradores de Composer por hilo, temas de VS Code Marketplace e interfaz en japonés y chino tradicional. El dashboard agrega un constructor completo de profiles (modelo/skills/MCPs sin editarconfig.yaml), un selector global de profile, un Skills Hub rediseñado con escaneo de seguridad, Automation Blueprints (plantillas parametrizadas para formulario, comando slash, conversación y docs) y un inicio de sesión seguro que devuelve 401 detrás de la puerta OAuth.21 - Skills y herramientas.
image_generateahora puede editar y transformar una imagen fuente, no solo crear una desde cero, en todos los proveedores de imágenes compatibles; la herramientamemoryincorporó un arreglooperationspara agregar/reemplazar/eliminar en lotes atómicos con una sola llamada; una nueva skillsimplify-codeejecuta una revisión y limpieza paralela con tres agentes, controlada por un nivel de riesgo tipo Chesterton’s-Fence; y un booleanowrite_approvalreemplaza elwrite_modede tres estados.21 - Arquitectura. Los subagentes en segundo plano devuelven un handle de inmediato y reingresan su resultado como un nuevo turno; un manejador de elicitación MCP permite confirmación a mitad de una llamada de herramienta, y las herramientas MCP que se conectan tarde quedan expuestas entre turnos (seguro para caché); cron se convierte en un CronScheduler conectable con un proveedor de cron administrado Chronos; y un nuevo Managed scope (
/etc/hermes) permite que un administrador fije configuración inmutable para el usuario, junto con un relay Gateway-Gateway para topologías con múltiples gateways.21 - Nuevos comandos.
/version,/billing(facturación interactiva en terminal),hermes photon login(autenticación de iMessage) yhermes curator run --consolidate: la consolidación ahora es opcional, así que la curación rutinaria en segundo plano cuesta cero tokens.21 - Seguridad. v0.17.0 cierra una omisión de denylist por escape de shell, falla de forma cerrada cuando faltan módulos de aprobación y adaptadores de gateway de política propia, sanitiza el entorno para subprocesos de scripts de trabajos cron, redacta secretos en volcados de depuración de solicitudes, revisa configuraciones stdio de MCP en busca de patrones de exfiltración y actualiza urllib3 y PyJWT para resolver CVEs.21
Si estás actualizando desde v0.16.x, nada de esto rompe la CLI; son nuevos canales, modelos y superficies alrededor del mismo agente. iMessage sin relay, los adaptadores oficiales de WhatsApp y el Managed scope para administradores son las razones principales para actualizar.
Novedades en v0.16.0 (The Surface Release)
Hermes Agent v0.16.0 (etiqueta v2026.6.5, 5 de junio de 2026) recibe su nombre por las nuevas superficies que pone delante del agente centrado en CLI. La noticia principal es que Hermes ya no funciona solo en la terminal.20
- App de escritorio nativa. Hermes Desktop es una nueva app de Electron para macOS, Linux y Windows, con instalación en un clic y autoactualización dentro de la app. Te da una ventana de chat en streaming, archivos con arrastrar y soltar, pegado de imágenes desde el portapapeles, una paleta
Cmd+K, una lista de sesiones con archivo y búsqueda, y un selector de modelo en la barra de estado. Puede conectarse a un gateway Hermes remoto mediante un WebSocket seguro, con autenticación por OAuth o usuario/contraseña, hosts remotos por profile y sesiones multiprofile concurrentes vinculadas por referencias@sessionentre profiles. La UI de escritorio también incluye una traducción completa al chino simplificado (简体中文) mediante una capa i18n tipada (display.language; English sigue siendo el valor predeterminado).20 - Panel de administración en el navegador. El dashboard web local pasó de ser una vista de estado a un panel de administración completo: un catálogo de MCP con interruptores para activar/desactivar, gestión de credenciales, creación de webhooks y hooks, configuración de memoria, controles de gateway y una página System con verificación antes de actualizar y Debug Share en un clic. Una nueva página Channels configura desde el navegador cada plataforma de mensajería del gateway (Telegram, Discord, Slack y las demás). La autenticación ahora es conectable: inicio de sesión con usuario/contraseña, un proveedor OIDC genérico autohospedado,
hermes dashboard registerpara un cliente OAuth autohospedado y rotación de sesiones con refresh-token.20 - Nuevos CLI y slash commands.
/undo [N]respalda los últimos N turnos del usuario con prefill y eliminación suave, y funciona en CLI, la TUI y las plataformas de mensajería. Llega una interfaz predeterminada configurable (clivstui) con una anulación--cli; la TUI suma un comando/modelunificado y una superposición Sessions.hermes portales un alias legible para humanos del flujo de incorporación de Nous Portal, con nuevas rutas de primer uso Quick Setup vs Full Setup, y llegan dos diagnósticos:hermes prompt-sizeyhermes sessions optimize.20 - Nuevos modelos y proveedores. El selector agrega
deepseek-v4-flash,MiniMax-M3(contexto de 1M, proveedores MiniMax nativos),qwen3.7-plus(Nous + OpenRouter) ygemini-3.5-flash(clave Gemini OAuth + API). Se suma un proveedor xAI Grok OAuth de primera clase al lanzador de escritorio, el selector de modelos pasó a tener búsqueda difusa en todas las superficies, los proveedores multi-endpoint se agrupan bajo una sola fila y la actualización del catálogo pasó de diaria a horaria.20 - Skills más ligeras y divulgación progresiva. El conjunto predeterminado de skill eliminó skills redundantes y muertas (Spotify pasó a un plugin nativo, Linear a
hermes mcp install lineary se quitaron varias entradas obsoletas), movió más elementos a opcionales y agregó una puerta de relevancia en frontmatterenvironments:(kanban/docker/s6) que mantiene las skills específicas de contexto fuera del índice hasta que se soliciten.NVIDIA/skillsahora es una fuente predeterminada de confianza de Skills Hub junto con OpenAI, Anthropic y HuggingFace. Las herramientas de MCP y plugin obtuvieron divulgación progresiva (con alcance) de herramientas, y se corrigió un bug de MCP que reportaba éxito falso de OAuth cuando no se obtenía ningún token.20 - Seguridad. v0.16.0 fija Starlette parcheado (≥1.0.1) para CVE-2026-48710 (BadHost), mueve las verificaciones de URL SSRF fuera del event loop en rutas async, elimina el token bearer de inferencia de Bedrock del env de subprocess, agrega
bws_cache.jsonal guard de lectura segura de archivos, añadedocker restart/stop/killa la lista de patrones peligrosos y sanea Unicode invisible en contenido de skill validado. La versión cerró 2 problemas P0 y 62 P1, 16 de ellos etiquetados como seguridad.20
Si estás actualizando desde v0.15.x, nada de esto es un breaking change para el CLI en sí; son superficies y proveedores adicionales alrededor del mismo agente. La app de escritorio y el panel de administración son la razón para actualizar si quieres ejecutar Hermes para usuarios que no usan la terminal o administrar un gateway remoto desde un navegador.
Instalación
El instalador de una sola línea sigue siendo la ruta guiada para la mayoría de los usuarios. Gestiona Python, uv, Node.js, ripgrep, ffmpeg, la clonación del repo, el entorno virtual y el comando global hermes.7 v0.14.0 también incluye un paquete real en PyPI, así que pip install hermes-agent ahora es una instalación directa viable cuando ya controlas el entorno Python.19
curl -fsSL https://raw.githubusercontent.com/NousResearch/hermes-agent/main/scripts/install.sh | bash
pip install hermes-agent
hermes
Funciona en Linux, macOS, WSL2 y Android/Termux (el instalador detecta Termux automáticamente y cambia a un paquete Android probado).7 v0.14.0 agrega soporte nativo para Windows en beta temprana mediante un instalador de PowerShell, pero WSL2 sigue siendo la recomendación más segura para uso en producción hasta que la ruta de Windows madure.19
Cuando termine:
source ~/.bashrc # or ~/.zshrc
hermes # Start chatting
El único prerrequisito es git. El instalador aprovisiona automáticamente Python 3.11 mediante uv (sin sudo), Node.js v22 (para automatización del navegador y el puente de WhatsApp), ripgrep y ffmpeg.7
Verifica la instalación
hermes version # Check version
hermes doctor # Diagnose config/dependency issues
hermes status # Show current configuration + auth state
hermes dump # Copy-pasteable setup summary for debugging
hermes doctor te dice exactamente qué falta y cómo arreglarlo.7 hermes dump es el comando de diagnóstico que debes pegar en un issue de GitHub o en un hilo de Discord cuando pidas ayuda: es un resumen en texto plano de toda tu configuración, con los secretos redactados.8
Instalación manual
Si necesitas control total —versión personalizada de Python, extras específicos, integración con Nix/NixOS—, el flujo manual está documentado paso a paso en la guía de instalación upstream.7 Extras opcionales clave que puedes combinar con uv pip install -e ".[<extras>]":
| Extra | Qué agrega |
|---|---|
all |
Todo lo siguiente |
messaging |
Gateway de Telegram y Discord |
cron |
Análisis de expresiones Cron |
cli |
UI de menú en terminal para el asistente de configuración |
modal |
Backend de ejecución en la nube Modal |
voice |
Entrada de micrófono de CLI + reproducción de audio |
tts-premium |
Voces premium de ElevenLabs |
honcho |
Memoria nativa de AI (integración Honcho) |
mcp |
Soporte para Model Context Protocol |
homeassistant |
Integración con Home Assistant |
acp |
Soporte de integración con editor ACP |
slack |
Mensajería de Slack |
pty |
Soporte de terminal PTY (herramientas interactivas de CLI) |
dev |
pytest y utilidades de prueba |
termux |
Paquete Android probado (incluye cron, cli, pty, mcp, honcho, acp) |
El comando de instalación de Termux es diferente: usa pip con un archivo de constraints, no uv pip:
python -m pip install -e ".[termux]" -c constraints-termux.txt
Esto se debe a que .[all] en Android trae faster-whisper mediante el extra voice, que depende de wheels de ctranslate2 que no se publican para Android.7
Autenticación y Providers
Hermes admite ~19 providers de primera clase, además de endpoints personalizados, y tres rutas de autenticación distintas. Esta es toda la superficie de autenticación, organizada por ruta para que puedas encontrar la que coincide con lo que tienes.
Las tres rutas de autenticación
Cada provider en Hermes encaja en uno de tres patrones de autenticación:
Ruta 1 — clave API en .env. Coloca tu clave en ~/.hermes/.env y Hermes la lee al iniciar. La usan OpenRouter, AI Gateway, z.ai/GLM, Kimi/Moonshot, MiniMax (y MiniMax China), Alibaba Cloud/DashScope, Kilo Code, OpenCode Zen, OpenCode Go, DeepSeek, Hugging Face, Google/Gemini y la mayoría de los providers de terceros.2
Ruta 2 — OAuth mediante hermes model o hermes auth. Inicia un flujo de código de dispositivo, abre un navegador, guarda las credenciales en ~/.hermes/auth.json (y puede importar credenciales existentes de herramientas como Claude Code o Codex CLI). La usan Nous Portal, OpenAI Codex (cuenta de ChatGPT), GitHub Copilot y Anthropic (Claude Pro/Max).2
Ruta 3 — endpoint personalizado en config.yaml. Para cualquier API compatible con OpenAI: Ollama, vLLM, SGLang, llama.cpp, LM Studio, proxy LiteLLM, Together AI, Groq, Azure OpenAI o tu propio servidor autoalojado. Se configura una vez mediante hermes model → Custom endpoint y luego se conserva en config.yaml.2
La matriz completa de providers
Esta es la lista completa de providers de primera clase, con el flujo de configuración exacto para cada uno.2
| Provider | Ruta de autenticación | Configuración |
|---|---|---|
| Nous Portal | OAuth | hermes model (inicio de sesión OAuth, basado en suscripción) |
| OpenAI Codex | OAuth | hermes model (código de dispositivo de ChatGPT, usa modelos de Codex) |
| GitHub Copilot | OAuth o token | hermes model (código de dispositivo OAuth), o COPILOT_GITHUB_TOKEN / GH_TOKEN / gh auth token |
| GitHub Copilot ACP | Subproceso local | hermes model (requiere CLI copilot en PATH + copilot login) |
| Anthropic | OAuth o clave API | hermes model (prefiere credenciales de Claude Code), o ANTHROPIC_API_KEY, o setup-token ANTHROPIC_TOKEN |
| OpenRouter | clave API | OPENROUTER_API_KEY en ~/.hermes/.env |
| AI Gateway (Vercel) | clave API | AI_GATEWAY_API_KEY en ~/.hermes/.env (provider: ai-gateway) |
| z.ai / GLM (ZhipuAI) | clave API | GLM_API_KEY en ~/.hermes/.env (provider: zai) |
| Kimi / Moonshot | clave API | KIMI_API_KEY en ~/.hermes/.env (provider: kimi-coding) |
| MiniMax (global) | clave API | MINIMAX_API_KEY en ~/.hermes/.env (provider: minimax) |
| MiniMax China | clave API | MINIMAX_CN_API_KEY en ~/.hermes/.env (provider: minimax-cn) |
| Alibaba Cloud (Qwen) | clave API | DASHSCOPE_API_KEY en ~/.hermes/.env (provider: alibaba, alias: dashscope, qwen) |
| Kilo Code | clave API | KILOCODE_API_KEY en ~/.hermes/.env (provider: kilocode) |
| OpenCode Zen | clave API | OPENCODE_ZEN_API_KEY en ~/.hermes/.env (provider: opencode-zen) |
| OpenCode Go | clave API | OPENCODE_GO_API_KEY en ~/.hermes/.env (provider: opencode-go) |
| DeepSeek | clave API | DEEPSEEK_API_KEY en ~/.hermes/.env (provider: deepseek) |
| Hugging Face | clave API | HF_TOKEN en ~/.hermes/.env (provider: huggingface, alias: hf) |
| Google / Gemini | clave API | GOOGLE_API_KEY o GEMINI_API_KEY en ~/.hermes/.env (provider: gemini) |
| xAI (Grok) | Provider nativo / OAuth de SuperGrok | Provider de primera clase con acceso directo por API y catálogo de modelos (v0.9.0+). v0.14.0 agrega OAuth de SuperGrok y aumenta grok-4.3 a una ventana de contexto de 1M para cuentas con derecho de acceso.21619 v0.17.0 agrega grok-composer-2.5-fast (el modelo de Cursor vía OAuth de xAI, contexto de 200k) y cambia el predeterminado de xAI a grok-build-0.1.21 |
| xAI Custom Voices | clave API | Provider TTS con clonación de voz. Nuevo en v0.13.0; configúralo en tts: dentro de config.yaml y proporciona la clave de xAI en .env.18 |
| Xiaomi MiMo | Provider nativo | Provider de primera clase con asistente de configuración y catálogo de modelos. MiMo v2 Pro gratis en Nous Portal para tareas auxiliares (v0.9.0+).1615 |
| Google AI Studio | clave API | GOOGLE_API_KEY o GEMINI_API_KEY en ~/.hermes/.env. Acceso directo a Gemini con longitudes de contexto autodetectadas mediante el registro models.dev (v0.8.0+).15 |
| Qwen Cloud | OAuth | Provider OAuth con soporte para solicitudes del portal (v0.8.0+). El provider cambió de nombre de Alibaba Cloud a Qwen Cloud en v0.14.0; las claves de configuración existentes siguen funcionando.1519 |
| Custom endpoint | config.yaml | hermes model → “Custom endpoint” (guardado en config.yaml) |
Anthropic: tres métodos de autenticación
Anthropic tiene su propia sección porque Hermes admite tres rutas distintas hacia Claude, y elegir la correcta importa. Según la documentación upstream:2
# Method 1: API key (pay-per-token)
export ANTHROPIC_API_KEY=***
hermes chat --provider anthropic --model claude-sonnet-4-6
# Method 2: OAuth through hermes model (preferred)
# Uses Claude Code's credential store when available
hermes model
# Method 3: Manual setup-token (fallback/legacy)
export ANTHROPIC_TOKEN=***
hermes chat --provider anthropic
# Auto-detect Claude Code credentials
hermes chat --provider anthropic # reads Claude Code files automatically
Cuando eliges OAuth de Anthropic mediante hermes model, Hermes prefiere el almacén de credenciales propio de Claude Code en lugar de copiar el token en ~/.hermes/.env. Así, las credenciales renovables de Claude siguen siendo renovables.2 Si ya usas Claude Code en la misma máquina, esta es la ruta más limpia.
Para fijar Anthropic de forma permanente en config.yaml:
model:
provider: "anthropic"
default: "claude-sonnet-4-6"
--provider claude y --provider claude-code también funcionan como abreviaturas de --provider anthropic.2
GitHub Copilot: dos modos
Copilot es compatible en dos modos: API directo de Copilot (recomendado) y Copilot ACP (que inicia el CLI local de Copilot como subproceso).2
# Direct Copilot API
hermes chat --provider copilot --model gpt-5.4
# Copilot ACP (requires the Copilot CLI in PATH + an existing copilot login)
hermes chat --provider copilot-acp --model copilot-acp
La autenticación se verifica en este orden, según la documentación upstream:2
1. Variable de entorno COPILOT_GITHUB_TOKEN
2. Variable de entorno GH_TOKEN
3. Variable de entorno GITHUB_TOKEN
4. Fallback de CLI gh auth token
5. Inicio de sesión con código de dispositivo OAuth mediante hermes model
El tipo de token importa. El API de Copilot no admite Personal Access Tokens clásicos (ghp_*). Los tipos admitidos son tokens OAuth (gho_*), PATs de alcance fino (github_pat_* con permiso Copilot Requests) y tokens de GitHub App (ghu_*). Si tu gh auth token devuelve un token ghp_*, usa hermes model para autenticarte mediante OAuth en su lugar.2
Providers de AI chinos (soporte de primera clase)
Hermes incluye soporte integrado para z.ai/GLM, Kimi/Moonshot, MiniMax (endpoints globales + China) y Alibaba Cloud con IDs de provider dedicados.2
# z.ai / ZhipuAI GLM
hermes chat --provider zai --model glm-5 # Requires: GLM_API_KEY
# Kimi / Moonshot AI
hermes chat --provider kimi-coding --model kimi-for-coding # Requires: KIMI_API_KEY
# MiniMax (global)
hermes chat --provider minimax --model MiniMax-M2.7 # Requires: MINIMAX_API_KEY
# MiniMax (China)
hermes chat --provider minimax-cn --model MiniMax-M2.7 # Requires: MINIMAX_CN_API_KEY
# Alibaba Cloud / DashScope (Qwen)
hermes chat --provider alibaba --model qwen3.5-plus # Requires: DASHSCOPE_API_KEY
Las URL base se pueden sobrescribir con las variables de entorno GLM_BASE_URL, KIMI_BASE_URL, MINIMAX_BASE_URL, MINIMAX_CN_BASE_URL o DASHSCOPE_BASE_URL.2
Z.AI autodetecta el endpoint. Al usar el provider z.ai/GLM, Hermes prueba varios endpoints (globales, China y variantes de coding) para encontrar uno que acepte tu clave API. El endpoint funcional se guarda en caché automáticamente; la mayoría de los usuarios no necesita GLM_BASE_URL.2
xAI (Grok) activa automáticamente el almacenamiento en caché de prompts. Cuando la URL base contiene x.ai, Hermes envía el encabezado x-grok-conv-id en cada solicitud para enrutarla al mismo servidor dentro de una sesión de conversación, reutilizando prompts del sistema e historial en caché.2 Es automático; no requiere configuración.
El comando hermes auth
hermes auth es el comando de gestión de credenciales para pools y credenciales OAuth.6
hermes auth # Interactive wizard
hermes auth list # Show all credential pools
hermes auth list openrouter # Show one provider's pool
hermes auth add openrouter --api-key sk-or-v1-xxx
hermes auth add anthropic --type oauth
hermes auth remove openrouter 2 # Remove by index
hermes auth reset openrouter # Clear cooldowns
Los pools de credenciales sirven para rotar varias claves API o tokens OAuth para el mismo provider; son útiles para distribuir límites de tasa entre varias claves sin cambiar código.6 Los comandos heredados hermes login / hermes logout se eliminaron; usa hermes auth en su lugar.6
Endpoints personalizados y autoalojados
Hermes funciona con cualquier endpoint API compatible con OpenAI. Si un servidor implementa /v1/chat/completions, puedes apuntar Hermes hacia él.2
Configuración interactiva (recomendada):
hermes model
# Select "Custom endpoint (self-hosted / VLLM / etc.)"
# Enter: API base URL, API key, Model name
config.yaml manual:
model:
default: your-model-name
provider: custom
base_url: http://localhost:8000/v1
api_key: your-key-or-leave-empty-for-local
Ambos enfoques se guardan en config.yaml, que es la única fuente de verdad para el modelo principal, el provider y la URL base.2 Las variables de entorno heredadas OPENAI_BASE_URL y LLM_MODEL ya no se leen para la configuración del modelo principal; usa hermes model o edita config.yaml directamente.2 (OPENAI_BASE_URL + OPENAI_API_KEY aún se respetan como fallback para la ruta auxiliar provider: "main", así que no las borres a ciegas si las usas ahí).4
Cambiar endpoints personalizados a mitad de sesión:
/model custom:qwen-2.5 # Custom endpoint with explicit model
/model custom # Auto-detect the model from the endpoint
/model custom:local:qwen-2.5 # Named custom provider "local"
/model custom:work:llama3 # Named custom provider "work"
/model openrouter:claude-sonnet-4 # Back to a cloud provider
/model custom (sin nada más, sin nombre de modelo) consulta el API /v1/models de tu endpoint y autoselecciona el modelo si hay exactamente uno cargado; resulta útil para servidores locales que ejecutan un solo modelo.2
Servidores locales LLM (plantillas de configuración)
La documentación upstream incluye guías completas de configuración para Ollama, vLLM, SGLang, llama.cpp y LM Studio. Estos son los comandos clave que realmente ejecutarás. Cada uno está diseñado para producir un endpoint funcional al que Hermes pueda apuntar.2
Ollama — la ruta local más fácil, sin configuración:
ollama pull qwen2.5-coder:32b
OLLAMA_CONTEXT_LENGTH=32768 ollama serve # Raise from 4k default
hermes model # Custom endpoint → http://localhost:11434/v1 → qwen2.5-coder:32b
Detalle crítico de Ollama: Ollama usa de forma predeterminada longitudes de contexto muy bajas (4.096 tokens con menos de 24GB de VRAM). Debes aumentarla mediante OLLAMA_CONTEXT_LENGTH o un Modelfile; el API compatible con OpenAI no acepta la longitud de contexto desde el cliente, así que Hermes no puede configurarla por ti.2 Para uso con agentes, configura al menos 16k–32k.
vLLM — serving GPU de alto rendimiento:
pip install vllm
vllm serve meta-llama/Llama-3.1-70B-Instruct \
--port 8000 \
--max-model-len 65536 \
--tensor-parallel-size 2 \
--enable-auto-tool-choice \
--tool-call-parser hermes
Las llamadas a herramientas requieren --enable-auto-tool-choice y --tool-call-parser <name>. Parsers admitidos: hermes (Qwen 2.5, Hermes 2/3), llama3_json, mistral, deepseek_v3, deepseek_v31, xlam, pythonic. Sin estas flags, las llamadas a herramientas volverán como texto plano.2
SGLang — serving rápido con RadixAttention para reutilizar la caché KV:
pip install "sglang[all]"
python -m sglang.launch_server \
--model meta-llama/Llama-3.1-70B-Instruct \
--port 30000 \
--context-length 65536 \
--tp 2 \
--tool-call-parser qwen
Detalle de SGLang: El max_tokens predeterminado es 128. Configura --default-max-tokens en el servidor o model.max_tokens en config.yaml si las respuestas se cortan.2
llama.cpp / llama-server — CPU y Apple Silicon Metal:
./build/bin/llama-server \
--jinja -fa \
-c 32768 \
-ngl 99 \
-m models/qwen2.5-coder-32b-instruct-Q4_K_M.gguf \
--port 8080 --host 0.0.0.0
--jinja es obligatorio para llamadas a herramientas. Sin esa opción, llama-server ignora por completo el parámetro tools y el modelo intenta llamar herramientas escribiendo JSON en el texto de su respuesta, lo que Hermes no puede interpretar como llamadas reales a herramientas.2
LM Studio — aplicación de escritorio con GUI:
Inicia el servidor desde la app LM Studio (pestaña Developer → Start Server), o mediante CLI: lms server start (inicia en el puerto 1234) y lms load qwen2.5-coder --context-length 32768.2 Luego apunta hermes model a http://localhost:1234/v1.
Detalle crítico de LM Studio: LM Studio lee la longitud de contexto desde los metadatos del modelo, pero muchos modelos GGUF reportan valores predeterminados de 2048 o 4096. Configura siempre la longitud de contexto explícitamente en la configuración del modelo de LM Studio: haz clic en el ícono de engranaje junto al selector de modelo, configura “Context Length” al menos en 16384 (preferiblemente 32768) y vuelve a cargar el modelo.2
Providers personalizados con nombre
Si trabajas con varios endpoints personalizados (por ejemplo, un servidor local de desarrollo y un servidor GPU remoto), defínelos como providers personalizados con nombre en config.yaml:2
custom_providers:
- name: local
base_url: http://localhost:8080/v1
# api_key omitted — Hermes uses "no-key-required" for keyless local servers
- name: work
base_url: https://gpu-server.internal.corp/v1
api_key: corp-api-key
api_mode: chat_completions # optional, auto-detected from URL
- name: anthropic-proxy
base_url: https://proxy.example.com/anthropic
api_key: proxy-key
api_mode: anthropic_messages # for Anthropic-compatible proxies
Luego cambia entre ellos a mitad de sesión con la sintaxis triple:
/model custom:local:qwen-2.5
/model custom:work:llama3-70b
/model custom:anthropic-proxy:claude-sonnet-4
También puedes seleccionar providers personalizados con nombre desde el menú interactivo de hermes model.2
Arquitectura de providers conectable (v0.13.0+)
v0.13.0 incluye una ABC ProviderProfile y un directorio plugins/model-providers/ para que providers de inferencia de terceros puedan integrarse sin modificar el núcleo.18 Si un provider habla en un modo API compatible con OpenAI, Anthropic o Codex, puedes implementar una subclase de ProviderProfile que declare la ruta de autenticación, la URL base, el catálogo de modelos y los encabezados de caché; Hermes la resuelve mediante la misma ruta runtime_provider.py que usan los providers integrados. Este es el cambio arquitectónico detrás de la expansión de providers en v0.13.0: en lugar de editar el código central para agregar un provider, publicas un plugin.
Proxy local compatible con OpenAI (v0.14.0+)
hermes proxy expone un endpoint local compatible con OpenAI respaldado por el provider OAuth en el que Hermes ya inició sesión: Claude Pro, ChatGPT Pro, SuperGrok u otro provider compatible configurado.19 Eso significa que las herramientas que esperan un API estilo OpenAI, incluidas Codex CLI, Aider, Cline, Continue o scripts personalizados, pueden reutilizar tu autenticación de Hermes respaldada por suscripción sin una clave API separada. Trata el proxy como infraestructura local de desarrollo: enlázalo de forma intencional, no lo expongas ampliamente y ten presentes los términos específicos de cada provider.
Detección de longitud de contexto
Dos configuraciones se confunden constantemente, según la documentación upstream:2
context_length— la ventana de contexto total (presupuesto combinado de tokens de entrada + salida, por ejemplo, 1.000.000 para Claude Opus 4.7 o 200.000 para Sonnet 4.6). Hermes usa esto para decidir cuándo comprimir el historial.model.max_tokens— el límite de salida (tokens máximos que el modelo puede generar en una sola respuesta). No está relacionado con la longitud del historial.
Configura context_length cuando la autodetección se equivoque con el tamaño de la ventana:
model:
default: "qwen3.5:9b"
base_url: "http://localhost:8080/v1"
context_length: 131072 # tokens
Hermes usa una cadena de resolución con varias fuentes para detectar ventanas de contexto: override de configuración → modelo por provider personalizado → caché persistente → endpoint /models → /v1/models de Anthropic → API de OpenRouter → Nous Portal → models.dev (registro mantenido por la comunidad para más de 3800 modelos) → valores predeterminados de fallback (128K).2 El sistema reconoce el provider, así que el mismo modelo puede tener límites de contexto distintos según quién lo sirva (por ejemplo, claude-opus-4.6 tiene 1M en Anthropic directo, pero 128K en GitHub Copilot).2
Rotación y fallback de providers
Pools de credenciales. Cuando tienes varias claves API para el mismo provider, configura una estrategia de rotación mediante hermes auth. Así distribuyes límites de tasa entre varias claves.6
Modelo de fallback. Configura un provider:model de respaldo al que Hermes cambie automáticamente cuando tu modelo principal falle (límites de tasa, errores del servidor, fallas de autenticación):2
fallback_model:
provider: openrouter # required
model: anthropic/claude-sonnet-4 # required
# base_url: http://localhost:8000/v1 # optional, for custom endpoints
# api_key_env: MY_CUSTOM_KEY # optional, env var name
El fallback cambia el modelo y el provider a mitad de sesión sin perder la conversación. Se activa como máximo una vez por sesión.2 Providers admitidos para fallback: openrouter, nous, openai-codex, copilot, copilot-acp, anthropic, huggingface, zai, kimi-coding, minimax, minimax-cn, deepseek, ai-gateway, opencode-zen, opencode-go, kilocode, alibaba, custom.2
Modelos auxiliares
Hermes usa modelos “auxiliares” ligeros para tareas secundarias: análisis de imágenes, resumen de páginas web, análisis de capturas del navegador, clasificación de aprobación de comandos peligrosos, compresión de contexto, resumen de búsqueda de sesiones, coincidencia de skills, despacho de herramientas MCP y volcado de memoria.4 De forma predeterminada, estos usan Gemini Flash mediante autodetección (OpenRouter → Nous → Codex).
Puedes configurar qué modelo y provider usa cada tarea auxiliar. Cada ranura auxiliar usa los mismos tres controles: provider, model, base_url.4
auxiliary:
vision:
provider: "auto" # "auto", "openrouter", "nous", "codex", "main", etc.
model: "" # e.g. "openai/gpt-4o", "google/gemini-2.5-flash"
base_url: "" # Custom OpenAI-compatible endpoint
api_key: "" # Falls back to OPENAI_API_KEY
timeout: 30
download_timeout: 30
web_extract:
provider: "auto"
model: ""
timeout: 360
approval:
provider: "auto"
model: ""
timeout: 30
compression:
timeout: 120
session_search: { provider: "auto", model: "", timeout: 30 }
skills_hub: { provider: "auto", model: "", timeout: 30 }
mcp: { provider: "auto", model: "", timeout: 30 }
flush_memories:{ provider: "auto", model: "", timeout: 30 }
La opción de provider "main" significa “usa el provider que usa mi agente principal”; es válida solo dentro de las configuraciones auxiliary:, compression: y fallback_model:. No es válida para tu configuración superior model.provider. Si usas un endpoint personalizado compatible con OpenAI como modelo principal, configura provider: custom en tu sección model:.4
Por qué importa: si solo configuraste OAuth de Anthropic (sin clave de OpenRouter), visión, resumen web y compresión se degradarán o fallarán porque la cadena de fallback auxiliar predeterminada intenta OpenRouter primero. Agrega una OPENROUTER_API_KEY para tareas auxiliares o reconfigura cada ranura auxiliar para usar tu provider principal:
auxiliary:
vision:
provider: "main"
web_extract:
provider: "main"
Este es el detalle más común detrás de “mis funciones no trabajan y no sé por qué” para usuarios nuevos de Hermes.
Sistema de configuración
Hermes tiene un sistema de configuración por capas. Entender la precedencia es esencial porque las capas superiores anulan a las inferiores, y una de esas capas es un registro global de proveedores que no puedes ver en config.yaml.
Estructura de archivos de configuración
Según la documentación upstream, estos son los archivos que componen una configuración de Hermes:4
~/.hermes/
├── config.yaml # All settings (model, terminal, TTS, compression, memory, toolsets, ...)
├── .env # Secrets (API keys, bot tokens, passwords)
├── auth.json # OAuth provider credentials (Nous Portal, Codex, Anthropic)
├── SOUL.md # Primary agent identity (slot #1 in system prompt)
├── memories/ # Persistent memory (MEMORY.md, USER.md)
├── skills/ # Bundled + agent-created + hub-installed skills
├── cron/ # Scheduled jobs
├── sessions/ # Gateway session state
└── logs/ # agent.log, gateway.log, errors.log (secrets auto-redacted)
config.yaml vs .env: cuando ambos están definidos, config.yaml tiene prioridad para la configuración que no es secreta.4 La regla es:
- Secretos (claves API, tokens de bots, contraseñas) → .env
- Todo lo demás (modelo, backend de terminal, configuración de compresión, límites de memoria, toolsets) → config.yaml
Los secretos pueden referenciarse desde config.yaml mediante interpolación estilo shell:4
auxiliary:
vision:
api_key: ${GOOGLE_API_KEY}
base_url: ${CUSTOM_VISION_URL}
delegation:
api_key: ${DELEGATION_KEY}
Gestionar la configuración
hermes config # View current configuration
hermes config show # Same as above
hermes config edit # Open config.yaml in your editor
hermes config set KEY VAL # Set a specific value
hermes config path # Print the config file path
hermes config env-path # Print the .env file path
hermes config check # Check for missing options (after updates)
hermes config migrate # Interactively add missing options
Ejemplos:4
hermes config set model anthropic/claude-opus-4
hermes config set terminal.backend docker
hermes config set OPENROUTER_API_KEY sk-or-... # Saves to .env
hermes config check y hermes config migrate son los comandos que debes ejecutar después de cada hermes update: detectan opciones de configuración recién agregadas que tu archivo todavía no tiene.6
Precedencia de configuración
Hermes carga la configuración desde varias fuentes. Cuando varias fuentes definen el mismo valor, gana la fuente con mayor prioridad:4
- Argumentos de CLI —
hermes chat --model anthropic/claude-sonnet-4(anulación por invocación) - Variables de entorno — aplicadas al iniciar el proceso
config.yaml— el archivo principal de configuración.env— solo secretos- Valores predeterminados integrados — aplicados cuando ninguna otra fuente define un valor
Las flags de CLI siempre tienen prioridad para esa invocación específica. config.yaml es la fuente de verdad a largo plazo.
Localización (v0.13.0+)
v0.13.0 agregó 7 locales para mensajes de CLI y gateway: chino (simplificado), japonés, alemán, español, francés, ucraniano y turco.18 v0.14.0 localiza todos los comandos de gateway y el panel web, agrega 8 locales más y lleva el total a 16.19 Actualmente, la documentación solo está localizada en zh-Hans. El locale se resuelve a partir de las variables de entorno LC_ALL / LANG o de una clave explícita locale: en config.yaml. El inglés sigue siendo el valor predeterminado y la fuente de verdad para cualquier cadena que una traducción todavía no haya cubierto.
Profiles: varias instancias aisladas de Hermes
Los profiles te dan varias instancias aisladas de Hermes, cada una con su propia configuración, sesiones, skills, memoria y PID de gateway. Así puedes ejecutar un “Hermes de trabajo” y un “Hermes personal” en paralelo sin que ninguno vea el estado del otro.6
hermes profile list
hermes profile create work --clone # Clone from current profile
hermes profile use work # Set sticky default
hermes profile alias work --name h-work # Create wrapper script
hermes profile export work -o work-backup.tar.gz
hermes profile import work-backup.tar.gz --name restored
hermes -p work chat -q "Hello from work profile" # One-off without switching
Cada profile obtiene su propio HERMES_HOME (~/.hermes-<name>/ de forma predeterminada), por lo que varios profiles pueden ejecutar el gateway al mismo tiempo sin interferir entre sí.63
Comandos de CLI
Esta sección es la referencia práctica para los comandos de nivel superior de CLI. Para consultar la referencia autorizada derivada del código, consulta la Referencia de comandos de CLI.6
Opciones globales
hermes [global-options] <command> [subcommand/options]
| Opción | Descripción |
|---|---|
--version, -V |
Muestra la versión y sale |
--profile <name>, -p <name> |
Selecciona qué profile de Hermes usar |
--resume <session>, -r <session> |
Reanuda una sesión por ID o título |
--continue [name], -c [name] |
Reanuda la sesión más reciente (o busca coincidencia con un título) |
--worktree, -w |
Inicia en un git worktree aislado |
--yolo |
Omite las solicitudes de aprobación para comandos peligrosos |
--pass-session-id |
Incluye el ID de sesión en el system prompt del agente |
Comandos de nivel superior
| Comando | Propósito |
|---|---|
hermes chat |
Chat interactivo o de una sola ejecución |
hermes model |
Elige interactivamente el proveedor y modelo predeterminados |
hermes gateway |
Ejecuta o administra el messaging gateway |
hermes setup |
Asistente de configuración interactivo |
hermes auth |
Administra credenciales: agregar, listar, eliminar, restablecer, definir estrategia |
hermes status |
Muestra el estado del agente, la autenticación y la plataforma |
hermes cron |
Inspecciona y activa el cron scheduler |
hermes webhook |
Administra suscripciones dinámicas de webhook |
hermes doctor |
Diagnostica problemas de configuración y dependencias |
hermes dump |
Resumen de configuración listo para copiar y pegar para soporte/depuración |
hermes logs |
Consulta, sigue y filtra logs de agente/gateway/errores |
hermes config |
Muestra, edita, migra y consulta la configuración |
hermes pairing |
Aprueba o revoca códigos de pairing de mensajería |
hermes skills |
Explora, instala, publica y audita skills |
hermes honcho |
Administra la memoria entre sesiones de Honcho |
hermes memory |
Configura un proveedor externo de memoria |
hermes acp |
Ejecuta Hermes como servidor ACP (integración con editor) |
hermes mcp |
Administra la configuración del servidor MCP; ejecuta Hermes como servidor MCP |
hermes plugins |
Administra plugins |
hermes tools |
Configura las herramientas habilitadas por plataforma |
hermes sessions |
Explora, exporta, depura y elimina sesiones |
hermes insights |
Muestra analíticas de tokens/costo/actividad |
hermes claw |
Ayudantes de migración de OpenClaw |
hermes profile |
Administra profiles (varias instancias aisladas) |
hermes completion |
Imprime scripts de autocompletado de shell (bash/zsh) |
hermes whatsapp |
Configura y empareja el bridge de WhatsApp |
hermes version |
Imprime información de versión |
hermes update |
Descarga el código más reciente y reinstala dependencias |
hermes uninstall |
Elimina Hermes del sistema (--full también borra configuración/datos) |
hermes backup |
Backup completo de configuración, sesiones, skills y memoria (v0.9.0+)16 |
hermes import |
Restaura desde un archivo de backup: migra entre máquinas o revierte cambios (v0.9.0+)16 |
hermes dashboard |
Inicia el dashboard web local para administrar agentes desde el navegador (v0.9.0+)16 |
hermes debug share |
Sube un reporte completo de depuración a un pastebin para compartirlo al solucionar problemas (v0.9.0+)16 |
hermes chat: el punto de entrada principal
hermes sin argumentos te lleva al chat interactivo. hermes chat es la forma explícita con opciones:6
hermes chat -q "Summarize the latest PRs" # One-shot, non-interactive
hermes chat --provider openrouter --model anthropic/claude-sonnet-4.6
hermes chat --toolsets web,terminal,skills # Enable specific toolsets
hermes chat --quiet -q "Return only JSON" # Programmatic mode
hermes chat --worktree -q "Review repo and open a PR"
Opciones clave:
| Opción | Descripción |
|---|---|
-q, --query "..." |
Prompt de una sola ejecución, no interactivo |
-m, --model <model> |
Sobrescribe el modelo para esta ejecución |
-t, --toolsets <csv> |
Habilita un conjunto de toolsets separados por comas |
--provider <provider> |
Fuerza un proveedor (consulta la lista completa) |
-s, --skills <name> |
Precarga uno o más skills para esta sesión |
-v, --verbose |
Salida detallada |
-Q, --quiet |
Modo programático (sin banner, spinner ni vistas previas) |
--resume <session> |
Reanuda una sesión directamente desde chat |
--worktree |
Crea un git worktree aislado |
--checkpoints |
Habilita checkpoints del sistema de archivos antes de cambios destructivos |
--yolo |
Omite las solicitudes de aprobación |
--source <tag> |
Etiqueta de origen de la sesión (predeterminado: cli; usa tool para integraciones) |
--max-turns <N> |
Máximo de iteraciones con llamadas a herramientas por turno (predeterminado: 90) |
hermes setup: asistente completo
Ejecuta el asistente completo de configuración o salta a una sección:6
hermes setup # Full wizard
hermes setup model # Provider and model only
hermes setup terminal # Terminal backend only
hermes setup gateway # Messaging platforms only
hermes setup tools # Tool enable/disable per platform
hermes setup agent # Agent behavior only
hermes setup --non-interactive
hermes setup --reset # Reset config to defaults before setup
hermes logs: consulta estructurada de logs
hermes logs es más potente que tail -f sobre los archivos de log porque permite filtrar simultáneamente por nivel, ID de sesión y rango de tiempo.6
hermes logs # Last 50 lines of agent.log
hermes logs -f # Follow in real time
hermes logs gateway -n 100 # Last 100 lines of gateway.log
hermes logs --level WARNING --since 1h # Warnings from the last hour
hermes logs --session abc123 # Filter by session ID substring
hermes logs errors --since 30m -f # Follow errors.log from 30m ago
hermes logs list # List all log files with sizes
Los archivos de log se encuentran en ~/.hermes/logs/:6
- agent.log: toda la actividad del agente (llamadas a API, despacho de herramientas, ciclo de vida de sesiones, INFO+)
- errors.log: solo advertencias y errores (un subconjunto filtrado de agent.log)
- gateway.log: actividad del messaging gateway (conexiones de plataforma, despacho, webhooks)
La rotación es automática mediante el RotatingFileHandler de Python; busca agent.log.1, agent.log.2, etc.6
hermes doctor: diagnósticos
hermes doctor [--fix] es el primer comando que debes ejecutar cuando algo falla. Comprueba la validez de la configuración, la presencia de dependencias, la disponibilidad de claves de API, el estado de servicios y puede intentar reparaciones automáticas con --fix.6
Para compartir diagnósticos con otra persona, usa hermes dump: produce un resumen compacto en texto plano con claves de API redactadas, listo para pegar en un issue de GitHub o en un hilo de Discord.6
Comandos slash
Los comandos slash se ejecutan dentro de una sesión de chat activa (CLI o plataforma de mensajería). Se despachan desde un COMMAND_REGISTRY compartido en hermes_cli/commands.py, por eso la mayoría de los comandos funcionan igual en todas las superficies.9
Control de sesión
| Comando | Descripción |
|---|---|
/new (alias /reset) |
Inicia una sesión nueva |
/clear |
Limpia la pantalla e inicia una sesión nueva |
/history |
Muestra el historial de la conversación |
/save |
Guarda la conversación actual |
/retry |
Reintenta el último mensaje |
/undo |
Elimina el último intercambio entre usuario/asistente |
/title <name> |
Define un título para la sesión actual |
/compress |
Comprime manualmente el contexto de la conversación |
/rollback [number] |
Lista o restaura checkpoints del sistema de archivos |
/stop |
Mata todos los procesos en segundo plano en ejecución |
/queue <prompt> |
Pone un prompt en cola para el siguiente turno. Ojo: /q lo reclaman tanto /queue como /quit; gana el último registro y, en la práctica, /q se resuelve como /quit. Escribe siempre /queue explícitamente.9 |
/resume [name] |
Reanuda una sesión con nombre previo |
/statusbar (alias /sb) |
Activa o desactiva la barra de estado de contexto/modelo |
/background <prompt> (alias /bg) |
Ejecuta un prompt en una sesión separada en segundo plano |
/btw <question> |
Pregunta lateral efímera (sin herramientas, no se conserva) |
/plan [request] |
Carga el skill plan incluido para escribir un plan en lugar de ejecutar |
/branch [name] (alias /fork) |
Ramifica la sesión actual |
/goal <target> |
Fija el agente a un objetivo para que se mantenga enfocado entre turnos. Patrón Ralph-loop como primitiva de primera clase. Presupuesto de turnos configurable. Nuevo en v0.13.0.18 |
/subgoal <criterion> |
Agrega criterios de éxito a un /goal activo sin reiniciar el bucle. Nuevo en v0.14.0.19 |
/handoff <target> |
Transfiere la sesión en vivo —mensajes, llamadas a herramientas y contexto— a otro modelo, persona o profile. Nuevo en v0.14.0.19 |
Configuración y modelo
| Comando | Descripción |
|---|---|
/config |
Muestra la configuración actual |
/model [model-name] |
Muestra o cambia el modelo actual |
/provider |
Muestra los proveedores disponibles y el proveedor actual |
/personality [name] |
Define una capa de personalidad |
/verbose |
Alterna la visualización del progreso de herramientas |
/reasoning |
Gestiona el esfuerzo de reasoning y su visualización |
/skin |
Muestra o cambia el skin/tema de visualización |
/voice [on\|off\|tts\|status] |
Activa o desactiva el modo de voz de CLI |
/yolo |
Activa o desactiva el modo YOLO (omite prompts de aprobación) |
/fast |
Activa o desactiva Fast Mode: procesamiento prioritario para modelos de OpenAI y Anthropic (v0.9.0+)16 |
/debug |
Diagnósticos rápidos en todas las plataformas (v0.9.0+)16 |
El comando /model es la herramienta principal para cambiar de proveedor a mitad de sesión:9
/model # Show current model and options
/model claude-sonnet-4 # Switch model (auto-detect provider)
/model zai:glm-5 # Switch provider:model
/model custom:qwen-2.5 # Use model on custom endpoint
/model custom # Auto-detect model from custom endpoint
/model custom:local:qwen-2.5 # Named custom provider
/model openrouter:anthropic/claude-sonnet-4 # Back to cloud
Herramientas, Skills e información
| Comando | Descripción |
|---|---|
/tools [list\|disable\|enable] [name...] |
Gestiona herramientas para la sesión actual |
/toolsets |
Lista los toolsets disponibles |
/browser [connect\|disconnect\|status] |
Gestiona la conexión local Chrome CDP |
/skills |
Busca, instala, inspecciona o gestiona skills |
/cron |
Gestiona tareas programadas |
/reload-mcp |
Recarga servidores MCP desde config.yaml |
/plugins |
Lista los plugins instalados |
/help |
Muestra todos los comandos |
/usage |
Muestra uso de tokens, costo y duración |
/insights |
Muestra analíticas de uso (últimos 30 días) |
/platforms |
Muestra el estado de las plataformas de mensajería |
/profile |
Muestra el nombre del profile activo y el home |
Comandos slash dinámicos de Skills
Cada skill instalado se expone automáticamente como un comando slash:9
/gif-search funny cats
/axolotl help me fine-tune Llama 3 on my dataset
/github-pr-workflow create a PR for the auth refactor
/excalidraw # Just the skill name loads it and lets the agent ask what you need
También puedes definir comandos rápidos en config.yaml que asignan un alias corto a un prompt más largo:9
quick_commands:
review: "Review my latest git diff and suggest improvements"
deploy: "Run the deployment script at scripts/deploy.sh and verify the output"
morning: "Check my calendar, unread emails, and summarize today's priorities"
Luego escribe /review, /deploy o /morning en CLI.
Coincidencia por prefijo
Los comandos admiten coincidencia por prefijo: al escribir /h, se resuelve como /help; /mod se resuelve como /model. Cuando un prefijo es ambiguo, gana el primer registro según el orden del registry. Los nombres completos de comandos y los alias registrados siempre tienen prioridad sobre las coincidencias por prefijo.9
Comandos específicos de mensajería
Algunos comandos solo funcionan en plataformas de mensajería (Telegram, Discord, Slack, WhatsApp, Signal, Email, Home Assistant):9
/status— muestra información de la sesión/sethome(alias/set-home) — marca el chat actual como home de la plataforma/approve [session|always]— aprueba un comando peligroso pendiente/deny— rechaza un comando peligroso pendiente/update— actualiza Hermes Agent a la versión más reciente/commands [page]— explora todos los comandos y skills (paginado)
Y algunos son exclusivos de CLI: /skin, /tools, /toolsets, /browser, /config, /cron, /skills, /platforms, /paste, /statusbar, /plugins.9
Herramientas y toolsets
Hermes incluye un amplio registro integrado de herramientas que cubre búsqueda web, automatización del navegador, ejecución en terminal, edición de archivos, memoria, delegación, entrenamiento RL, entrega de mensajes, integración con Home Assistant y más.10 Las herramientas se organizan en toolsets lógicos que pueden activarse o desactivarse por plataforma.
Categorías de alto nivel
| Categoría | Ejemplos | Descripción |
|---|---|---|
| Web | web_search, web_extract |
Busca en la web y extrae contenido de páginas |
| Terminal y archivos | terminal, process, read_file, patch |
Ejecuta comandos y manipula archivos |
| Navegador | browser_navigate, browser_snapshot, browser_vision |
Automatización interactiva del navegador con texto y visión |
| Medios | vision_analyze, video_analyze, video_generate, image_generate, text_to_speech |
Análisis y generación multimodal. video_analyze prioriza Gemini y tiene soporte extensible para proveedores multimodales compatibles (v0.13.0+). v0.14.0 agrega video_generate unificado con backends de proveedores conectables y envía píxeles sin procesar mediante vision_analyze cuando el modelo activo admite visión.1819 |
| Orquestación de agentes | todo, clarify, execute_code, delegate_task |
Planificación, aclaración, ejecución de código, delegación a subagentes |
| Uso de computadora | computer_use |
Control de escritorio mediante backend cua-driver; v0.14.0 hace que esto funcione con proveedores con capacidad de visión que no son Anthropic.19 |
| Memoria y recuperación | memory, session_search |
Memoria persistente + búsqueda de sesión |
| Automatización y entrega | cronjob, send_message |
Tareas programadas, mensajería saliente |
| Integraciones | ha_*, herramientas MCP, rl_* |
Home Assistant, MCP, entrenamiento RL |
Los nombres comunes de toolsets incluyen web, terminal, file, browser, vision, image_gen, moa, skills, tts, todo, memory, session_search, cronjob, code_execution, delegation, clarify, homeassistant y rl.10
Gestión de herramientas
hermes chat --toolsets "web,terminal" # Use specific toolsets
hermes tools # Interactive per-platform tool config
hermes tools --summary # Print enabled-tools summary
Las herramientas también pueden activarse o desactivarse durante una sesión con /tools disable <name> y /tools enable <name>, lo que restablece la sesión para que el nuevo conjunto de herramientas entre en vigor.9
Backends de terminal
La herramienta de terminal puede ejecutar comandos en seis entornos distintos:10
| Backend | Caso de uso |
|---|---|
local |
Ejecutar en tu máquina (predeterminado): desarrollo, tareas de confianza |
docker |
Contenedores aislados: seguridad, reproducibilidad |
ssh |
Servidor remoto: sandbox, mantiene al agente lejos de su propio código |
singularity |
Contenedores HPC: cómputo en clúster, sin root |
modal |
Ejecución serverless en la nube |
daytona |
Espacio de trabajo sandbox en la nube: entorno de desarrollo remoto persistente |
Cambia de backend con hermes config set terminal.backend <name> o en config.yaml:
terminal:
backend: docker # or: local, ssh, singularity, modal, daytona
cwd: "." # Working directory
timeout: 180 # Command timeout in seconds
Backend SSH (recomendado por seguridad: el agente no puede modificar su propio código):10
terminal:
backend: ssh
# In ~/.hermes/.env
TERMINAL_SSH_HOST=my-server.example.com
TERMINAL_SSH_USER=myuser
TERMINAL_SSH_KEY=~/.ssh/id_rsa
Backend Docker:
terminal:
backend: docker
docker_image: python:3.11-slim
Recursos del contenedor (aplica a docker, singularity, modal, daytona):10
terminal:
container_cpu: 1
container_memory: 5120 # MB (default 5GB)
container_disk: 51200 # MB (default 50GB)
container_persistent: true # Persist filesystem across sessions
Con container_persistent: true, los paquetes instalados, archivos y configuración persisten entre sesiones.10
Todos los backends de contenedores se ejecutan con refuerzo de seguridad: sistema de archivos raíz de solo lectura (Docker), se eliminan todas las capacidades de Linux excepto DAC_OVERRIDE, CHOWN y FOWNER, sin escalamiento de privilegios, límites de PID (256 procesos), aislamiento completo de espacios de nombres, espacio de trabajo persistente mediante volúmenes.10
Procesos en segundo plano
La herramienta de terminal admite ejecución en segundo plano con gestión explícita de procesos:10
terminal(command="pytest -v tests/", background=true)
# Returns: {"session_id": "proc_abc123", "pid": 12345}
process(action="list") # Show all running processes
process(action="poll", session_id="proc_abc123") # Check status
process(action="wait", session_id="proc_abc123") # Block until done
process(action="log", session_id="proc_abc123") # Full output
process(action="kill", session_id="proc_abc123") # Terminate
process(action="write", session_id="proc_abc123", data="y") # Send input
El modo PTY (pty=true) habilita herramientas interactivas CLI como Codex y Claude Code.10
Sudo
Si un comando necesita sudo, Hermes te pide la contraseña (almacenada en caché durante la sesión). También puedes configurar SUDO_PASSWORD en ~/.hermes/.env.10
Kanban multiagente (v0.13.0+)
v0.13.0 convierte la colaboración multiagente en una primitiva de primera clase: un tablero Kanban duradero que rastrea tareas, estado e identidad de trabajadores entre agentes y entre reinicios.18 El tablero es lo que hace que un enjambre de trabajadores de Hermes realmente termine el trabajo en lugar de quedarse bloqueado por traspasos muertos.
| Mecanismo | Qué hace |
|---|---|
| Heartbeats | Cada worker emite pulsos mientras posee una tarea. Un heartbeat perdido marca al worker como sospechoso y libera la tarea para recuperarla. |
| Reclaim | Otro worker puede tomar una tarea abandonada, con todo el estado de la tarea y la salida parcial previa. |
| Detección de zombies | Los workers que salen sin marcar una tarea como completada se bloquean automáticamente para reclamar trabajo nuevo, lo que evita que el enjambre acumule identidades muertas. |
| Hallucination gate | La salida que no pasa la compuerta devuelve la tarea al tablero con el motivo anotado, en lugar de marcarla como terminada. |
max_retries por tarea |
Sobrescribe el presupuesto de reintentos predeterminado en una tarea que sabes que es frágil. |
| Tableros multiproyecto | Un solo home de Hermes puede alojar varios tableros independientes. |
El tablero Kanban se combina de forma natural con /goal (bucle Ralph de objetivo bloqueado) para el lado del objetivo y con la herramienta existente delegate_task para la semántica de spawn. El resultado es un patrón de enjambre donde cada agente comparte una única fuente de verdad sobre qué hacer después, quién lo está haciendo y qué está atascado.
Sistema de Skills
Las skills son documentos de conocimiento bajo demanda que el agente puede cargar cuando los necesita. Siguen un patrón de divulgación progresiva para minimizar el uso de tokens y son compatibles con el estándar abierto agentskills.io.11
Todas las skills viven en ~/.hermes/skills/: el directorio principal y la fuente de verdad. En una instalación nueva, las skills incluidas se copian desde el repo. Las skills instaladas desde el Hub y las creadas por el agente también van aquí.11
Divulgación progresiva
Level 0: skills_list() → [{name, description, category}, ...] (~3k tokens)
Level 1: skill_view(name) → Full content + metadata (varies)
Level 2: skill_view(name, path) → Specific reference file (varies)
El agente solo carga el contenido completo de la skill cuando realmente lo necesita.11
Formato de SKILL.md
---
name: my-skill
description: Brief description of what this skill does
version: 1.0.0
platforms: [macos, linux] # Optional — restrict to OS platforms
metadata:
hermes:
tags: [python, automation]
category: devops
fallback_for_toolsets: [web] # Conditional activation
requires_toolsets: [terminal] # Conditional activation
config: # Config.yaml settings
- key: my.setting
description: "What this controls"
default: "value"
prompt: "Prompt for setup"
---
# Skill Title
## When to Use
Trigger conditions for this skill.
## Procedure
1. Step one
2. Step two
## Pitfalls
- Known failure modes and fixes
## Verification
How to confirm it worked.
Activación condicional
Las skills pueden mostrarse u ocultarse según las herramientas disponibles. Esto es especialmente útil para skills de fallback: alternativas gratuitas o locales que solo deberían aparecer cuando una herramienta premium no está disponible:11
| Campo | Comportamiento |
|---|---|
fallback_for_toolsets |
La skill se oculta cuando los toolsets indicados están disponibles |
fallback_for_tools |
Igual, pero revisa herramientas individuales |
requires_toolsets |
La skill se oculta cuando los toolsets indicados no están disponibles |
requires_tools |
Igual, pero revisa herramientas individuales |
Ejemplo: la skill integrada duckduckgo-search usa fallback_for_toolsets: [web]. Cuando tienes configurada FIRECRAWL_API_KEY, el toolset web está disponible y el agente usa web_search; la skill de DuckDuckGo permanece oculta. Sin la clave API, la skill de DuckDuckGo aparece automáticamente como fallback.11
Skills administradas por el agente
El agente puede crear, actualizar y eliminar sus propias skills mediante la herramienta skill_manage. Esta es la memoria procedimental del agente: cuando descubre un flujo de trabajo no trivial, guarda el enfoque como una skill para reutilizarlo en el futuro.11
Cuándo crea skills el agente:11 - Después de completar correctamente una tarea compleja (5+ llamadas a herramientas) - Cuando encontró errores o caminos sin salida y dio con la ruta que funcionaba - Cuando el usuario corrigió su enfoque - Cuando descubrió un flujo de trabajo no trivial
Acciones:11
| Acción | Se usa para |
|---|---|
create |
Skill nueva desde cero |
patch |
Correcciones puntuales (preferida: la más eficiente en tokens) |
edit |
Reescrituras estructurales importantes |
delete |
Eliminar una skill por completo |
write_file |
Agregar/actualizar archivos de apoyo |
remove_file |
Eliminar un archivo de apoyo |
Hub de skills
Explora, busca, instala y administra skills desde registros en línea:611
hermes skills browse # Browse all hub skills
hermes skills browse --source official # Browse official optional skills
hermes skills search kubernetes # Search all sources
hermes skills search react --source skills-sh # Search skills.sh directory
hermes skills inspect openai/skills/k8s # Preview before installing
hermes skills install openai/skills/k8s # Install with security scan
hermes skills install skills-sh/anthropics/skills/pdf --force
hermes skills check # Check for upstream updates
hermes skills update # Reinstall changed hub skills
hermes skills audit # Re-scan installed hub skills
hermes skills uninstall k8s
hermes skills publish skills/my-skill --to github --repo owner/repo
hermes skills tap add myorg/skills-repo # Add custom GitHub source
Fuentes de hub integradas:11
| Fuente | Ejemplo | Notas |
|---|---|---|
official |
official/security/1password |
Skills opcionales incluidas con Hermes (confianza builtin) |
skills-sh |
skills-sh/vercel-labs/agent-skills/vercel-react-best-practices |
Directorio público de skills de Vercel |
well-known |
well-known:https://mintlify.com/docs/.well-known/skills/mintlify |
Descubrimiento basado en URL desde sitios que publican /.well-known/skills/index.json |
github |
openai/skills/k8s |
Instalaciones directas desde repo/ruta de GitHub |
clawhub |
— | Marketplace de skills de terceros |
claude-marketplace |
— | Manifiestos de plugin/marketplace compatibles con Claude |
lobehub |
— | Conversión del catálogo de agentes de LobeHub |
Taps predeterminados de GitHub (explorables sin configuración): openai/skills, anthropics/skills, VoltAgent/awesome-agent-skills, garrytan/gstack.11
Escaneo de seguridad
Todas las skills instaladas desde el hub pasan por un escáner de seguridad que revisa exfiltración de datos, prompt injection, comandos destructivos, señales de supply chain y otras amenazas.11
Niveles de confianza:11
| Nivel | Fuente | Política |
|---|---|---|
builtin |
Incluida con Hermes | Siempre confiable |
official |
optional-skills/ en el repo |
Confianza builtin, sin advertencia de terceros |
trusted |
Registros confiables (openai/skills, anthropics/skills) |
Política más permisiva |
community |
Todo lo demás | Los hallazgos no peligrosos pueden anularse con --force; los veredictos dangerous permanecen bloqueados |
--force puede anular bloqueos de política no peligrosos para skills de la comunidad. No anula un veredicto de escaneo dangerous.11
Directorios externos de skills
Puedes apuntar Hermes a directorios de skills adicionales que se escanean junto con el local:11
skills:
external_dirs:
- ~/.agents/skills
- /home/shared/team-skills
- ${SKILLS_REPO}/skills
Las rutas admiten expansión de ~ y sustitución de variables de entorno ${VAR}. Los directorios externos son de solo lectura: cuando el agente crea o edita una skill, siempre escribe en ~/.hermes/skills/. La precedencia local gana si existe un nombre de skill en ambos lugares.11
Memoria persistente
Hermes tiene una memoria acotada y curada que persiste entre sesiones. Dos archivos componen la memoria del agente, ambos almacenados en ~/.hermes/memories/:12
| Archivo | Propósito | Límite de caracteres |
|---|---|---|
MEMORY.md |
Notas personales del agente: datos del entorno, convenciones, aprendizajes | 2.200 caracteres (~800 tokens) |
USER.md |
Perfil de usuario: preferencias, estilo de comunicación, expectativas | 1.375 caracteres (~500 tokens) |
Ambos se inyectan en el system prompt como una instantánea congelada al inicio de la sesión. El agente gestiona su propia memoria mediante la herramienta memory: add, replace o remove.12
Patrón de instantánea congelada: la inyección del system prompt se captura una sola vez al inicio de la sesión y nunca cambia a mitad de sesión. Esto es intencional: preserva la caché de prefijo de LLM para mejorar el rendimiento. Los cambios realizados durante una sesión se guardan en disco de inmediato, pero no aparecen en el system prompt hasta la siguiente sesión.12
Qué guardar
Guarda esto (el agente lo hace de forma proactiva):12
- Preferencias del usuario: “Prefiero TypeScript en lugar de JavaScript” → user
- Datos del entorno: “Este servidor ejecuta Debian 12 con PostgreSQL 16” → memory
- Correcciones: “No uses sudo para comandos de Docker; el usuario está en el grupo docker” → memory
- Convenciones: “El proyecto usa tabs, ancho de línea de 120 caracteres y docstrings estilo Google” → memory
- Trabajo completado: “Se migró la base de datos de MySQL a PostgreSQL el 15 de enero de 2026” → memory
Omite esto:12 - Información trivial u obvia - Datos fáciles de redescubrir - Volcados de datos sin procesar (demasiado grandes para la memoria) - Efímera específica de la sesión - Información que ya está en archivos de contexto
Búsqueda de sesiones
Además de MEMORY.md y USER.md, el agente puede buscar en sus conversaciones pasadas con la herramienta session_search. Todas las sesiones de CLI y mensajería se almacenan en SQLite (~/.hermes/state.db) con búsqueda de texto completo FTS5. Las consultas devuelven conversaciones pasadas relevantes con resumen de Gemini Flash.12
| Función | Memoria persistente | Búsqueda de sesiones |
|---|---|---|
| Capacidad | ~1.300 tokens en total | Ilimitada (todas las sesiones) |
| Velocidad | Instantánea (en el system prompt) | Requiere búsqueda + resumen de LLM |
| Caso de uso | Datos clave siempre disponibles | Encontrar conversaciones pasadas específicas |
| Gestión | Curada manualmente por el agente | Automática: todas las sesiones se almacenan |
| Costo en tokens | Fijo por sesión (~1.300 tokens) | Bajo demanda |
Proveedores externos de memoria
Para una memoria persistente más profunda que MEMORY.md y USER.md, Hermes incluye ocho plugins de proveedores externos de memoria: Honcho, OpenViking, Mem0, Hindsight, Holographic, RetainDB, ByteRover y Supermemory.12
Los proveedores externos se ejecutan junto con la memoria integrada (nunca la reemplazan) y agregan capacidades como grafos de conocimiento, búsqueda semántica, extracción automática de hechos y modelado de usuario entre sesiones:612
hermes memory setup # Pick a provider and configure it
hermes memory status # Check what's active
hermes memory off # Disable external provider (built-in only)
Solo puede estar activo un proveedor externo a la vez. La memoria integrada siempre está activa.6
Reanudación automática de sesión (v0.13.0+)
v0.13.0 hace que una interrupción a mitad del agente sea recuperable. El gateway reanuda automáticamente las sesiones interrumpidas después de un reinicio; los reinicios por /update preservan el estado de la sesión durante la actualización; las recargas de archivos fuente durante el desarrollo mantienen viva la sesión activa en lugar de forzar una nueva.18 Efecto práctico: el trabajo prolongado del gateway y las tareas impulsadas por cron ya no reinician su ventana de contexto cuando el proceso se reinicia.
Checkpoints v2 (v0.13.0+)
La persistencia de estado se reescribió en v0.13.0 como un diseño de almacén único con poda real, límites de seguridad en disco y sin repos sombra huérfanos.18 El sistema anterior de checkpoint acumulaba estado en disco en profiles de larga duración; el almacén v2 impone un techo estricto al almacenamiento local de checkpoints y elimina la contabilidad duplicada que causaba ese crecimiento. No se requiere ningún cambio de configuración visible para el usuario; la próxima escritura de checkpoint usa la ruta v2.
Personalidad y SOUL.md
SOUL.md es la identidad principal de una instancia de Hermes. Ocupa el espacio #1 en el system prompt y reemplaza la identidad predeterminada codificada.13
Hermes crea automáticamente un SOUL.md predeterminado en ~/.hermes/SOUL.md (o $HERMES_HOME/SOUL.md para profiles personalizados). Los archivos existentes del usuario nunca se sobrescriben. Hermes solo carga SOUL.md desde HERMES_HOME: no busca en el directorio de trabajo actual. Esto hace que la personalidad sea predecible entre proyectos.13
Qué corresponde en SOUL.md
Úsalo para guía duradera de voz y personalidad:13 - tono - estilo de comunicación - nivel de franqueza - estilo de interacción predeterminado - qué evitar estilísticamente - cómo debe manejar Hermes la incertidumbre, el desacuerdo y la ambigüedad
Úsalo menos para:13 - instrucciones puntuales de proyecto - rutas de archivos - convenciones del repo - detalles temporales del flujo de trabajo
Eso corresponde en AGENTS.md, no en SOUL.md.
SOUL.md vs AGENTS.md
Esta es la distinción más importante en la gestión de identidad de Hermes:13
SOUL.md: identidad, tono, estilo, valores predeterminados de comunicación, comportamiento a nivel de personalidad.
AGENTS.md: arquitectura del proyecto, convenciones de código, preferencias de herramientas, flujos de trabajo específicos del repo, comandos, puertos, rutas, notas de despliegue.
Una regla útil: si debe acompañarte a todas partes, va en SOUL.md. Si pertenece a un proyecto, va en AGENTS.md.13
Personalidades integradas
Hermes incluye personalidades integradas a las que puedes cambiar con /personality:13
| Nombre | Descripción |
|---|---|
helpful |
Asistente amigable de propósito general |
concise |
Respuestas breves y directas |
technical |
Experto técnico detallado y preciso |
creative |
Pensamiento innovador y fuera de lo común |
teacher |
Educador paciente con ejemplos claros |
kawaii |
Expresiones lindas, destellos y entusiasmo |
catgirl |
Neko-chan con expresiones felinas |
pirate |
Capitán Hermes, bucanero experto en tecnología |
shakespeare |
Prosa de bardo con estilo dramático |
surfer |
Vibra relajada de bro |
noir |
Narración de detective hard-boiled |
uwu |
Máxima ternura con habla uwu |
philosopher |
Contemplación profunda en cada consulta |
hype |
ENERGÍA MÁXIMA |
Personalidades personalizadas en config.yaml:13
agent:
personalities:
codereviewer: >
You are a meticulous code reviewer. Identify bugs, security issues,
performance concerns, and unclear design choices. Be precise and constructive.
Luego cambia con /personality codereviewer.
SOUL.md vs /personality
SOUL.md es la voz de base. /personality es una capa superpuesta a nivel de sesión.13 Mantén un SOUL.md predeterminado y pragmático; luego usa /personality teacher para una conversación de tutoría o /personality creative para una lluvia de ideas.
Nous Tool Gateway (v0.10.0+)
A partir de Hermes Agent v0.10.0 (16 de abril de 2026), los suscriptores pagos de Nous Portal obtienen acceso administrado a un conjunto curado de herramientas mediante sus credenciales existentes de Portal, sin claves de API adicionales que gestionar.26 El CLI de Hermes en sí sigue con licencia MIT y es completamente open source. Lo que cambió es que tu autenticación de Portal ahora desbloquea más que inferencia de modelos.
Qué incluye el gateway
| Herramienta | Proveedor | Caso de uso |
|---|---|---|
| Búsqueda web | Firecrawl | Recuperación para agentes que necesitan información reciente |
| Generación de imágenes | FAL / FLUX 2 Pro | Generar imágenes inline sin configurar una clave de FAL |
| Texto a voz | OpenAI TTS | Salida hablada en gateways de mensajería |
| Automatización de navegador | Browser Use | Navegación y scraping headless |
Cómo funciona
El gateway es opt-in por herramienta mediante un nuevo campo de configuración use_gateway. Si tienes credenciales de Portal en hermes auth y habilitas el gateway para una herramienta, las llamadas de esa herramienta se enrutan a través de Portal. De lo contrario, se usa tu clave directa de API (si está presente).
# config.yaml — per-tool gateway opt-in
tools:
web_search:
provider: firecrawl
use_gateway: true # route via Nous Portal subscription
image_generation:
provider: fal
use_gateway: true
Precedencia en tiempo de ejecución: cuando el gateway está disponible y una herramienta tiene use_gateway: true, Hermes prefiere el gateway incluso si también tienes configurada una clave directa de API. Esto importa para la facturación: las llamadas del gateway consumen tu suscripción de Portal, no el saldo de tu clave directa de API.
Habilitar el gateway
hermes model # select Nous Portal (OAuth flow)
hermes tools # per-platform tool picker integrates gateway tools
hermes status # confirms gateway/subscription detection
No existe un comando separado hermes subscribe ni hermes login --portal. La suscripción se detecta automáticamente a partir de las credenciales de OAuth de Portal que ya tienes en hermes auth.
Precios y acceso
Los precios y nombres de niveles se publican en la página de precios de Nous Portal (https://portal.nousresearch.com/pricing). Esta guía no enumera los niveles porque son responsabilidad del producto Portal, no del CLI de Hermes, y cambian de forma independiente a los lanzamientos de Hermes. Regístrate en https://portal.nousresearch.com/ y consulta la página de precios para ver los niveles actuales.
Aviso de obsolescencia
- La variable de entorno
HERMES_ENABLE_NOUS_MANAGED_TOOLSse eliminó en v0.10.0. Las herramientas administradas ahora se habilitan mediante el campo de configuraciónuse_gatewaypor herramienta y se restringen según el estado de tu suscripción de Portal.26
Marco: lo que esta versión no es
El CLI de Hermes Agent no está bloqueado detrás de una suscripción. El proyecto sigue con licencia MIT; todas las funciones principales (CLI, skills, memoria, messaging gateway, cron, MCP, dashboard local, BYOK para cada proveedor) funcionan de principio a fin sin pagarle a nadie. v0.10.0 agrega una ruta conveniente para usuarios que ya pagan Nous Portal; no elimina nada de la ruta gratuita.
Messaging Gateway
Hermes puede ejecutarse como un proceso gateway de larga duración que se conecta a 22 plataformas de mensajería desde un solo proceso gateway: Telegram, Discord, Slack, WhatsApp, Signal, SMS, Email, Home Assistant, Mattermost, Matrix, DingTalk, Feishu/Lark, WeCom, Weixin (WeChat), BlueBubbles (iMessage), QQBot, Microsoft Teams, Tencent Yuanbao, Google Chat, LINE, SimpleX Chat y un adaptador Webhook genérico.325171819 v0.9.0 agregó iMessage mediante BlueBubbles (registro automático de webhook, asistente de configuración, resiliencia ante fallos) y soporte nativo para WeChat mediante iLink Bot API, con modo de callback de WeCom para apps empresariales.16 v0.11.0 agregó QQBot.25 v0.12.0 agregó Microsoft Teams y Tencent Yuanbao.17 v0.13.0 agregó Google Chat como la plataforma número 20, usando la misma arquitectura de adaptadores conectables; IRC y Microsoft Teams también se migraron al nuevo patrón de adaptadores con hooks de plugin genéricos env_enablement_fn / cron_deliver_env_var.18 v0.14.0 agrega LINE y SimpleX Chat y completa el stack de Microsoft Teams de extremo a extremo con autenticación Graph, listener de webhook, runtime de pipeline y entrega saliente.19 v0.17.0 (19 de junio de 2026) agrega iMessage sin relay mediante Photon Spectrum (OAuth con hermes photon login; no se requiere relay de Mac/BlueBubbles), el adaptador oficial de WhatsApp Business Cloud API (que reemplaza el requisito de un proceso bridge), grupos de SimpleX y adjuntos nativos, y Raft como plugin de plataforma incluido.21
Configuración
hermes gateway setup # Interactive platform configuration
hermes gateway install # Install as user service (systemd/launchd)
hermes gateway start # Start the installed service
hermes gateway stop
hermes gateway restart
hermes gateway status
hermes gateway run # Run in foreground (debugging)
La configuración interactiva te guía para conectar cada plataforma: tokens API, IDs de bot, asignaciones de canales y listas de permitidos.6
Cómo fluyen los mensajes
Según la documentación de arquitectura upstream:3
Platform event → Adapter.on_message() → MessageEvent
→ GatewayRunner._handle_message()
→ authorize user
→ resolve session key
→ create AIAgent with session history
→ AIAgent.run_conversation()
→ deliver response back through adapter
Todas las plataformas de mensajería pasan por el mismo bucle de conversación AIAgent que CLI. Por eso los comandos slash funcionan igual en ambos lugares y por eso un cron job programado en Telegram puede entregar su salida en Discord: la diferencia entre plataformas está solo en el borde.3
Autorización y emparejamiento de usuarios
hermes pairing list # Show pending and approved users
hermes pairing approve <platform> <code>
hermes pairing revoke <platform> <user-id>
hermes pairing clear-pending
Los códigos de emparejamiento evitan que desconocidos al azar hablen con tu gateway. Un usuario envía un código de emparejamiento desde su plataforma de mensajería; lo apruebas con hermes pairing approve; desde ese momento queda autorizado.6
Tareas programadas (Cron)
Hermes tiene un sistema cron de primera clase donde los jobs son tareas de agente, no comandos de shell. Cada job programado se ejecuta mediante un AIAgent nuevo con el prompt configurado, skills adjuntas opcionales, y entrega resultados a cualquier plataforma:36
hermes cron list
hermes cron create --prompt "Check HN for AI news and summarize" --schedule "0 9 * * *" --deliver telegram
hermes cron edit <id>
hermes cron pause <id>
hermes cron resume <id>
hermes cron run <id> # Trigger now on the next tick
hermes cron remove <id>
hermes cron status # Check if scheduler is running
hermes cron tick # Run due jobs once and exit
O crea uno de forma conversacional dentro de un chat de mensajería:
Every morning at 9am, check Hacker News for AI news and send me a summary on Telegram.
El agente configurará el cron job mediante sus herramientas. Los jobs persisten en JSON y sobreviven a los reinicios.3
Integración con MCP
Hermes admite Model Context Protocol tanto como cliente como servidor:6
Como cliente: conecta Hermes a servidores MCP externos para ampliar su superficie de herramientas:
hermes mcp add <name> --url https://example.com/mcp
hermes mcp add <name> --command npx --args "-y,@modelcontextprotocol/server-github"
hermes mcp list
hermes mcp test <name>
hermes mcp remove <name>
hermes mcp configure <name> # Toggle individual tool selection
O manualmente en config.yaml:14
mcp_servers:
github:
command: npx
args: ["-y", "@modelcontextprotocol/server-github"]
env:
GITHUB_PERSONAL_ACCESS_TOKEN: "ghp_xxx"
Como servidor: expón conversaciones de Hermes a otros agentes:
hermes mcp serve
hermes mcp serve -v # Verbose
Compresión de contexto
Hermes comprime automáticamente las conversaciones largas para mantenerse dentro de la ventana de contexto de tu modelo. El resumidor de compresión es una llamada LLM separada; puedes apuntarlo a cualquier proveedor o endpoint.4
compression:
enabled: true
threshold: 0.50 # Compress at this % of context limit
target_ratio: 0.20 # Fraction to preserve as recent tail
protect_last_n: 20 # Min recent messages to keep uncompressed
summary_model: "google/gemini-3-flash-preview"
summary_provider: "auto" # "auto", "openrouter", "nous", "codex", "main", etc.
summary_base_url: null # Custom OpenAI-compatible endpoint
Opciones de proveedor:4
summary_provider |
summary_base_url |
Resultado |
|---|---|---|
auto (default) |
not set | Detecta automáticamente el mejor proveedor disponible |
nous / openrouter / etc. |
not set | Fuerza ese proveedor y usa su autenticación |
| any | set | Usa directamente el endpoint personalizado (se ignora el proveedor) |
summary_model debe admitir una longitud de contexto al menos tan grande como la de tu modelo principal, ya que recibe toda la sección intermedia de la conversación para comprimirla.4
Advertencias de presión de presupuesto
Cuando el agente trabaja en una tarea compleja con muchas llamadas a herramientas, puede agotar su presupuesto de iteraciones (predeterminado: 90 turnos) sin darse cuenta. La presión de presupuesto advierte automáticamente al modelo:4
| Umbral | Nivel | Lo que ve el modelo |
|---|---|---|
| 70% | Precaución | [BUDGET: 63/90. 27 iterations left. Start consolidating.] |
| 90% | Advertencia | [BUDGET WARNING: 81/90. Only 9 left. Respond NOW.] |
Timeouts de streaming
La conexión de streaming LLM tiene dos capas de timeout que se ajustan automáticamente para proveedores locales (localhost, IPs LAN):4
| Timeout | Predeterminado | Proveedores locales | Env var |
|---|---|---|---|
| Timeout de lectura de socket | 120s | Se eleva automáticamente a 1800s | HERMES_STREAM_READ_TIMEOUT |
| Detección de stream inactivo | 180s | Se desactiva automáticamente | HERMES_STREAM_STALE_TIMEOUT |
| Llamada API (sin streaming) | 1800s | Sin cambios | HERMES_API_TIMEOUT |
El timeout de lectura de socket se eleva a 30 minutos para endpoints locales porque los LLM locales pueden tardar minutos en hacer el prefill de contextos grandes antes de producir el primer token.4
Dashboard web local (v0.9.0+)
Un dashboard basado en navegador para administrar tu Hermes Agent localmente. Configura opciones, monitorea sesiones, explora skills y administra tu gateway sin tocar archivos de configuración ni la terminal.16 Inícialo con hermes dashboard. Es la ruta de onboarding más sencilla para usuarios nuevos que prefieren una GUI.
Monitoreo de procesos en segundo plano (v0.9.0+)
watch_patterns te permite definir patrones para monitorear la salida de procesos en segundo plano y recibir notificaciones en tiempo real cuando coincidan.16 Monitorea errores, espera eventos específicos (“listening on port”) o revisa logs de compilación, todo sin hacer polling. Combinado con notify_on_complete de v0.8.0 (que notifica cuando termina una tarea en segundo plano), Hermes ahora tiene una capa completa de observabilidad para procesos en segundo plano.15
Context engine conectable (v0.9.0+)
La gestión de contexto ahora es un slot conectable mediante hermes plugins. Sustituye context engines personalizados que controlan lo que ve el agente en cada turno: filtrado, resumen o inyección de contexto específica del dominio.16 Esto desacopla la estrategia de contexto del bucle central del agente, lo que permite personalizar el contexto por proyecto o por dominio.
Backup y restauración (v0.9.0+)
hermes backup crea un archivo completo de tu configuración, sesiones, skills y memoria. hermes import restaura desde un archivo de backup.16 Úsalo para migrar entre máquinas, crear snapshots antes de cambios importantes o compartir una configuración validada con tus compañeros de equipo.
Compatibilidad con Termux / Android (v0.9.0+)
Hermes se ejecuta de forma nativa en Android mediante Termux. Las rutas de instalación adaptadas, las optimizaciones de TUI para pantallas móviles, el soporte de backend de voz y el comando /image funcionan en el dispositivo.16
Refuerzo de seguridad (v0.13.0+)
v0.13.0 cerró 8 problemas de seguridad P0 y cambió un valor predeterminado a favor del usuario.18 v0.14.0 continúa con otros 12 cierres P0 y 50 P1, incluidos el refuerzo contra fuerza bruta de sudo / sudo-stdin, correcciones de evasión de comandos peligrosos, sanitización de errores de herramientas antes de reinyectarlos en el modelo, auth de dashboard plugin API, cobertura SSRF de skills-hub y escaneo de avisos de supply-chain durante la instalación.19
| Corrección | Qué cambió |
|---|---|
| Redacción de secretos activada por defecto | Antes era opt-in. Los logs y las cargas de hermes debug share redactan secretos salvo que se desactive explícitamente. v0.12.0 había desactivado la redacción por defecto después de reportes de corrupción de payloads; v0.13.0 la vuelve a activar como la base más segura. |
| Evasión de DM cross-guild en Discord (CVSS 8.1) | Las allowlists de roles de Discord ahora tienen alcance por guild, lo que cierra una ruta donde un rol de usuario en una guild autorizaba DMs en todas las demás. |
| Restricciones predeterminadas de WhatsApp | El adaptador de WhatsApp rechaza desconocidos por defecto y nunca responde en self-chat. |
| Ventana TOCTOU de MCP OAuth | Se cerró una condición de carrera durante el guardado de credenciales en flujos de MCP OAuth. |
TOCTOU de auth.json de CLI |
Se cerró una ventana TOCTOU análoga en el escritor de credenciales para el almacén de auth de CLI. |
| Piso SSRF del navegador | El enrutamiento híbrido aplica un piso SSRF contra metadatos de nube frente a solicitudes que intentan llegar a 169.254.169.254 y equivalentes. |
| Escaneo de prompt injection en Cron | Los prompts ensamblados (incluido el contenido de skill cargado) se escanean en busca de prompt injection antes de que se ejecute el cron job. |
Redacción de hermes debug share |
Las cargas de debug share redactan el contenido de logs al momento de cargar, no solo al momento de escribir. |
Si mantienes un despliegue de Hermes, trata v0.13.0 y v0.14.0 como actualizaciones relevantes para la seguridad, no solo como lanzamientos de funciones. v0.13.0 cierra la evasión cross-guild de Discord y dos ventanas TOCTOU; v0.14.0 agrega otra pasada de refuerzo en el manejo de sudo, la reinyección de errores de herramientas, los APIs de plugins, SSRF de skills-hub y avisos de dependencias.
Arquitectura para practicantes
Esta sección es para quienes quieren entender qué ocurre bajo el capó para poder depurarlo, extenderlo o razonar sobre el rendimiento. Es una síntesis de la documentación de arquitectura upstream.3
Puntos de entrada → AIAgent
Cada punto de entrada en Hermes termina llamando a AIAgent.run_conversation():
┌──────────────────────────────────────────────────────────────────┐
│ Entry Points │
│ │
│ CLI (cli.py) Gateway (gateway/run.py) ACP (acp_adapter/) │
│ Batch Runner API Server Python Library │
└──────────┬──────────────┬───────────────────────┬────────────────┘
│ │ │
▼ ▼ ▼
┌──────────────────────────────────────────────────────────────────┐
│ AIAgent (run_agent.py) │
│ │
│ ┌─────────────┐ ┌──────────────┐ ┌──────────────┐ │
│ │ Prompt │ │ Provider │ │ Tool │ │
│ │ Builder │ │ Resolution │ │ Dispatch │ │
│ └──────┬──────┘ └──────┬───────┘ └──────┬───────┘ │
│ │ │ │ │
│ ┌──────┴───────┐ ┌──────┴───────┐ ┌──────┴───────┐ │
│ │ Compression │ │ 3 API Modes │ │ Tool Registry│ │
│ │ & Caching │ │ chat_compl │ │ 47 tools │ │
│ │ │ │ codex_resp │ │ 20 toolsets │ │
│ │ │ │ anthropic │ │ │ │
│ └──────────────┘ └──────────────┘ └──────────────┘ │
└──────────────────────────────────────────────────────────────────┘
Diagrama adaptado de la documentación de arquitectura upstream.3
“47 tools / 20 toolsets” frente a “28 tools” en tu banner. El conteo de “47 tools” es el registro total de herramientas del repositorio upstream: todas las herramientas para las que Hermes incluye código fuente, en todos los toolsets. Tu CLI real en ejecución mostrará un número menor en su banner de inicio (la instalación con la que verifiqué esta guía reporta 28 tools / 89 skills). No es un bug. Muchos toolsets son opt-in y deben habilitarse explícitamente en config.yaml dentro de toolsets:: adaptadores de plataformas de mensajería, automatización de navegador, herramientas de scraping más pesadas, etc. El total del registro es “lo que está disponible”; el número del banner es “lo que está habilitado en tu profile actual”. Revisa qué toolsets están activos con hermes tools --list y habilita o deshabilita toolsets individuales con el bloque toolsets: en ~/.hermes/config.yaml (o /tools list / /tools enable <name> / /tools disable <name> dentro de una sesión en ejecución; quitar una herramienta provoca un reinicio de sesión para que el agente reconstruya su manifiesto de herramientas).
Los tres modos API
Hermes abstrae las diferencias entre proveedores en tres modos API, seleccionados automáticamente en tiempo de ejecución:3
| Modo API | Usado por |
|---|---|
chat_completions |
OpenRouter, z.ai, Kimi, MiniMax, DeepSeek, Alibaba, la mayoría de endpoints personalizados, cualquier servidor compatible con OpenAI |
codex_responses |
OpenAI Codex (vía ChatGPT OAuth) |
anthropic_messages |
Anthropic API (nativo), Anthropic OAuth, proxies compatibles con Anthropic |
El resolver runtime_provider.py mapea tuplas (provider, model) a (api_mode, api_key, base_url) para más de 18 proveedores, y maneja flujos OAuth, pools de credenciales y resolución de alias.3
Flujo de datos a través de una sesión CLI
User input → HermesCLI.process_input()
→ AIAgent.run_conversation()
→ prompt_builder.build_system_prompt()
→ runtime_provider.resolve_runtime_provider()
→ API call (chat_completions / codex_responses / anthropic_messages)
→ tool_calls? → model_tools.handle_function_call() → loop
→ final response → display → save to SessionDB
De la página de arquitectura upstream.3
Orden de ensamblaje de prompts
La pila de prompts incluye:13
SOUL.md(identidad del agente, o fallback integrado si no está disponible)- Guía de comportamiento consciente de herramientas
- Memoria/contexto de usuario (
MEMORY.md,USER.md) - Guía de skills
- Archivos de contexto (
AGENTS.md,.cursorrules) - Marca de tiempo
- Pistas de formato específicas de la plataforma
- Overlays opcionales de system-prompt como
/personality
SOUL.md es la base: todo lo demás se construye encima.13
Almacenamiento de sesiones
Almacenamiento de sesiones basado en SQLite con búsqueda de texto completo FTS5. Las sesiones tienen seguimiento de linaje (padre/hijo a través de compresiones), aislamiento por plataforma y escrituras atómicas con manejo de contención.3
Sistema de plugins
Tres fuentes de descubrimiento: ~/.hermes/plugins/ (usuario), .hermes/plugins/ (proyecto) y entry points de pip. Los plugins registran herramientas, hooks y comandos de CLI mediante un contexto API. Los proveedores de memoria son un tipo especializado de plugin dentro de plugins/memory/.3
hermes plugins # Interactive enable/disable UI
hermes plugins install <repo> # Install from Git URL or owner/repo
hermes plugins enable <name>
hermes plugins disable <name>
hermes plugins list
Principios de diseño
De la página de arquitectura upstream:3
| Principio | Qué significa en la práctica |
|---|---|
| Estabilidad del prompt | El system prompt no cambia a mitad de conversación. No hay mutaciones que rompan la caché salvo acciones explícitas del usuario (/model) |
| Ejecución observable | Cada llamada de herramienta es visible para el usuario mediante callbacks. Actualizaciones de progreso en CLI (spinner) y gateway (mensajes de chat) |
| Interrumpible | Las llamadas API y la ejecución de herramientas pueden cancelarse a mitad de vuelo por entrada del usuario o señales |
| Núcleo agnóstico a la plataforma | Una clase AIAgent sirve a CLI, gateway, ACP, batch y servidor API. Las diferencias de plataforma viven en el punto de entrada |
| Acoplamiento flexible | Los subsistemas opcionales (MCP, plugins, proveedores de memoria, entornos RL) usan patrones de registro y gating con check_fn, no dependencias fuertes |
| Aislamiento de profile | Cada profile obtiene su propio HERMES_HOME, configuración, memoria, sesiones y PID de gateway. Varios profiles se ejecutan en paralelo |
Migración desde OpenClaw
Hermes Agent es el sucesor de OpenClaw. Si estás migrando desde una instalación existente de OpenClaw:65
hermes claw migrate --dry-run # Preview what would be migrated
hermes claw migrate --preset full # Full migration including API keys
hermes claw migrate --preset user-data --overwrite # User data only, no secrets
hermes claw migrate --source /custom/path # Non-default OpenClaw location
hermes claw migrate lee desde ~/.openclaw por defecto (también detecta automáticamente directorios heredados ~/.clawdbot y ~/.moldbot) y escribe en ~/.hermes.6
Importado directamente (más de 30 categorías): SOUL.md, MEMORY.md, USER.md, AGENTS.md, skills de 4 directorios fuente, modelo predeterminado, proveedores personalizados, servidores MCP, tokens y allowlists de plataformas de mensajería (Telegram, Discord, Slack, WhatsApp, Signal, Matrix, Mattermost), valores predeterminados del agente (reasoning effort, compresión, human delay, zona horaria, sandbox), políticas de reinicio de sesión, reglas de aprobación, configuración de TTS, configuración del navegador, configuración de herramientas, exec timeout, command allowlist, configuración de gateway y claves API de 3 fuentes.6
Archivado para revisión manual: cron jobs, plugins, hooks/webhooks, backend de memoria (QMD), configuración del registro de skills, UI/identidad, logging, configuración multi-agente, vinculaciones de canales, IDENTITY.md, TOOLS.md, HEARTBEAT.md, BOOTSTRAP.md.6
La resolución de claves API revisa tres fuentes en orden de prioridad: valores de configuración → ~/.openclaw/.env → auth-profiles.json.6
Solución de problemas
“Clave API no configurada”
Ejecuta hermes model para configurar tu proveedor de forma interactiva, o hermes config set OPENROUTER_API_KEY your_key. El comando hermes doctor te dirá exactamente qué claves faltan.7
“Límite de contexto: 2048 tokens” al iniciar (modelos locales)
Hermes detecta automáticamente la longitud de contexto desde el endpoint /v1/models de tu servidor, pero muchos servidores locales reportan valores predeterminados bajos. Configúralo explícitamente en config.yaml:2
model:
default: your-model
provider: custom
base_url: http://localhost:11434/v1
context_length: 32768
Las llamadas a herramientas aparecen como texto en lugar de ejecutarse
Tu servidor no tiene habilitadas las llamadas a herramientas, o el modelo no las admite a través de la implementación del servidor.2
| Servidor | Corrección |
|---|---|
| llama.cpp | Agrega --jinja al comando de inicio |
| vLLM | Agrega --enable-auto-tool-choice --tool-call-parser hermes |
| SGLang | Agrega --tool-call-parser qwen (o el analizador adecuado) |
| Ollama | Las llamadas a herramientas están habilitadas de forma predeterminada; verifica que tu modelo las admita con ollama show <model> |
| LM Studio | Actualiza a 0.3.6+ y usa un modelo con soporte nativo para herramientas |
Las respuestas se cortan a mitad de una oración
Hay dos causas posibles:2
- Límite bajo de salida (
max_tokens) en el servidor: SGLang usa 128 tokens por respuesta de forma predeterminada. Configura--default-max-tokensen el servidor o definemodel.max_tokensenconfig.yaml. - Agotamiento del contexto: el modelo llenó su ventana de contexto. Aumenta
model.context_lengtho habilita la compresión de contexto en Hermes.
“Connection refused” desde WSL2 hacia un servidor de modelos alojado en Windows
WSL2 usa un adaptador de red virtual con su propia subred: localhost dentro de WSL2 apunta a la VM de Linux, no al host de Windows. Hay dos opciones:2
Red en modo espejo (Windows 11 22H2+): edita %USERPROFILE%\.wslconfig:
[wsl2]
networkingMode=mirrored
Luego ejecuta wsl --shutdown y reinicia. Ahora localhost funciona en ambas direcciones.
Alternativa con IP del host (versiones anteriores de Windows): obtén la IP del host de Windows desde WSL2 y úsala en lugar de localhost:
ip route show | grep -i default | awk '{ print $3 }'
# Use that IP as the base_url host
También necesitas que el servidor de modelos se vincule a 0.0.0.0, no a 127.0.0.1: configura OLLAMA_HOST=0.0.0.0 para Ollama, agrega --host 0.0.0.0 para llama-server/SGLang, o habilita “Serve on Network” en LM Studio.2
¿Dónde está todo?
hermes status y hermes dump son tus aliados aquí. hermes logs list muestra todos los archivos de registro con sus tamaños. hermes config path imprime la ubicación del archivo de configuración. hermes config env-path imprime la ubicación de .env.6
Preguntas frecuentes
¿Cuál es la diferencia entre Hermes Agent y Claude Code?
Claude Code es el CLI oficial de Anthropic, limitado a los modelos de Anthropic. Hermes Agent es un framework de agentes open-source de Nous Research que funciona con cualquier proveedor compatible con OpenAI: Nous Portal, OpenRouter, Anthropic, GitHub Copilot, z.ai, Kimi, MiniMax, DeepSeek, Hugging Face, Google o tu propio endpoint autoalojado.12 Hermes también incluye un gateway de mensajería para Telegram/Discord/Slack/WhatsApp/Signal que Claude Code no tiene.
¿Puedo usar Hermes con una clave API de Anthropic?
Sí. Hay tres formas:2
- Configura
ANTHROPIC_API_KEYen~/.hermes/.envy ejecutahermes chat --provider anthropic --model claude-sonnet-4-6 - Ejecuta
hermes modely selecciona Anthropic; Hermes usará el almacén de credenciales de Claude Code cuando esté disponible - Configura manualmente un
ANTHROPIC_TOKEN(token setup-token o token OAuth) como alternativa
La opción 2 es la recomendada si ya usas Claude Code en la misma máquina, porque mantiene actualizables las credenciales Claude que pueden renovarse.
¿Cómo cambio de proveedor sin perder mi conversación?
Usa /model provider:model dentro de una sesión. El historial de conversación, la memoria y las skills se conservan:9
/model zai:glm-5
/model openrouter:anthropic/claude-sonnet-4
/model custom:local:qwen-2.5
Configuré Anthropic, pero vision/web/compression no funcionan
Estás llegando al fallback del modelo auxiliar. Vision, la síntesis web, la compresión y otras tareas secundarias usan un LLM auxiliar separado: de forma predeterminada, Gemini Flash mediante detección automática (OpenRouter → Nous → Codex). Si ninguno de esos está configurado y solo tienes Anthropic listo, estas funciones se degradan de forma silenciosa.4
Corrección: agrega una OPENROUTER_API_KEY para tareas auxiliares, o reconfigura los slots auxiliares para usar tu proveedor principal. Ten en cuenta que la compresión de contexto vive en su propio bloque de nivel superior compression: y usa summary_provider, no auxiliary.compression.provider; el slot auxiliary.compression solo expone un timeout. Corrección completa:
auxiliary:
vision: { provider: "main" }
web_extract: { provider: "main" }
compression:
summary_provider: "main"
¿Cuál es la diferencia entre SOUL.md y AGENTS.md?
SOUL.md es la identidad de tu agente: tono, estilo y valores predeterminados de comunicación. Vive en ~/.hermes/SOUL.md y te acompaña a todas partes. AGENTS.md es específico del proyecto: arquitectura, convenciones, comandos y rutas, y vive en el directorio de tu proyecto.13 Si debe seguirte a todas partes, va en SOUL.md. Si pertenece a un proyecto, va en AGENTS.md.
¿Cómo ejecuto varias instancias de Hermes en paralelo?
Con profiles. Cada profile obtiene su propio HERMES_HOME, configuración, memoria, sesiones y PID de gateway:6
hermes profile create work --clone
hermes profile use work # Sticky default
hermes -p work chat -q "..." # One-off without switching
hermes profile alias work --name h-work # Wrapper script
¿Hermes admite LLMs locales?
Sí, mediante la ruta de endpoint personalizado. Hermes funciona con cualquier servidor compatible con OpenAI: Ollama, vLLM, SGLang, llama.cpp/llama-server, LM Studio, LocalAI, Jan o el tuyo propio.2 Consulta Endpoints personalizados y autoalojados para ver la configuración por servidor.
¿Por qué mi banner de inicio muestra menos herramientas de las que la guía dice que tiene Hermes?
La guía cita 47 herramientas / 20 toolsets del registro de arquitectura upstream: ese es el conteo completo de herramientas para las que Hermes incluye código fuente en todos los toolsets. Tu instalación en ejecución muestra un número menor en el banner (la instalación de referencia usada para esta guía reporta 28 herramientas) porque Hermes solo habilita el conjunto predeterminado de toolsets al iniciar. Muchos toolsets son opcionales: los adaptadores de gateway de mensajería, la automatización de navegador, los stacks de scraping más pesados y varias integraciones especializadas deben listarse explícitamente bajo toolsets: en ~/.hermes/config.yaml antes de cargarse. Total del registro = “lo que está disponible si lo habilitas”. Total del banner = “lo que tu profile actual cargó realmente”. Usa hermes tools --list para ver qué toolsets están activos y cuáles están disponibles pero deshabilitados. Activa o desactiva toolsets individuales en tiempo de ejecución con /tools enable <name> y /tools disable <name> (deshabilitar uno activa un reinicio de sesión para que el agente reconstruya su manifiesto de herramientas con la nueva forma).
¿Cómo maneja Hermes el fallback de modelo cuando falla mi proveedor principal?
Configura un bloque fallback_model en config.yaml:2
fallback_model:
provider: openrouter
model: anthropic/claude-sonnet-4
Cuando falla el principal (límite de tasa, error del servidor, falla de autenticación), Hermes cambia al fallback a mitad de sesión sin perder el historial de conversación. Se activa como máximo una vez por sesión.
¿El agente puede mejorar sus propias skills con el tiempo?
Sí: esa es la parte “self-improving” de Hermes Agent. El agente puede crear, actualizar y eliminar skills mediante la herramienta skill_manage. Cuando descubre un flujo de trabajo no trivial, guarda el enfoque como una skill para reutilizarlo en el futuro.11 El agente crea skills después de tareas complejas (5+ llamadas a herramientas), cuando encuentra errores y descubre la ruta que funciona, cuando corriges su enfoque o cuando descubre un flujo de trabajo no trivial.
¿Hay integración con IDE?
Sí. Hermes puede ejecutarse como servidor ACP (Agent Client Protocol) para VS Code, Zed y JetBrains:6
pip install -e '.[acp]'
hermes acp
Registro de cambios
| Fecha | Cambio | Fuente |
|---|---|---|
| 2026-07-01 | Guía v1.10: v0.18.0 “The Judgment Release” (1 de julio de 2026, etiqueta v2026.7.1). Se agregó la sección “Novedades en v0.18.0”: backlog P0/P1 completo cerrado (~692 elementos); Mixture-of-Agents de primera clase con salida de ensemble etiquetada por modelo y transmisión en vivo; contratos de finalización: /goal verifica su propio trabajo ejecutando las comprobaciones del proyecto; /learn (describe un flujo de trabajo → skill reutilizable, compatible con CONTRIBUTING.md); /journey línea de tiempo de memoria/skill + grafo de memoria de escritorio; distribución en abanico de subagentes en segundo plano (tareas delegadas concurrentes); Desktop Projects (proyecto/repo/carril); gateway scale-to-zero con coordinación de drenado; Google Vertex AI (Gemini mediante cuentas de servicio de GCP, actualización automática de OAuth2); /prompt compositor con \$EDITOR. Fuente: releases de hermes-agent. |
22 |
| 2026-06-21 | Guía v1.9: v0.17.0 “The Reach Release” (19 de junio de 2026, etiqueta v2026.6.19). Se agregó la sección “Novedades en v0.17.0”. Mensajería: iMessage sin relay mediante Photon Spectrum (hermes photon login, OAuth con código de dispositivo), adaptador oficial de WhatsApp Business Cloud API (sin bridge), grupos + adjuntos de SimpleX, plugin de plataforma Raft. Modelos: z-ai/glm-5.2 (1M), anthropic/claude-fable-5, laguna-m.1, nemotron-3-ultra, grok-composer-2.5-fast (OAuth de xAI, 200k); valor predeterminado de xAI → grok-build-0.1; los modelos adaptativos de Anthropic eliminan el campo reasoning. Escritorio/dashboard: subagentes en segundo plano con ventanas de observación en vivo (delegate_task(background=true)), constructor completo de profile, Skills Hub rediseñado, Automation Blueprints, inicio de sesión 401 seguro, temas de VS Code Marketplace, interfaz en japonés + chino tradicional. Skills/herramientas: edición imagen a imagen con image_generate, lote atómico de operations en memory, skill simplify-code, write_approval booleano (reemplaza write_mode). Arquitectura: handler de elicitación MCP, CronScheduler + Chronos conectables, alcance Managed (/etc/hermes), relay Gateway-Gateway. Comandos: /version, /billing, hermes curator run --consolidate (opt-in). Seguridad: se cerró el bypass de denylist con escape de shell, adapters de aprobación/gateway fail-closed, entorno de cron saneado, secretos redactados en volcados de debug, filtrado de exfiltración por stdio de MCP, actualizaciones por CVE de urllib3 + PyJWT. |
21 |
| 2026-06-08 | Guía v1.8: v0.16.0 “The Surface Release” (5 de junio de 2026, etiqueta v2026.6.5). Se cambió el título de la guía a v0.16 y se agregó la sección “Novedades en v0.16.0”. Titular: Hermes ya no es solo terminal. Aplicación nativa Hermes Desktop (Electron, macOS/Linux/Windows) con instalación de un clic, autoactualización dentro de la app, chat con streaming, arrastrar y soltar + pegado de imágenes desde el portapapeles, paleta Cmd+K, archivo/búsqueda de sesiones, selector de modelo en la barra de estado, conexión a remote-gateway mediante WebSocket seguro (OAuth o usuario/contraseña, hosts por profile, enlaces @session entre profiles) y traducción completa al chino simplificado mediante i18n tipado. Panel de administración en navegador (web dashboard → administración completa): habilitar/deshabilitar catálogo MCP, gestión de credenciales, creación de webhooks/hooks, configuración de memoria, controles de gateway, página System con comprobación antes de actualizar + Debug Share, nueva página Channels y autenticación conectable (usuario/contraseña, OIDC autoalojado, hermes dashboard register). Nuevos comandos: /undo [N] (CLI/TUI/mensajería), interfaz predeterminada configurable (cli/tui, --cli), /model unificado en TUI + superposición de Sessions, hermes portal, hermes prompt-size, hermes sessions optimize. Nuevos modelos: deepseek-v4-flash, MiniMax-M3 (contexto 1M), qwen3.7-plus, gemini-3.5-flash; OAuth de xAI Grok de primera clase en el lanzador de escritorio; selector difuso de modelos; actualización horaria del catálogo. Skills: conjunto predeterminado más ligero (Spotify → plugin nativo, Linear → hermes mcp install linear, skills obsoletas eliminadas), puerta de relevancia environments: (kanban/docker/s6), tap confiable predeterminado NVIDIA/skills, divulgación progresiva (acotada) de herramientas MCP/plugin. Seguridad: CVE-2026-48710 (Starlette BadHost) fijado en ≥1.0.1; comprobaciones SSRF fuera del event loop; token bearer de Bedrock eliminado del entorno de subprocess; bws_cache.json protegido contra lectura; docker restart/stop/kill agregado a patrones peligrosos; saneamiento de Unicode invisible. Se cerraron 2 P0 + 62 P1 (16 etiquetados como seguridad). |
20 |
| 2026-05-31 | Guía v1.7.1: v0.15.1 (29 de mayo de 2026, 01:12 UTC) — parche Velocity. Hotfix del mismo día posterior a Velocity; línea de etiqueta fijada v2026.5.29. Corrige el ciclo de recarga 401 del dashboard que afectaba despliegues en modo loopback. Docker ya no trata --insecure como implícito: define HERMES_DASHBOARD_INSECURE=1 explícitamente para volver a activarlo. Los comandos básicos de MCP (npx, npm, node) vuelven a resolverse correctamente dentro de contenedores Docker. Se renderizan las píldoras de origen y la barra lateral de categorías de la página Skills. Los workers de Kanban responden limpiamente a SIGTERM en vez de dejar procesos huérfanos. El catálogo de Skills.sh se amplió de 858 a 19.932 entradas mediante descubrimiento por sitemap. 28 commits, 21 PRs fusionados, 9 colaboradores. v0.15.2 (29 de mayo de 2026, 13:37 UTC) — parche de empaquetado Velocity. Corrige distribuciones wheel y sdist para incluir manifiestos plugin.yaml, de modo que las instalaciones desde PyPI funcionen sin cargar lateralmente el árbol fuente. Hotfix solo de empaquetado, 4 colaboradores. |
23 |
| 2026-05-28 | Guía v1.7: Se agregó v0.15.0 (28 de mayo de 2026) — The Velocity release (etiqueta v2026.5.28). Titular: una refactorización masiva + nuevas primitivas de orquestación. Refactorización del código base: run_agent.py se redujo 76% (16.083 → 3.821 líneas), distribuido en 14 módulos cohesivos. Multi-agent Kanban v2: descomposición automática de objetivos de alto nivel en subtareas, topología de swarm para coordinación paralela de workers, overrides de modelo por tarea, tareas programadas, gestión de worktrees. Rendimiento: otro segundo ahorrado en arranque en frío; reducción de 47% en llamadas a funciones por conversación; session_search rediseñado para ser 4.500× más rápido con la dependencia LLM eliminada (y su costo API eliminado). Seguridad: la defensa Promptware protege contra inyección de prompts tipo Brainworm en tres puntos de control de seguridad; la integración con Bitwarden Secrets Manager reemplaza múltiples claves API por proveedor con un único token de arranque. Paquetes de skills: carga múltiples skills simultáneamente con un solo slash command. Orquestador de sesiones TUI: gestión de múltiples sesiones en una sola ventana de terminal. Nuevos proveedores: soporte para Krea 2 (Medium/Large) y plugin FAL para generación de imágenes; la ronda de integración de xAI agrega un plugin de búsqueda web, upstream OAuth, detección de modelos retirados y pausas naturales de TTS. Estadísticas: 1.302 commits, 747 PRs fusionados, 321 colaboradores de la comunidad. Según las notas de release de GitHub, un patch release del mismo día o el siguiente aborda el ciclo de recarga 401 del dashboard, variable de entorno explícita para --insecure en Docker, resolución de comandos básicos de MCP en Docker (npx, npm, node), restauración de la página Skills, manejo de SIGTERM en workers de Kanban y el catálogo completo de Skills con 19.932 entradas mediante sitemap. |
24 |
| 2026-05-21 | Guía v1.6: Se agregó v0.14.0 (16 de mayo de 2026) — The Foundation release. Titular: base de instalación/runtime más ligera, además de superficies más amplias de proveedores, gateway, medios y verificación. Se agregó OAuth de SuperGrok con grok-4.3 y contexto 1M, hermes proxy compatible con OpenAI para proveedores OAuth, x_search de primera clase, pip install hermes-agent, instalaciones diferidas de dependencias, lanzamiento ~19 s más rápido, llamadas CDP del navegador 180x más rápidas, LINE + SimpleX Chat para 22 plataformas de mensajería, Microsoft Teams de punta a punta, /handoff, /subgoal, botones nativos de aclaración en Telegram/Discord, backfill de historial de Discord, vision_analyze con píxeles sin procesar, pie de verificación de mutaciones de archivo por turno, diagnósticos semánticos LSP en cada escritura, video_generate unificado, computer_use mediante cua-driver para proveedores que no son Anthropic, URLs clicables OSC8, soporte para Zed ACP Registry, router OpenRouter Pareto Code, NovitaAI, runtime de app-server de Codex, tap confiable huggingface/skills, 9 skills opcionales, plugin ctx.llm / tool_override, búsqueda web Brave/DDGS, cambio de nombre de Qwen Cloud, beta nativa de Windows y cierres de 12 P0 / 50 P1. |
19 |
| 2026-05-07 | Guía v1.5: Se agregó v0.13.0 (7 de mayo de 2026) — The Tenacity release. Titular: un tablero Kanban multi-agent duradero (heartbeat, recuperación, detección de zombies, puerta de alucinación, max_retries por tarea, tableros multiproyecto) que convierte los swarms en una primitiva de primera clase en vez de un patrón de delegación. El comando /goal fija al agente a un objetivo entre turnos (patrón Ralph-loop como slash command). Nueva herramienta video_analyze, primero Gemini, con soporte extensible para modelos compatibles. Proveedor xAI Custom Voices TTS con clonación de voz. i18n en 7 idiomas (zh-Hans, ja, de, es, fr, uk, tr) para mensajes de CLI y gateway; documentación solo zh-Hans. Google Chat como plataforma de mensajería número 20 mediante el patrón de adapter conectable; IRC + Microsoft Teams migraron al mismo patrón. ProviderProfile ABC + plugins/model-providers/ para proveedores externos conectables sin cambios en el núcleo. Reanudación automática de sesiones tras reinicio del gateway, /update y recarga de archivos fuente. Reescritura de Checkpoints v2 con diseño de almacén único, poda real y límites de seguridad de disco. Ocho cierres de seguridad P0: redacción de secretos activada por defecto, bypass de DM entre guilds de Discord (CVSS 8.1), rechazo de desconocidos + silenciamiento de autochat en WhatsApp, TOCTOU de OAuth en MCP, TOCTOU de auth.json en CLI, piso SSRF de navegador, escaneo de inyección de prompts en cron, redacción en hermes debug share. Linting posterior a escritura para Python/JSON/YAML/TOML, modo no_agent de cron solo con scripts, allowlists de plataforma en Slack/Telegram/Mattermost/Matrix/DingTalk, mejoras de MCP (transporte SSE, reenvío de OAuth, etiquetas MEDIA de imagen). Estadísticas desde v0.12.0: 864 commits, 588 PRs fusionados, 829 archivos modificados, 295 colaboradores de la comunidad, 282 issues cerrados (13 P0, 36 P1). |
18 |
| 2026-05-06 | Guía v1.4: Se agregó v0.12.0 (30 de abril de 2026) — The Curator release. Titular: un Curator autónomo en segundo plano que se ejecuta en el ticker cron del gateway (ciclo predeterminado de 7 días), califica la biblioteca de skills con una rúbrica, poda skills muertas, consolida skills relacionadas y escribe informes por ejecución: Hermes se mantiene a sí mismo entre sesiones activas. El ciclo de auto-mejora se actualizó con calificación basada en rúbricas, sesgo hacia actualizaciones activas, herencia correcta de runtime y toolsets acotados restringidos a memoria y skills. Cuatro nuevos proveedores de inferencia: GMI Cloud, Azure AI Foundry, OAuth de MiniMax y Tencent Tokenhub. LM Studio promovido a primera clase. Los manifiestos remotos del catálogo de modelos ahora se actualizan automáticamente sin releases. Dos nuevas plataformas de mensajería: Microsoft Teams (19.ª, mediante arquitectura de gateway conectable) y Tencent Yuanbao (18.ª, texto + medios nativos). Spotify nativo mediante OAuth PKCE con skill incluida; plugin Google Meet para llamadas y transcripción; proveedor local Piper TTS. ComfyUI v5 + TouchDesigner-MCP pasaron de opcionales a incluidos por defecto. Nuevas skills: Humanizer, claude-design, design-md, airtable. Adiciones a CLI: modo one-shot hermes -z, preflight hermes update --check, slash command /reload-skills, estilos conectables de indicador de ocupado. El arranque en frío visible de TUI se redujo ~57% mediante inicialización diferida del agente e imports diferidos. Seguridad: redacción de secretos deshabilitada por defecto para evitar corrupción de payloads; blocklist estricta para comandos irrecuperables. Estadísticas: 1.096 commits, 550 PRs fusionados, 213 colaboradores de la comunidad. |
17 |
| 2026-04-25 | Guía v1.3: Se agregó v0.11.0 (23 de abril de 2026) — The Interface release. Reescritura completa de la TUI interactiva en React/Ink con backend Python JSON-RPC (tui_gateway); compositor fijo, streaming en vivo con soporte para portapapeles OSC-52, teclas estables en selectores, barra de estado con cronómetro por turno y rama git, confirmación de /clear, preset de tema claro, superposición de observabilidad para spawn de subagentes. Arquitectura de transporte conectable: la conversión de formatos y el transporte HTTP se extrajeron a agent/transports/ para una integración de proveedores más limpia. AWS Bedrock nativo mediante Converse API. Cinco nuevas rutas de inferencia: NVIDIA NIM, Arcee AI, Step Plan, OAuth de Google Gemini CLI y Vercel ai-gateway. GPT-5.5 mediante OAuth de Codex: el nuevo buque insignia de OpenAI ahora está disponible a través de OAuth de ChatGPT Codex sin una clave API separada. QQBot (17.ª plataforma de mensajería) con configuración por escaneo QR y streaming. Expansión de la superficie de plugins: slash commands, despacho de herramientas, bloqueo de ejecución, transformación de resultados. /steer <prompt>: ajustes al agente a mitad de ejecución que inyectan una nota que el agente en ejecución ve después de su siguiente llamada de herramienta, sin interrumpir el turno ni romper la caché de prompt. Shell hooks conectan scripts como hooks de ciclo de vida sin plugins Python. Modo de entrega directa por webhook reenvía payloads directamente a un chat de plataforma, omitiendo el agente para fan-out. Delegación más inteligente con roles de orquestador, profundidad de spawn configurable y coordinación de archivos. Dashboard obtiene un sistema de plugins, cambio de tema en vivo, i18n y responsividad móvil. Estadísticas desde v0.9.0: 1.556 commits, 761 PRs fusionados, 1.314 archivos modificados, 224.174 inserciones, 29 colaboradores de la comunidad. |
25 |
| 2026-04-16 | Guía v1.2: Se agregó v0.10.0 — Nous Tool Gateway. Los suscriptores pagos de Nous Portal ahora acceden a herramientas gestionadas (búsqueda web Firecrawl, generación de imágenes FAL / FLUX 2 Pro, OpenAI TTS, automatización de navegador Browser Use) sin claves API adicionales. Opt-in por herramienta mediante el nuevo campo de configuración use_gateway. El runtime prefiere gateway sobre claves API directas cuando ambos están configurados. Se eliminó la variable de entorno HERMES_ENABLE_NOUS_MANAGED_TOOLS. Hermes Agent CLI sigue bajo licencia MIT y completamente gratis. |
26 |
| 2026-04-13 | Guía v1.1: Se agregaron funciones de v0.8.0 y v0.9.0. Web dashboard local, modo /fast, plataformas iMessage + WeChat (16 en total), monitoreo de procesos en segundo plano (watch_patterns), context engine conectable, hermes backup/hermes import, Termux/Android, proveedores xAI + MiMo + Google AI Studio + Qwen, comando /debug, endurecimiento integral de seguridad. |
15 16 |
| 2026-04-10 | Guía v1.0: Release inicial que cubre Hermes Agent v0.7.0. Autenticación de proveedores, configuración, CLI, slash commands, herramientas, skills, memoria, gateway, cron, MCP, compresión, arquitectura, migración de OpenClaw, solución de problemas, FAQ. |
Referencias
-
Nous Research, README del proyecto “Hermes Agent” en GitHub. Fuente primaria para la descripción del producto (agente que se mejora a sí mismo, multiproveedor, gateway de mensajería, backends de terminal, evolución de skills, programador cron, delegación) y el comando de una línea de “instalación rápida”. ↩↩↩
-
Nous Research, “Proveedores de AI” en la documentación de Hermes Agent. Fuente primaria para la lista completa de proveedores, métodos de autenticación por proveedor (Nous Portal OAuth, código de dispositivo de Codex, tipos de token de Copilot de GitHub, autenticación de tres métodos de Anthropic, proveedores chinos de AI, enrutamiento de Hugging Face, endpoints personalizados), las tres rutas de autenticación (clave API en
.env, OAuth mediantehermes model, endpoint personalizado enconfig.yaml), la sintaxis del slash command/model(incluidocustom:name:model), plantillas de configuración de Ollama/vLLM/SGLang/llama.cpp/LM Studio, instrucciones de red para WSL2, cadena de detección de longitud de contexto, configuración de modelo fallback, enrutamiento inteligente de modelos y proveedores personalizados con nombre. Todos los nombres de variables de entorno específicos de proveedores, tipos de token, sobrescrituras de URL base e identificadores de modelo de esta publicación provienen de esta página. ↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩ -
Nous Research, “Arquitectura” en la guía para desarrolladores de Hermes Agent. Fuente primaria para el diagrama general del sistema, la estructura de directorios, el flujo de datos a través de la sesión de CLI y las rutas de mensajes del gateway, los tres modos de API (
chat_completions,codex_responses,anthropic_messages), la resolución de proveedores medianteruntime_provider.py, la persistencia de sesiones mediante SQLite + FTS5, la lista de plataformas del gateway de mensajería, las fuentes de descubrimiento del sistema de plugins, el aislamiento de profiles y los seis principios de diseño. ↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩ -
Nous Research, “Configuración” en la guía de usuario de Hermes Agent. Fuente primaria para la estructura del directorio de configuración, la regla de
config.yamlfrente a.env(“config.yamlgana para configuraciones no secretas”), la cadena de precedencia de configuración (args de CLI → env → config.yaml → .env → valores predeterminados), la configuración de compresión de contexto (bloquecompression.*conthreshold,target_ratio,protect_last_n,summary_model,summary_provider,summary_base_url), umbrales de presión de presupuesto (70% precaución, 90% advertencia), timeouts de streaming con ajuste automático para proveedor local y el bloque completo de configuración de modelos auxiliares (auxiliary:con espaciosvision,web_extract,approval,compression,session_search,skills_hub,mcp,flush_memories). La restricción del proveedor"main"a espacios auxiliares/compresión/fallback también proviene de esta página. ↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩ -
Nous Research, “Migrar desde OpenClaw” en las guías de Hermes Agent. Fuente para el flujo de migración de OpenClaw → Hermes. ↩↩
-
Nous Research, “Referencia de comandos de CLI” en la documentación de referencia de Hermes Agent. Fuente primaria para cada comando de nivel superior de CLI documentado en esta publicación, incluidos
hermes chat,hermes model,hermes gateway,hermes setup,hermes auth,hermes status,hermes cron,hermes webhook,hermes doctor,hermes dump,hermes logs,hermes config,hermes pairing,hermes skills,hermes honcho,hermes memory,hermes acp,hermes mcp,hermes plugins,hermes tools,hermes sessions,hermes insights,hermes claw,hermes profile,hermes completion,hermes updateyhermes uninstall. Todas las flags de subcomandos, descripciones de opciones, comportamiento del pool de credenciales, sintaxis de filtrado de logs, flags de migración de OpenClaw, comandos de gestión de profiles y comandos de instalación de servicios de esta publicación provienen de esta página. ↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩ -
Nous Research, “Instalación” en la guía de primeros pasos de Hermes Agent. Fuente primaria para el comando de instalación de una línea, el comportamiento del instalador (prerrequisitos, compatibilidad de plataformas, autodetección de Termux, requisitos de Windows/WSL2), la tabla de extras opcionales, los pasos de instalación manual y los comandos de verificación. ↩↩↩↩↩↩↩
-
Nous Research, “Referencia de comandos de CLI”: consulta específicamente la sección
hermes dump, que describe el formato de salida del comando (encabezado, entorno, identidad, modelo, terminal, claves API, funciones, servicios, carga de trabajo, sobrescrituras de configuración) y su uso previsto para compartir diagnósticos. ↩ -
Nous Research, “Referencia de Slash Commands” en la documentación de referencia de Hermes Agent. Fuente primaria para cada slash command listado en esta publicación, la arquitectura
COMMAND_REGISTRY, la división entre CLI y mensajería, slash commands dinámicos de skills, comandos rápidos enconfig.yaml, comportamiento de coincidencia por prefijo y comandos exclusivos de mensajería (/status,/sethome,/approve,/deny,/update,/commands). ↩↩↩↩↩↩↩↩↩↩ -
Nous Research, “Herramientas y Toolsets” en la guía de usuario de Hermes Agent. Fuente primaria para el resumen de categorías de herramientas, comandos de uso de toolset, los seis backends de terminal (local, docker, ssh, singularity, modal, daytona), configuración de contenedores (cpu, memory, disk, persistent), endurecimiento de seguridad para contenedores, gestión de procesos en segundo plano API y soporte para sudo. ↩↩↩↩↩↩↩↩↩↩
-
Nous Research, “Sistema de Skills” en la guía de usuario de Hermes Agent. Fuente primaria para divulgación progresiva, formato
SKILL.md, skills específicos de plataforma, activación condicional (fallback_for_toolsets,requires_toolsets,fallback_for_tools,requires_tools), skills gestionados por el agente medianteskill_manage, comandos del skill hub y lista de fuentes (official,skills-sh,well-known,github,clawhub,claude-marketplace,lobehub), escaneo de seguridad y niveles de confianza, y directorios externos de skills. ↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩ -
Nous Research, “Memoria persistente” en la guía de usuario de Hermes Agent. Fuente primaria para los límites de caracteres de
MEMORY.md/USER.md, el patrón de snapshot congelado, acciones de la herramienta de memoria (add,replace,remove), qué guardar y qué omitir, la comparación entre memoria y búsqueda de sesiones, y la lista de ocho proveedores externos de memoria (Honcho, OpenViking, Mem0, Hindsight, Holographic, RetainDB, ByteRover, Supermemory). ↩↩↩↩↩↩↩↩ -
Nous Research, “Personalidad y SOUL.md” en la guía de usuario de Hermes Agent. Fuente primaria para el comportamiento de
SOUL.md(vive enHERMES_HOME, nunca se sobrescribe, espacio #1 en el prompt del sistema, se escanea por seguridad antes de incluirlo), la distinción entre SOUL.md y AGENTS.md, la lista de personalidades integradas (14 personalidades, dehelpfulahype), personalidades personalizadas enconfig.yaml, el patrón de superposición de/personalityy el orden completo de ensamblaje del stack de prompts. ↩↩↩↩↩↩↩↩↩↩↩↩ -
Nous Research, “Usar MCP con Hermes” y referencia de configuración de MCP en las guías y la referencia de Hermes Agent. Fuente para el formato de configuración
mcp_servers:enconfig.yamlcon camposcommand,args,env. ↩ -
Notas de la versión Hermes Agent v0.8.0. 8 de abril de 2026. Notificaciones automáticas de procesos en segundo plano, MiMo v2 Pro gratis en Nous Portal, cambio de
/modelen vivo entre plataformas, proveedor nativo de Google AI Studio, OAuth de Qwen, timeouts basados en inactividad, botones de aprobación en Slack/Telegram, MCP OAuth 2.1 PKCE, logging centralizado, expansión del sistema de plugins. ↩↩↩↩↩ -
Notas de la versión Hermes Agent v0.9.0. 13 de abril de 2026. Dashboard web local, Fast Mode (
/fast), iMessage vía BlueBubbles, WeChat + WeCom, Termux/Android, monitoreo de procesos en segundo plano (watch_patterns), proveedores nativos xAI + Xiaomi MiMo, context engine enchufable, soporte de proxy unificado, endurecimiento de seguridad (correcciones de path traversal, shell injection, SSRF, RCE),hermes backup/hermes import,/debug+hermes debug share, 16 plataformas compatibles. 487 commits, 269 PRs fusionados, 24 colaboradores. ↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩ -
Notas de la versión Hermes Agent v0.12.0. 30 de abril de 2026. “The Curator release”. Curator autónomo en segundo plano que califica, depura y consolida la biblioteca de skills en un ciclo predeterminado de 7 días que corre sobre el cron ticker del gateway. Ciclo de mejora propia actualizado: calificación basada en rúbrica, sesgo hacia actualizaciones activas, herencia correcta en runtime, toolsets con alcance restringido a memoria y skills. Cuatro nuevos proveedores de inferencia: GMI Cloud, Azure AI Foundry, OAuth de MiniMax, Tencent Tokenhub. LM Studio asciende a primera clase. Los manifiestos remotos del catálogo de modelos se actualizan automáticamente sin releases. Dos nuevas plataformas de mensajería: Microsoft Teams (19.ª, vía arquitectura de gateway enchufable) y Tencent Yuanbao (18.ª, texto + medios nativos). Spotify nativo vía OAuth PKCE con skill incluido; plugin de Google Meet para llamadas y transcripción; proveedor local de TTS Piper. ComfyUI v5 + TouchDesigner-MCP incluidos por defecto. Nuevos skills: Humanizer, claude-design, design-md, airtable. CLI: modo one-shot
hermes -z, preflighthermes update --check, slash command/reload-skills, estilos de indicador de ocupado enchufables. Arranque en frío de TUI reducido ~57% mediante inicialización diferida. Seguridad: redacción de secretos deshabilitada por defecto; blocklist estricta para comandos irrecuperables. Estadísticas desde v0.11.0: 1.096 commits, 550 PRs fusionados, 213 colaboradores de la comunidad. Consulta también: tag de release v2026.4.30. ↩↩↩ -
Notas de la versión Hermes Agent v0.13.0. 7 de mayo de 2026. “The Tenacity release”. Tablero Kanban multiagente con heartbeat, reclaim, detección de zombis, puerta de alucinación,
max_retriespor tarea y tableros multiproyecto. Slash command/goalpara fijar objetivos entre turnos (primitiva del loop Ralph) con presupuesto de turnos configurable. Herramientavideo_analyze, Gemini-first con extensibilidad multimodal compatible. Proveedor TTS xAI Custom Voices con clonación de voz. i18n en 7 idiomas: zh-Hans, ja, de, es, fr, uk, tr (CLI + mensajes de gateway; docs solo zh-Hans). Google Chat como 20.ª plataforma de mensajería mediante patrón de adaptador enchufable con hooks genéricos de pluginenv_enablement_fn/cron_deliver_env_var; IRC y Microsoft Teams migrados al mismo patrón. ABCProviderProfile+plugins/model-providers/para proveedores de terceros enchufables. Reanudación automática de sesiones tras reinicio del gateway,/updatey recargas de archivos fuente. Checkpoints v2 reescrito como almacén único con pruning real, límites de disco y sin repos shadow huérfanos. Ocho cierres de seguridad P0: redacción de secretos activada por defecto, bypass de DM entre guilds de Discord (CVSS 8.1, allowlists de roles con alcance de guild), WhatsApp rechaza desconocidos por defecto + nunca responde en self-chat, TOCTOU al guardar credenciales de MCP OAuth, TOCTOU deauth.jsonde CLI en writers de credenciales, piso SSRF de metadatos cloud del navegador en enrutamiento híbrido, escaneo de prompts ensamblados por cron (incluido contenido de skills) contra prompt injection, redacción de contenido de logs enhermes debug shareal momento de subir. Elementos adicionales destacados: linting posterior a escritura para Python/JSON/YAML/TOML, modo watchdog cronno_agentsolo con scripts, allowlists de plataforma en Slack/Telegram/Mattermost/Matrix/DingTalk, mejoras de MCP (transporte SSE, forwarding de OAuth, resultados de imagen como etiquetas MEDIA). Estadísticas desde v0.12.0: 864 commits, 588 PRs fusionados, 829 archivos modificados, 295 colaboradores de la comunidad, 282 issues cerrados (13 P0, 36 P1). ↩↩↩↩↩↩↩↩↩↩↩↩ -
Notas de la versión Hermes Agent v0.14.0. 16 de mayo de 2026. “The Foundation release”. Desde v0.13.0: 808 commits, 633 PRs fusionados, 1.393 archivos modificados, 165.061 inserciones, 545 issues cerrados (12 P0, 50 P1) y 215 colaboradores de la comunidad. Agrega OAuth de SuperGrok con grok-4.3 de contexto 1M,
hermes proxy,x_search, empaquetado PyPI, dependencias diferidas, caché de prompt Claude de 1 h entre sesiones, lanzamiento ~19 s más rápido, llamadas browser CDP 180× más rápidas, LINE y SimpleX Chat para 22 plataformas de mensajería,/handoff, botones nativos de aclaración, backfill de historial de Discord,vision_analyzede píxeles crudos, pie de página verificador de mutaciones de archivo por turno, diagnósticos semánticos LSP,video_generateunificado,computer_usede cua-driver, enlaces OSC8, soporte de Zed ACP Registry, router OpenRouter Pareto Code, NovitaAI, runtime de app-server de Codex,huggingface/skills, pluginctx.llm,tool_override, búsqueda Brave/DDGS, endurecimiento de comandos peligrosos,/subgoal, renombre de Qwen Cloud, beta nativa para Windows, 16 locales en total y amplias actualizaciones de documentación/pruebas. ↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩ -
Notas de la versión Hermes Agent v0.16.0, “The Surface Release”, tag
v2026.6.5, publicado el 2026-06-06T00:55:58Z (fecha del tag de release: 5 de junio de 2026); la más reciente al 2026-06-08. Nuevo Hermes Desktop nativo (Electron, macOS/Linux/Windows; conexión a gateway remoto mediante WebSocket seguro con OAuth o usuario/contraseña; hosts remotos por profile; enlaces@sessionentre profiles; UI en chino simplificado mediante i18n tipado,display.language). Dashboard web expandido a panel de administración completo (toggles de catálogo MCP, gestión de credenciales, creación de webhook/hook, configuración de memoria, controles del gateway, página System con comprobación antes de actualizar + Debug Share, página Channels; autenticación enchufable incl. OIDC self-hosted yhermes dashboard register). Nuevos comandos:/undo [N], interfaz predeterminada configurable (cli/tui,--cli),/modelen TUI + superposición Sessions,hermes portal,hermes prompt-size,hermes sessions optimize. Nuevos modelos:deepseek-v4-flash,MiniMax-M3(contexto 1M),qwen3.7-plus,gemini-3.5-flash; OAuth de xAI Grok; selector difuso; actualización horaria de catálogo. Skills: conjunto predeterminado más ligero, puerta de relevanciaenvironments:, tap confiable predeterminadoNVIDIA/skills, divulgación progresiva de herramientas, corrección de falso éxito de OAuth de MCP. Seguridad: CVE-2026-48710 (Starlette BadHost) fijada en ≥1.0.1, comprobaciones SSRF fuera del event loop, token bearer de Bedrock eliminado del env de subprocess, lectura protegida debws_cache.json, añadidosdocker restart/stop/killa patrones peligrosos, sanitización de Unicode invisible; 2 P0 + 62 P1 cerrados (16 con etiqueta de seguridad). Se excluye el encuadre de marketing de las notas de versión (conteos de PR/commits, “nada de esto existía hace una semana”); solo se registran hechos concretos de función/versión vinculados al tag. Verificación de la sesión actual: 8 de junio de 2026. ↩↩↩↩↩↩↩↩ -
Notas de la versión Hermes Agent v0.17.0, “The Reach Release”, tag
v2026.6.19, 19 de junio de 2026; la más reciente al 2026-06-21. Mensajería: iMessage vía Photon Spectrum (OAuth con código de dispositivo,hermes photon login, sin relay de Mac); adaptador oficial de API de WhatsApp Business Cloud (reemplaza el proceso bridge); grupos de SimpleX, adjuntos nativos, agrupación de texto, aceptación automática; plugin de plataforma Raft incluido. Modelos/proveedores:z-ai/glm-5.2(contexto 1M),anthropic/claude-fable-5,laguna-m.1,nemotron-3-ultra,grok-composer-2.5-fast(OAuth de xAI, contexto 200k); valor predeterminado de xAI →grok-build-0.1; los modelos adaptativos de Anthropic usan el contrato moderno de thinking (sin camporeasoning). CLI/slash:/version,/billing,hermes photon login,hermes curator run --consolidate(opt-in), GUI dehermes model, clonación de profiles. Desktop: ventanas de vigilancia de subagentes en segundo plano (delegate_task(background=true)), selector de modelo Composer, atajos reasignables, notificaciones nativas del SO, borradores por hilo, temas de VS Code Marketplace, UI en japonés + chino tradicional. Dashboard: constructor completo de profiles, selector global de profile, rediseño de Skills Hub con escaneo de seguridad, Automation Blueprints, login seguro (401 detrás de OAuth). Skills/herramientas: edición image-to-image conimage_generateentre proveedores, batch atómico deoperationsdememory, skillsimplify-codede revisión paralela, booleanowrite_approvalreemplazawrite_mode. Arquitectura: subagentes en segundo plano (handle devuelto de inmediato, el resultado reingresa como turno), manejador de elicitation de MCP para confirmación a mitad de llamada de herramienta, herramientas MCP de conexión tardía expuestas entre turnos, CronScheduler enchufable + cron gestionado por Chronos, alcance Managed (/etc/hermesfijado por administrador), relay Gateway-Gateway. Seguridad: bypass de denylist de escape de shell cerrado, fail-closed ante módulo de aprobación ausente y adaptadores de gateway con política propia, env de scripts de cron sanitizado, secretos redactados en debug dumps, metadatos del host ocultos en estado público, filtrado de patrones de exfiltración en stdio de MCP, actualizaciones por CVE de urllib3 + PyJWT. Se excluye el encuadre de marketing de la release (conteos de commits/PR). Verificación de la sesión actual: 21 de junio de 2026. ↩↩↩↩↩↩↩↩↩↩↩ -
Notas de la versión Hermes Agent v0.18.0 (tag
v2026.7.1), 1 de julio de 2026 — “The Judgment Release”. Barrido del backlog prioritario (todos los P0/P1 cerrados, ~692 elementos en doce días); Mixture-of-Agents seleccionable como modelo de primera clase en todas las interfaces, con la salida completa de cada modelo de referencia renderizada como su propio bloque etiquetado y streaming de respuesta en vivo; contratos de finalización para/goal(el agente verifica su propio trabajo ejecutando comprobaciones del proyecto); comando/learn(convierte cualquier cosa en un skill reutilizable describiéndola, con cumplimiento automático de CONTRIBUTING.md);/journey, línea de tiempo visual de memoria/skills con edición y grafo de memoria de escritorio; fan-out de subagentes en segundo plano (múltiples tareas delegadas concurrentes); Desktop Projects (modelo proyecto/repo/lane); gateway scale-to-zero con coordinación de drain; soporte para Google Vertex AI (Gemini vía cuentas de servicio GCP, actualización automática de token OAuth2); comando/promptcon $EDITOR. Verificación de la sesión actual: 1 de julio de 2026 (PST) contra la página de releases de GitHub; v0.18.0 es la release más reciente. ↩↩↩↩↩↩↩↩↩↩↩ -
Notas de la versión Hermes Agent v0.15.1 y notas de la versión Hermes Agent v0.15.2. v0.15.1 (29 de mayo de 2026, 01:12 UTC) es el hotfix Velocity del mismo día: corrección del bucle de recarga 401 del dashboard en modo loopback; Docker ahora requiere
HERMES_DASHBOARD_INSECURE=1explícito; comandos simples de MCP (npx,npm,node) se resuelven en contenedores Docker; se restauraron pills de fuente + barra lateral de categorías de la página Skills; los workers Kanban responden a SIGTERM; el catálogo Skills.sh creció de 858 a 19.932 entradas mediante sitemap. 28 commits, 21 PRs fusionados, 9 colaboradores. v0.15.2 (29 de mayo de 2026, 13:37 UTC) es un hotfix solo de empaquetado que incluye manifiestosplugin.yamlen distribuciones wheel y sdist para que las instalaciones desde PyPI funcionen sin cargar la fuente por separado. 4 colaboradores. ↩ -
Notas de la versión Hermes Agent v0.15.0 y la página de releases de Hermes Agent. “The Velocity release”, tag
v2026.5.28. Estadísticas: 1.302 commits, 747 PRs fusionados, 321 colaboradores de la comunidad. Refactorizarun_agent.pyen 76% (16.083 → 3.821 líneas en 14 módulos). Agrega la plataforma Kanban multiagente (descomposición automática, topología de swarm, sobrescrituras de modelo por tarea, tareas programadas, gestión de worktrees).session_searchrediseñado para ser 4.500× más rápido, con la dependencia LLM eliminada. Defensa Promptware contra prompt injection de clase Brainworm en tres puntos críticos de seguridad. La integración con Bitwarden Secrets Manager reemplaza múltiples claves API por proveedor con un único token bootstrap. Los paquetes de skills permiten cargar varios skills con un solo slash command. Orquestador de sesiones TUI para gestionar múltiples sesiones en una ventana de terminal. Soporte de Krea 2 (Medium/Large) y plugin FAL para generación de imágenes. La ronda de integración de xAI agrega plugin de búsqueda web, OAuth upstream, detección de modelos retirados y pausas naturales de TTS en salida de voz. Una release de parche referenciada en GitHub corrige el bucle de recarga 401 del dashboard,--insecurede Docker que requiere la variable env explícitaHERMES_DASHBOARD_INSECURE=1, resolución de comandos simples de MCP (npx,npm,node) en Docker, renderizado de la página Skills, manejo de SIGTERM de workers Kanban, catálogo completo de 19.932 entradas de Skills vía sitemap y un pequeño lote de ajustes de entrega.md, seguridad de probes del gateway, redacción de URL web, capacidad de visión de kanban-worker y valores predeterminados de observación de hindsight. ↩ -
Notas de la versión Hermes Agent v0.11.0. 23 de abril de 2026. “The Interface release”: reescritura completa del CLI interactivo en React/Ink con backend Python JSON-RPC (
tui_gateway); arquitectura de transporte enchufable (agent/transports/); AWS Bedrock nativo vía API de Converse; cinco nuevas rutas de inferencia (NVIDIA NIM, Arcee AI, Step Plan, OAuth de Google Gemini CLI, Vercel ai-gateway); GPT-5.5 vía OAuth de Codex; QQBot como 17.ª plataforma de mensajería con configuración por escaneo QR; superficie de plugins expandida (slash commands, despacho de herramientas, bloqueo de ejecución, transformación de resultados);/steer <prompt>para ajustes del agente a mitad de ejecución que inyectan contexto después de la siguiente llamada de herramienta sin romper la caché de prompt; hooks de shell para eventos de ciclo de vida sin plugins Python; modo de entrega directa de webhook que reenvía payloads directamente a un chat de plataforma; delegación más inteligente con roles de orquestador + profundidad de spawn configurable + coordinación de archivos; sistema de plugins para dashboard, cambio de tema en vivo, i18n, responsividad móvil. Estadísticas desde v0.9.0: 1.556 commits · 761 PRs fusionados · 1.314 archivos modificados · 224.174 inserciones · 29 colaboradores de la comunidad. Consulta también: tag de release GitHub de Hermes Agent v0.11.0. ↩↩↩ -
Notas de la versión Hermes Agent v0.10.0. 16 de abril de 2026. “The Tool Gateway Release”. Integración de Nous Tool Gateway para suscriptores pagos de Nous Portal: acceso gestionado a búsqueda web Firecrawl, generación de imágenes FAL / FLUX 2 Pro, TTS de OpenAI y automatización de navegador Browser Use sin claves API adicionales. Opt-in por herramienta mediante el nuevo campo de configuración
use_gateway. En runtime, se prefiere gateway sobre claves API directas cuando ambos están configurados. Integración completa conhermes toolsyhermes status. Reemplaza la variable env obsoletaHERMES_ENABLE_NOUS_MANAGED_TOOLS. Implementación por @jquesnelle (emozilla). El CLI de Hermes Agent sigue con licencia MIT y es completamente open source; el gateway es una integración con el producto de suscripción Portal existente, no un paywall sobre el CLI. Consulta también: Nous Portal para precios de suscripción y registro. ↩↩↩