Hermes Agent: la referencia para profesionales (2026)
# v0.14 Foundation agrega SuperGrok OAuth, hermes proxy, x_search, instalación desde PyPI, 22 plataformas de mensajería, /handoff, diagnósticos de escritura LSP, video_generate, computer_use, beta nativa para Windows e instalaciones diferidas más ligeras.
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 alrededor de 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 la integración con editores, el ejecutor por lotes y un servidor API.3 Todos ellos terminan llamando a AIAgent.run_conversation() en run_agent.py, que:
- Construye el system prompt a partir de
SOUL.md,MEMORY.md,USER.md, skills, archivos de contexto y guía 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 a herramientas devuelta mediante
model_tools.pyy el registro central de herramientas (tools/registry.py)3 - Repite el bucle 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 ajuste en 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 slash commands 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 guarda todo bajo ~/.hermes/ (o $HERMES_HOME para perfiles 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 solapa con otro. Si estás buscando “dónde guarda Hermes X”, está en uno de estos.
Instalación
El instalador de una 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 de 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 bundle probado para Android).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 requisito previo 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
Verificar 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 corregirlo.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 AI-native (integración con Honcho) |
mcp |
Compatibilidad con Model Context Protocol |
homeassistant |
Integración con Home Assistant |
acp |
Compatibilidad con integración ACP para editores |
slack |
Mensajería de Slack |
pty |
Compatibilidad con terminal PTY (herramientas interactivas de CLI) |
dev |
pytest y utilidades de prueba |
termux |
Bundle probado para Android (incluye cron, cli, pty, mcp, honcho, acp) |
El comando de instalación para 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 incluye faster-whisper mediante el extra voice, que depende de wheels de ctranslate2 que no se publican para Android.7
Autenticación y proveedores
Hermes admite ~19 proveedores de primera clase más 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 proveedor 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 proveedores externos.2
Ruta 2 — OAuth mediante hermes model o hermes auth. Inicia un flujo de código de dispositivo, abre un navegador, guarda 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 autohospedado. Se configura una vez mediante hermes model → Custom endpoint y luego se conserva en config.yaml.2
La matriz completa de proveedores
Esta es la lista completa de proveedores de primera clase, con el flujo de configuración exacto para cada uno.2
| Proveedor | 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 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 de copilot en PATH + copilot login) |
| Anthropic | OAuth o clave API | hermes model (prefiere credenciales de Claude Code), o ANTHROPIC_API_KEY, o token de configuración ANTHROPIC_TOKEN |
| OpenRouter | clave API | OPENROUTER_API_KEY en ~/.hermes/.env |
| AI Gateway (Vercel) | clave API | AI_GATEWAY_API_KEY en ~/.hermes/.env (proveedor: ai-gateway) |
| z.ai / GLM (ZhipuAI) | clave API | GLM_API_KEY en ~/.hermes/.env (proveedor: zai) |
| Kimi / Moonshot | clave API | KIMI_API_KEY en ~/.hermes/.env (proveedor: kimi-coding) |
| MiniMax (global) | clave API | MINIMAX_API_KEY en ~/.hermes/.env (proveedor: minimax) |
| MiniMax China | clave API | MINIMAX_CN_API_KEY en ~/.hermes/.env (proveedor: minimax-cn) |
| Alibaba Cloud (Qwen) | clave API | DASHSCOPE_API_KEY en ~/.hermes/.env (proveedor: alibaba, alias: dashscope, qwen) |
| Kilo Code | clave API | KILOCODE_API_KEY en ~/.hermes/.env (proveedor: kilocode) |
| OpenCode Zen | clave API | OPENCODE_ZEN_API_KEY en ~/.hermes/.env (proveedor: opencode-zen) |
| OpenCode Go | clave API | OPENCODE_GO_API_KEY en ~/.hermes/.env (proveedor: opencode-go) |
| DeepSeek | clave API | DEEPSEEK_API_KEY en ~/.hermes/.env (proveedor: deepseek) |
| Hugging Face | clave API | HF_TOKEN en ~/.hermes/.env (proveedor: huggingface, alias: hf) |
| Google / Gemini | clave API | GOOGLE_API_KEY o GEMINI_API_KEY en ~/.hermes/.env (proveedor: gemini) |
| xAI (Grok) | Proveedor nativo / OAuth de SuperGrok | Proveedor de primera clase con acceso API directo y catálogo de modelos (v0.9.0+). v0.14.0 agrega OAuth de SuperGrok y eleva grok-4.3 a una ventana de contexto de 1M para cuentas habilitadas.21619 |
| xAI Custom Voices | clave API | Proveedor 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 | Proveedor nativo | Proveedor 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 detectadas automáticamente mediante el registro models.dev (v0.8.0+).15 |
| Qwen Cloud | OAuth | Proveedor OAuth con soporte para solicitudes de portal (v0.8.0+). El proveedor pasó de llamarse 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 antes que copiar el token en ~/.hermes/.env. Así las credenciales actualizables de Claude siguen siendo actualizables.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 atajos para --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 revisa 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. Respaldo de CLI con 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 fine-grained (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
Proveedores de IA chinos (soporte de primera clase)
Hermes tiene soporte integrado para z.ai/GLM, Kimi/Moonshot, MiniMax (endpoints globales + China) y Alibaba Cloud con IDs de proveedor 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 detecta automáticamente el endpoint. Al usar el proveedor z.ai/GLM, Hermes prueba varios endpoints (global, China, variantes de codificación) para encontrar uno que acepte tu clave API. El endpoint funcional se guarda automáticamente en caché, por lo que la mayoría de los usuarios no necesitan 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 con cada solicitud para enrutarla al mismo servidor dentro de una sesión de conversación, reutilizando prompts de sistema e historial en caché.2 Es automático; no necesitas 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 te permiten rotar varias claves API o tokens OAuth para el mismo proveedor; 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 autohospedados
Hermes funciona con cualquier endpoint API compatible con OpenAI. Si un servidor implementa /v1/chat/completions, puedes apuntar Hermes a ese servidor.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 conservan en config.yaml, que es la única fuente de verdad para el modelo principal, el proveedor 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 todavía se respetan como respaldo 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 (solo eso, sin nombre de modelo) consulta el API /v1/models de tu endpoint y selecciona automáticamente el modelo si hay exactamente uno cargado; es útil para servidores locales que ejecutan un solo modelo.2
Servidores locales LLM (plantillas de configuración)
La documentación upstream tiene guías completas de configuración para Ollama, vLLM, SGLang, llama.cpp y LM Studio. Estos son los comandos clave que realmente vas a ejecutar. Cada uno está diseñado para producir un endpoint funcional al que Hermes pueda apuntar.2
Ollama — la ruta local más sencilla, 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
Advertencia crítica de Ollama: Ollama usa por defecto longitudes de contexto muy bajas (4.096 tokens con menos de 24 GB de VRAM). Debes aumentarla mediante OLLAMA_CONTEXT_LENGTH o un Modelfile: el API compatible con OpenAI no acepta 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 — servicio 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 compatibles: 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 sin formato.2
SGLang — servicio rápido con RadixAttention para reutilización de 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
Advertencia de SGLang: El valor predeterminado de max_tokens 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, algo que Hermes no puede analizar como llamadas reales a herramientas.2
LM Studio — app 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.
Advertencia crítica de LM Studio: LM Studio lee la longitud de contexto desde los metadatos del modelo, pero muchos modelos GGUF informan valores predeterminados de 2048 o 4096. Configura siempre la longitud de contexto explícitamente en los ajustes del modelo de LM Studio: haz clic en el ícono de engranaje junto al selector de modelo, define “Context Length” en al menos 16384 (preferiblemente 32768) y recarga el modelo.2
Proveedores personalizados con nombre
Si trabajas con varios endpoints personalizados (por ejemplo, un servidor local de desarrollo y un servidor GPU remoto), defínelos como proveedores 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 proveedores personalizados con nombre desde el menú interactivo de hermes model.2
Arquitectura de proveedores conectables (v0.13.0+)
v0.13.0 incluye un ABC ProviderProfile más un directorio plugins/model-providers/ para que proveedores de inferencia externos puedan integrarse sin modificar el núcleo.18 Si un proveedor habla 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 lo resuelve mediante la misma ruta runtime_provider.py que usan los proveedores integrados. Este es el cambio arquitectónico detrás de la expansión de proveedores en v0.13.0: en lugar de editar el código central para agregar un proveedor, publicas un plugin.
Proxy local compatible con OpenAI (v0.14.0+)
hermes proxy expone un endpoint local compatible con OpenAI respaldado por el proveedor OAuth en el que Hermes ya tiene sesión iniciada: Claude Pro, ChatGPT Pro, SuperGrok u otro proveedor 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 deliberada, no lo expongas ampliamente y ten en cuenta los términos específicos de cada proveedor.
Detección de longitud de contexto
Según la documentación upstream, dos ajustes se confunden constantemente: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 (máximo de tokens que el modelo puede generar en una sola respuesta). No está relacionado con la longitud del historial.
Configura context_length cuando la detección automática se equivoca 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 de varias fuentes para detectar ventanas de contexto: sobrescritura en configuración → proveedor personalizado por modelo → caché persistente → /models del endpoint → /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 respaldo (128K).2 El sistema conoce el proveedor, así que el mismo modelo puede tener límites de contexto distintos según quién lo sirva (por ejemplo, claude-opus-4.6 es 1M en Anthropic directo, pero 128K en GitHub Copilot).2
Rotación y fallback de proveedores
Pools de credenciales. Cuando tienes varias claves API para el mismo proveedor, 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 proveedor a mitad de sesión sin perder la conversación. Se activa como máximo una vez por sesión.2 Proveedores compatibles 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, emparejamiento de skill, despacho de herramientas MCP y vaciado de memoria.4 Por defecto, usan Gemini Flash mediante detección automática (OpenRouter → Nous → Codex).
Puedes configurar qué modelo y proveedor 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 proveedor "main" significa “usa el proveedor que esté usando mi agente principal”; es válida solo dentro de configuraciones auxiliary:, compression: y fallback_model:. No es válida para tu ajuste de nivel 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), tu visión, resumen web y compresión se degradarán o fallarán porque la cadena de fallback auxiliar predeterminada prueba OpenRouter primero. Agrega una OPENROUTER_API_KEY para tareas auxiliares, o reconfigura cada ranura auxiliar para usar tu proveedor principal:
auxiliary:
vision:
provider: "main"
web_extract:
provider: "main"
Esta es la advertencia más común de “mis funciones no trabajan silenciosamente” 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 las 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 conforman 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 sea 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 usando interpolación estilo shell:4
auxiliary:
vision:
api_key: ${GOOGLE_API_KEY}
base_url: ${CUSTOM_VISION_URL}
delegation:
api_key: ${DELEGATION_KEY}
Gestión de 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 incorporados — aplicados cuando nada más 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 dashboard web, agrega 8 locales más y eleva 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 aún no cubra.
Profiles: múltiples instancias aisladas de Hermes
Los profiles te dan múltiples instancias aisladas de Hermes, cada una con su propia configuración, sesiones, skills, memoria y PID de gateway. Así puedes ejecutar “Hermes de trabajo” y “Hermes personal” en paralelo sin que una instancia vea el estado de la otra.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 CLI
Esta sección es la referencia práctica de los comandos de nivel superior de CLI. Para la referencia autoritativa derivada del código, consulta la documentación upstream CLI Commands Reference.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 por título) |
--worktree, -w |
Inicia en un git worktree aislado |
--yolo |
Omite las confirmaciones de 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 un solo uso |
hermes model |
Selecciona 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, autenticación y plataformas |
hermes cron |
Inspecciona y ejecuta el programador cron |
hermes webhook |
Administra suscripciones dinámicas de webhooks |
hermes doctor |
Diagnostica problemas de configuración y dependencias |
hermes dump |
Resumen de configuración listo para copiar y pegar, útil para soporte/depuración |
hermes logs |
Visualiza, sigue en tiempo real y filtra logs del agente/gateway/errores |
hermes config |
Muestra, edita, migra y consulta la configuración |
hermes pairing |
Aprueba o revoca códigos de emparejamiento de mensajería |
hermes skills |
Explora, instala, publica y audita skills |
hermes honcho |
Administra la memoria entre sesiones de Honcho |
hermes memory |
Configura el proveedor de memoria externa |
hermes acp |
Ejecuta Hermes como servidor ACP (integración con editores) |
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, limpia y elimina sesiones |
hermes insights |
Muestra analíticas de tokens, costos y actividad |
hermes claw |
Utilidades de migración de OpenClaw |
hermes profile |
Administra profiles (múltiples instancias aisladas) |
hermes completion |
Imprime scripts de autocompletado para shell (bash/zsh) |
hermes whatsapp |
Configura y empareja el puente de WhatsApp |
hermes version |
Muestra información de la 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 y datos) |
hermes backup |
Respaldo completo de configuración, sesiones, skills y memoria (v0.9.0+)16 |
hermes import |
Restaura desde un archivo de respaldo — permite migrar entre máquinas o revertir cambios (v0.9.0+)16 |
hermes dashboard |
Abre el panel web local para administrar el agente desde el navegador (v0.9.0+)16 |
hermes debug share |
Sube un reporte de depuración completo a un pastebin para compartir al resolver 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 principales:
| Opción | Descripción |
|---|---|
-q, --query "..." |
Prompt de un solo uso, 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 previsualizaciones) |
--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 confirmaciones de aprobación |
--source <tag> |
Etiqueta de origen de la sesión (por defecto: cli; usa tool para integraciones) |
--max-turns <N> |
Máximo de iteraciones de llamadas a herramientas por turno (por defecto: 90) |
hermes setup — Asistente completo
Ejecuta el asistente de configuración completo o salta directamente 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 un simple tail -f sobre los archivos de log, ya que permite filtrar por nivel, ID de sesión y rango de tiempo de forma simultánea.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, nivel 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 RotatingFileHandler de Python — busca archivos como 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. Verifica la validez de la configuración, la presencia de dependencias, la disponibilidad de claves API, el estado de los servicios, y puede intentar reparaciones automáticas con --fix.6
Para compartir diagnósticos con alguien más, usa hermes dump — genera un resumen compacto en texto plano con claves 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 + inicia una sesión nueva |
/history |
Muestra el historial de conversación |
/save |
Guarda la conversación actual |
/retry |
Reintenta el último mensaje |
/undo |
Elimina el último intercambio 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 |
Finaliza 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 secundaria 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 ciclo. 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 razonamiento y su visualización |
/skin |
Muestra o cambia la skin/el 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 OpenAI y Anthropic (v0.9.0+)16 |
/debug |
Diagnóstico rápido 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 inicio |
Comandos slash dinámicos de Skills
Cada skill instalado se expone automáticamente como 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 nombre 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: escribir /h se resuelve como /help; /mod, 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 inicio 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 solo para CLI: /skin, /tools, /toolsets, /browser, /config, /cron, /skills, /platforms, /paste, /statusbar, /plugins.9
Herramientas y toolsets
Hermes incluye un registro amplio de herramientas integradas 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 generales
| 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 proveedor intercambiables y envía píxeles sin procesar a través de 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 el backend cua-driver; v0.14.0 hace que esto funcione con proveedores compatibles con visión que no son Anthropic.19 |
| Memoria y recuperación | memory, session_search |
Memoria persistente + búsqueda de sesiones |
| 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
Administrar 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 se pueden activar o desactivar en medio de una sesión con /tools disable <name> y /tools enable <name>, lo que reinicia la sesión para que el nuevo conjunto de herramientas surta efecto.9
Backends de terminal
La herramienta de terminal puede ejecutar comandos en 6 entornos distintos:10
| Backend | Caso de uso |
|---|---|
local |
Ejecutar en tu máquina (predeterminado): desarrollo, tareas confiables |
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 de contenedor (se 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 se conservan entre sesiones.10
Todos los backends de contenedor se ejecutan con refuerzo de seguridad: sistema de archivos raíz de solo lectura (Docker), todas las capacidades de Linux eliminadas excepto DAC_OVERRIDE, CHOWN y FOWNER, sin escalamiento de privilegios, límites PID (256 procesos), aislamiento completo de namespaces, espacio de trabajo persistente mediante volúmenes.10
Procesos en segundo plano
La herramienta de terminal admite ejecución en segundo plano con administració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 solicita tu contraseña (almacenada en caché durante la sesión). O configura SUDO_PASSWORD en ~/.hermes/.env.10
Kanban multiagente (v0.13.0+)
v0.13.0 convierte la colaboración multiagente en un primitivo de primera clase: un tablero Kanban duradero que rastrea tareas, estado e identidad de trabajadores entre agentes y reinicios.18 El tablero es lo que hace que un enjambre de trabajadores Hermes realmente termine el trabajo en lugar de quedarse estancado por handoffs muertos.
| Mecanismo | Qué hace |
|---|---|
| Heartbeats | Cada trabajador emite pulsos mientras posee una tarea. Si falta un heartbeat, el trabajador se marca como sospechoso y la tarea queda libre para reclamarse. |
| Reclaim | Un trabajador distinto puede tomar una tarea abandonada, con todo el estado de la tarea y el resultado parcial previo. |
| Detección de zombies | Los trabajadores que salen sin marcar una tarea como completa se bloquean automáticamente para que no reclamen trabajo nuevo, lo que evita que el enjambre acumule identidades muertas. |
| Hallucination gate | La salida que no supera el gate devuelve la tarea al tablero con un motivo anotado, en lugar de marcarla como terminada. |
max_retries por tarea |
Anula 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 encaja 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 listados están disponibles |
fallback_for_tools |
Igual, pero revisa herramientas individuales |
requires_toolsets |
La skill se oculta cuando los toolsets listados 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 gestionadas 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 callejones sin salida y dio con el camino funcional - Cuando el usuario corrigió su enfoque - Cuando descubrió un flujo de trabajo no trivial
Acciones:11
| Acción | Úsala para |
|---|---|
create |
Crear una 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 soporte |
remove_file |
Eliminar un archivo de soporte |
Hub de Skills
Explora, busca, instala y gestiona 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 se pueden omitir con --force; los veredictos dangerous siguen bloqueados |
--force puede omitir bloqueos de política no peligrosos para skills de la comunidad. No omite un veredicto de escaneo dangerous.11
Directorios externos de skills
Puedes apuntar Hermes a directorios adicionales de skills 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 una skill con el mismo nombre en ambos lugares.11
Memoria persistente
Hermes tiene 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, cosas aprendidas | 2.200 caracteres (~800 tokens) |
USER.md |
Perfil del 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 administra su propia memoria mediante la herramienta memory: add, replace o remove.12
Patrón de instantánea congelada: la inyección en el system prompt se captura una sola vez al inicio de la sesión y nunca cambia durante la 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: “Migré la base de datos de MySQL a PostgreSQL el 2026-01-15” → memory
Omite esto:12 - Información trivial u obvia - Datos fáciles de redescubrir - Volcados de datos sin procesar (demasiado grandes para la memoria) - Detalles efímeros específicos 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 |
| Administración | Curada manualmente por el agente | Automática: se almacenan todas las sesiones |
| Costo en tokens | Fijo por sesión (~1.300 tokens) | Bajo demanda |
Proveedores externos de memoria
Para una memoria persistente más profunda, más allá de 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 haber un proveedor externo activo a la vez. La memoria integrada siempre está activa.6
Reanudación automática de sesiones (v0.13.0+)
v0.13.0 hace que una interrupción a mitad de ejecución del agente sea recuperable. El gateway reanuda automáticamente las sesiones interrumpidas después de un reinicio; los reinicios por /update conservan 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 de larga duración 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 reescribe en v0.13.0 como un diseño de almacén único con poda real, límites de seguridad en disco y sin repos shadow huérfanos.18 El sistema anterior de checkpoint acumulaba estado en disco en profiles de larga duración; el almacén v2 impone un límite estricto al almacenamiento local de checkpoint y elimina la contabilidad duplicada que impulsaba ese crecimiento. No se requiere ningún cambio de configuración visible para el usuario; la siguiente escritura de checkpoint usa la ruta v2.
Personalidad y SOUL.md
SOUL.md es la identidad principal de una instancia de Hermes. Ocupa el slot #1 en el system prompt y reemplaza la identidad predeterminada hardcodeada.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é pertenece 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 en términos de estilo - 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 de repositorio - detalles temporales de workflow
Eso pertenece 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, workflows específicos del repositorio, comandos, puertos, rutas, notas de despliegue.
Una regla útil: si debe acompañarte en todas partes, pertenece en SOUL.md. Si pertenece a un proyecto, pertenece en AGENTS.md.13
Personalidades integradas
Hermes incluye personalidades integradas que puedes activar 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 tiernas, 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 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 (2026-04-16), los suscriptores de pago de Nous Portal obtienen acceso administrado a un conjunto curado de herramientas mediante sus credenciales existentes de Portal, sin claves API adicionales que administrar.21 El CLI de Hermes sigue teniendo licencia MIT y siendo 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 headless y scraping |
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 por Portal. De lo contrario, se usa tu clave directa de API (si existe).
# 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 runtime: cuando el gateway está disponible y una herramienta tiene use_gateway: true, Hermes prefiere el gateway aunque también tengas configurada una clave directa de API. Esto importa para la facturación: las llamadas del gateway se descuentan de tu suscripción de Portal, no del 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 hay un comando separado hermes subscribe ni hermes login --portal. La suscripción se detecta automáticamente a partir de las credenciales OAuth de Portal que ya tienes en hermes auth.
Precios y acceso
Los precios y los nombres de tiers se publican en la página de precios de Nous Portal (https://portal.nousresearch.com/pricing). Esta guía no enumera tiers porque son responsabilidad del producto Portal, no del CLI de Hermes, y cambian de forma independiente a las versiones de Hermes. Regístrate en https://portal.nousresearch.com/ y consulta la página de precios para ver los tiers actuales.
Aviso de deprecación
- 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 dependen del estado de tu suscripción de Portal.21
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 teniendo licencia MIT; todas las funciones principales (CLI, skills, memoria, gateway de mensajería, cron, MCP, dashboard local, BYOK para cada proveedor) funcionan de extremo a extremo sin pagarle a nadie. v0.10.0 agrega una ruta conveniente para usuarios que ya pagan por Nous Portal; no elimina nada de la ruta gratuita.
Gateway de mensajería
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.320171819 v0.9.0 agregó iMessage mediante BlueBubbles (registro automático de webhook, asistente de configuración, resistencia a bloqueos) y soporte nativo para WeChat mediante iLink Bot API, con modo de callback de WeCom para apps empresariales.16 v0.11.0 agregó QQBot.20 v0.12.0 agregó Microsoft Teams y Tencent Yuanbao.17 v0.13.0 agregó Google Chat como la plataforma número 20, sobre 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 la pila de Microsoft Teams de extremo a extremo con autenticación Graph, listener de webhook, runtime de pipeline y entrega saliente.19
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 de API, IDs de bots, asignaciones de canales y allowlists.6
Cómo fluyen los mensajes
De 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
Cada plataforma de mensajería pasa 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 personas desconocidas hablen con tu gateway. Un usuario envía un código de emparejamiento desde su plataforma de mensajería; tú lo apruebas con hermes pairing approve; a partir de 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 tools. Los jobs persisten en JSON y sobreviven a los reinicios.3
Integración con MCP
Hermes soporta Model Context Protocol como cliente y como servidor:6
Como cliente: conecta Hermes a servidores MCP externos para ampliar su superficie de tools:
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 (predeterminado) |
no establecido | Detecta automáticamente el mejor proveedor disponible |
nous / openrouter / etc. |
no establecido | Fuerza ese proveedor y usa su autenticación |
| cualquiera | establecido | Usa directamente el endpoint personalizado (se ignora el proveedor) |
summary_model debe soportar 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 del presupuesto
Cuando el agente trabaja en una tarea compleja con muchas llamadas a tools, puede consumir su presupuesto de iteraciones (predeterminado: 90 turnos) sin darse cuenta. La presión del 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 de LLM tiene dos capas de timeout que se ajustan automáticamente para proveedores locales (localhost, IPs de 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 prefill en 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 ajustes, monitorea sesiones, explora skills y administra tu gateway sin tocar archivos de configuración ni la terminal.16 Ejecútalo con hermes dashboard. Esta 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 coinciden.16 Monitorea errores, espera eventos específicos (“listening on port”) o revisa logs de build, todo sin 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
Motor de contexto conectable (v0.9.0+)
La gestión del contexto ahora es un slot conectable mediante hermes plugins. Intercambia motores de contexto personalizados que controlan lo que el agente ve en cada turno: filtrado, resumido o inyección de contexto específica del dominio.16 Esto desacopla la estrategia de contexto del bucle central del agente y 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 Usa esto para migrar entre máquinas, crear snapshots antes de cambios importantes o compartir una configuración conocida y funcional con 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, optimizaciones de TUI para pantallas móviles, 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 le sigue con otros 12 cierres P0 y 50 P1, incluidos el refuerzo contra fuerza bruta de sudo / sudo-stdin, correcciones para omisiones de comandos peligrosos, sanitización de errores de herramientas antes de reinyectarlos al modelo, autenticación de API del plugin del dashboard, cobertura SSRF de skills-hub y análisis de avisos de cadena de suministro durante la instalación.19
| Corrección | Qué cambió |
|---|---|
| Redacción de secretos activada por defecto | Antes era opcional. 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 base más segura. |
| Omisión de DM entre guilds de Discord (CVSS 8.1) | Las listas de permitidos por rol de Discord ahora tienen alcance de guild, lo que cierra una ruta en la que un rol de usuario en una guild autorizaba DM 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 del almacén de autenticación de CLI. |
| Piso SSRF del navegador | El enrutamiento híbrido impone un piso SSRF contra metadatos de nube para solicitudes que intentan alcanzar 169.254.169.254 y equivalentes. |
| Escaneo de inyección de prompts en cron | Los prompts ensamblados (incluido el contenido de skills cargado) se escanean en busca de inyección de prompts 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 entregas de funciones. v0.13.0 cierra la omisión entre guilds de Discord y dos ventanas TOCTOU; v0.14.0 añade otra pasada de refuerzo en el manejo de sudo, la reinyección de errores de herramientas, los APIs de plugins, SSRF en skills-hub y avisos de dependencias.
Arquitectura para profesionales
Esta sección es para quienes quieren entender qué ocurre por debajo 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 herramientas / 20 toolsets” frente a “28 herramientas” en tu banner. El conteo de “47 herramientas” es el registro total de herramientas del repositorio upstream: todas las herramientas cuyo código fuente incluye Hermes, en todos los toolsets. Tu CLI en ejecución real 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). Eso no es un bug. Muchos toolsets son opcionales y deben habilitarse explícitamente en config.yaml bajo toolsets:: adaptadores de plataformas de mensajería, automatización del 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 dispara un reinicio de sesión para que el agente reconstruya su manifiesto de herramientas).
Los tres modos de API
Hermes abstrae las diferencias entre proveedores en tres modos de API, seleccionados automáticamente en tiempo de ejecución:3
| Modo de 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 asigna tuplas (provider, model) a (api_mode, api_key, base_url) para más de 18 proveedores, y maneja flujos de OAuth, pools de credenciales y resolución de alias.3
Flujo de datos a través de una sesión de 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 ensamblado del prompt
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
- Sugerencias de formato específicas de la plataforma
- Superposiciones 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 puntos de entrada de pip. Los plugins registran herramientas, hooks y comandos de CLI mediante un contexto de API. Los proveedores de memoria son un tipo especializado de plugin bajo 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 caché salvo acciones explícitas del usuario (/model) |
| Ejecución observable | Cada llamada a herramienta es visible para el usuario mediante callbacks. Actualizaciones de progreso en CLI (spinner) y gateway (mensajes de chat) |
| Interrumpible | Las llamadas de API y la ejecución de herramientas pueden cancelarse en curso mediante entrada del usuario o señales |
| Núcleo agnóstico de plataforma | Una clase AIAgent sirve a CLI, gateway, ACP, batch y servidor de 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 compuertas check_fn, no dependencias rígidas |
| 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 desde 4 directorios fuente, modelo predeterminado, proveedores personalizados, servidores MCP, tokens y listas de permitidos de plataformas de mensajería (Telegram, Discord, Slack, WhatsApp, Signal, Matrix, Mattermost), valores predeterminados del agente (razonamiento, compresión, demora humana, 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, tiempo de espera de exec, lista de comandos permitidos, configuración de gateway y claves de API desde 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 multiagente, bindings de canales, IDENTITY.md, TOOLS.md, HEARTBEAT.md, BOOTSTRAP.md.6
La resolución de claves de API revisa tres fuentes en orden de prioridad: valores de configuración → ~/.openclaw/.env → auth-profiles.json.6
Solución de problemas
“API key not set”
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
“Context limit: 2048 tokens” al iniciar (modelos locales)
Hermes detecta automáticamente la longitud del 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 habilitada la invocación de herramientas, o el modelo no la admite a través de la implementación del servidor.2
| Servidor | Solució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 parser apropiado) |
| Ollama | La invocación de herramientas está habilitada por defecto — verifica que tu modelo lo admita con ollama show <model> |
| LM Studio | Actualiza a la versión 0.3.6+ y usa un modelo con soporte nativo de herramientas |
Las respuestas se cortan a la mitad de una oración
Dos posibles causas:2
- Límite de salida bajo (
max_tokens) en el servidor — SGLang tiene un valor predeterminado de 128 tokens por respuesta. Configura--default-max-tokensen el servidor o ajustamodel.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 hace referencia a la VM de Linux, no al host de Windows. Dos opciones:2
Mirrored networking (Windows 11 22H2+): edita %USERPROFILE%\.wslconfig:
[wsl2]
networkingMode=mirrored
Luego ejecuta wsl --shutdown y reinicia. localhost ahora funciona de manera bidireccional.
Alternativa con la IP del host (Windows más antiguo): obtén la IP del host de Windows desde dentro de 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 del modelo escuche en 0.0.0.0, no en 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 del archivo .env.6
FAQ
¿Cuál es la diferencia entre Hermes Agent y Claude Code?
Claude Code es el CLI oficial de Anthropic, vinculado exclusivamente a los modelos de Anthropic. Hermes Agent es un framework de agentes de código abierto 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 API key de Anthropic?
Sí. 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 un
ANTHROPIC_TOKENmanual (setup-token o token OAuth) como respaldo
La opción 2 es la preferida si ya usas Claude Code en la misma máquina — mantiene las credenciales refrescables de Claude refrescables.
¿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 los 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/compresión no funcionan
Estás encontrando el fallback del modelo auxiliar. Vision, resumen web, compresión y otras tareas secundarias usan un LLM auxiliar separado — por defecto Gemini Flash mediante autodetección (OpenRouter → Nous → Codex). Si ninguno de esos está configurado y solo tienes Anthropic configurado, estas funciones se degradan silenciosamente.4
Solución: agrega un OPENROUTER_API_KEY para tareas auxiliares, o reconfigura los slots auxiliares para que usen tu proveedor principal. Ten en cuenta que la compresión de contexto vive en su propio bloque de nivel superior compression: y toma summary_provider, no auxiliary.compression.provider — el slot auxiliary.compression solo expone un timeout. Solució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, 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, rutas — y vive en el directorio de tu proyecto.13 Si debe acompañarte a todas partes, SOUL.md. Si pertenece a un proyecto, AGENTS.md.
¿Cómo ejecuto múltiples instancias de Hermes en paralelo?
Profiles. Cada profile tiene su propio HERMES_HOME, config, memoria, sesiones y PID del 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í, a través de la ruta del 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 Custom & Self-Hosted Endpoints para la configuración por servidor.
¿Por qué mi banner de inicio muestra menos herramientas de las que la guía dice que Hermes tiene?
La guía cita 47 herramientas / 20 toolsets del registro de arquitectura upstream — ese es el conteo total de herramientas para las que Hermes incluye código fuente en cada toolset. 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 de toolsets predeterminado al iniciar. Muchos toolsets son opt-in: los adaptadores del gateway de mensajería, la automatización del navegador, los stacks de scraping más pesados y varias integraciones especializadas deben listarse explícitamente bajo toolsets: en ~/.hermes/config.yaml antes de que se carguen. Total del registro = “lo que está disponible si lo habilitas”. Total del banner = “lo que tu profile actual realmente cargó”. 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> (al deshabilitar se dispara 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 mi proveedor principal falla?
Configura un bloque fallback_model en config.yaml:2
fallback_model:
provider: openrouter
model: anthropic/claude-sonnet-4
Cuando el principal falla (rate limit, error del servidor, fallo 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.
¿Puede el agente mejorar sus propios 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 un skill para reutilizarlo en el futuro.11 El agente crea skills después de tareas complejas (más de 5 llamadas a herramientas), cuando se topa con errores y encuentra la ruta que funciona, cuando corriges su enfoque, o cuando descubre un flujo de trabajo no trivial.
¿Existe integración con IDE?
Sí — Hermes puede ejecutarse como un 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-05-21 | Guía v1.6: Se agregó v0.14.0 (16 de mayo de 2026) — The Foundation release. Titular: una base de instalación/ejecución más ligera, además de superficies más amplias para proveedores, gateway, medios y verificación. Se agregó SuperGrok OAuth con contexto de 1M en grok-4.3, hermes proxy compatible con OpenAI para proveedores OAuth, x_search de primera clase, pip install hermes-agent, instalaciones diferidas de dependencias, inicio ~19 s más rápido, llamadas CDP del navegador 180 veces más rápidas, LINE + SimpleX Chat para 22 plataformas de mensajería, Microsoft Teams de extremo a extremo, /handoff, /subgoal, botones nativos de aclaración en Telegram/Discord, relleno del historial de Discord, vision_analyze con píxeles sin procesar, pie de verificador de mutaciones de archivos por turno, diagnósticos semánticos LSP en cada escritura, video_generate unificado, computer_use vía cua-driver para proveedores que no son Anthropic, URLs clicables OSC8, compatibilidad con Zed ACP Registry, router Pareto Code de OpenRouter, NovitaAI, entorno de ejecución app-server de Codex, tap confiable huggingface/skills, 9 skills opcionales, plugin ctx.llm / tool_override, búsqueda web Brave/DDGS, cambio de nombre a 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 multiagente duradero (heartbeat, recuperación, detección de zombis, puerta contra alucinaciones, max_retries por tarea, tableros multiproyecto) que convierte los enjambres en una primitiva de primera clase en vez de un patrón de delegación. El comando /goal fija el agente a un objetivo entre turnos (patrón Ralph-loop como comando slash). Nueva herramienta video_analyze, primero con Gemini y 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 en zh-Hans. Google Chat como plataforma de mensajería número 20 mediante el patrón de adaptador 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 sesión 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 protección de disco. Ocho cierres de seguridad P0: redacción de secretos activada por defecto, bypass de DM entre guilds en Discord (CVSS 8.1), rechazo de desconocidos + silenciamiento de chat propio en WhatsApp, TOCTOU de MCP OAuth, TOCTOU de auth.json en CLI, piso SSRF del navegador, escaneo de prompt injection en cron, redacción de hermes debug share. Linting posterior a escritura para Python/JSON/YAML/TOML, modo cron no_agent 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 PR 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 reportes por ejecución: Hermes se mantiene a sí mismo entre sesiones activas. El ciclo de mejora automática se actualizó con calificación basada en rúbricas, sesgo hacia actualizaciones activas, herencia correcta del runtime y toolsets acotados restringidos a memoria y skills. Cuatro nuevos proveedores de inferencia: GMI Cloud, Azure AI Foundry, MiniMax OAuth y Tencent Tokenhub. LM Studio ascendió 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 vía PKCE OAuth con skill incluida; plugin de Google Meet para llamadas y transcripción; proveedor Piper local 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, comando slash /reload-skills, estilos conectables de indicador de ocupado. El arranque en frío visible de la TUI se redujo ~57% mediante inicialización diferida de agentes e importaciones diferidas. Seguridad: redacción de secretos desactivada por defecto para evitar corrupción de payloads; blocklist estricta para comandos irrecuperables. Estadísticas: 1.096 commits, 550 PR 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 de portapapeles OSC-52, teclas estables de selector, barra de estado con cronómetro por turno y rama de git, confirmación de /clear, preset de tema claro, superposición de observabilidad para creación de subagentes. Arquitectura de transporte conectable: conversión de formato y transporte HTTP extraídos a agent/transports/ para una integración de proveedores más limpia. AWS Bedrock nativo vía Converse API. Cinco nuevas rutas de inferencia: NVIDIA NIM, Arcee AI, Step Plan, Google Gemini CLI OAuth y Vercel ai-gateway. GPT-5.5 vía Codex OAuth: el nuevo modelo insignia de OpenAI ahora está disponible mediante ChatGPT Codex OAuth 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: comandos slash, 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 curso ve después de su siguiente llamada de herramienta, sin interrumpir el turno ni romper la caché de prompts. Shell hooks conectan scripts como hooks de ciclo de vida sin plugins Python. El modo de entrega directa por webhook reenvía payloads directamente a un chat de plataforma, omitiendo al agente para fan-out. Delegación más inteligente con roles de orquestador, profundidad de spawn configurable y coordinación de archivos. El dashboard gana un sistema de plugins, cambio de tema en vivo, i18n y capacidad de respuesta móvil. Estadísticas desde v0.9.0: 1.556 commits, 761 PR fusionados, 1.314 archivos modificados, 224.174 inserciones, 29 colaboradores de la comunidad. |
20 |
| 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 administradas (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. Activación 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 con licencia MIT y es completamente gratuito. |
21 |
| 2026-04-13 | Guía v1.1: Se agregaron funciones de v0.8.0 y v0.9.0. Dashboard web 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 de seguridad integral. |
15 16 |
| 2026-04-10 | Guía v1.0: Lanzamiento inicial que cubre Hermes Agent v0.7.0. Autenticación de proveedores, configuración, CLI, comandos slash, 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 de mejora automática, múltiples proveedores, 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, los métodos de autenticación por proveedor (Nous Portal OAuth, código de dispositivo de Codex, tipos de tokens de GitHub Copilot, 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 comando slash/model(incluidocustom:name:model), las plantillas de configuración de Ollama/vLLM/SGLang/llama.cpp/LM Studio, las instrucciones de red para WSL2, la cadena de detección de longitud de contexto, la configuración del modelo de fallback, el enrutamiento inteligente de modelos y los proveedores personalizados con nombre. Todos los nombres de variables de entorno específicos de proveedores, tipos de tokens, anulaciones 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 CLI y las rutas de mensajes del gateway, los tres modos 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 que no son 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), los umbrales de presión de presupuesto (70% precaución, 90% advertencia), los timeouts de streaming con ajuste automático de proveedores locales y el bloque completo de configuración de modelos auxiliares (auxiliary:con espacios paravision,web_extract,approval,compression,session_search,skills_hub,mcp,flush_memories). La restricción del proveedor"main"a espacios auxiliares/de compresión/de 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 CLI” en la documentación de referencia de Hermes Agent. Fuente primaria para cada comando CLI de nivel superior 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. Todos los flags de subcomandos, descripciones de opciones, comportamiento del conjunto de credenciales, sintaxis de filtrado de logs, flags de migración de OpenClaw, comandos de administració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 instalador 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 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, anulaciones de configuración) y su uso previsto para compartir diagnósticos. ↩ -
Nous Research, “Referencia de comandos slash” en la documentación de referencia de Hermes Agent. Fuente primaria para cada comando slash listado en esta publicación, la arquitectura
COMMAND_REGISTRY, la separación entre CLI y mensajería, los comandos slash dinámicos de skills, los comandos rápidos enconfig.yaml, el comportamiento de coincidencia por prefijo y los comandos exclusivos de mensajería (/status,/sethome,/approve,/deny,/update,/commands). ↩↩↩↩↩↩↩↩↩↩ -
Nous Research, “Tools y toolsets” en la guía de usuario de Hermes Agent. Fuente primaria para el resumen de categorías de tools, los comandos de uso de toolsets, los seis backends de terminal (local, docker, ssh, singularity, modal, daytona), la configuración de contenedores (cpu, memoria, disco, persistente), el hardening de seguridad para contenedores, la administración de procesos en segundo plano API y el soporte de sudo. ↩↩↩↩↩↩↩↩↩↩
-
Nous Research, “Sistema de skills” en la guía de usuario de Hermes Agent. Fuente primaria para la divulgación progresiva, el formato
SKILL.md, las skills específicas por plataforma, la activación condicional (fallback_for_toolsets,requires_toolsets,fallback_for_tools,requires_tools), las skills administradas por el agente medianteskill_manage, los comandos del skill hub y la lista de fuentes (official,skills-sh,well-known,github,clawhub,claude-marketplace,lobehub), el escaneo de seguridad, los niveles de confianza y los 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 instantánea congelada, las acciones de la tool 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 incluirse), la distinción entre SOUL.md y AGENTS.md, la lista de personalidades integradas (14 personalidades, dehelpfulahype), las personalidades personalizadas enconfig.yaml, el patrón de superposición de/personalityy el orden completo de ensamblaje de la pila 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 lanzamiento de Hermes Agent v0.8.0. 8 de abril de 2026. Notificaciones automáticas de procesos en segundo plano, MiMo v2 Pro gratuito en Nous Portal, cambio de
/modelen vivo entre plataformas, proveedor nativo Google AI Studio, OAuth de Qwen, timeouts basados en inactividad, botones de aprobación en Slack/Telegram, OAuth 2.1 PKCE de MCP, logging centralizado, expansión del sistema de plugins. ↩↩↩↩↩ -
Notas de lanzamiento de Hermes Agent v0.9.0. 13 de abril de 2026. Dashboard web local, Fast Mode (
/fast), iMessage mediante BlueBubbles, WeChat + WeCom, Termux/Android, monitoreo de procesos en segundo plano (watch_patterns), proveedores nativos xAI + Xiaomi MiMo, context engine conectable, soporte de proxy unificado, hardening 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 lanzamiento de 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 ejecutado en el ticker cron del gateway. Bucle de mejora automática actualizado: calificación basada en rúbricas, sesgo de actualización activa, herencia correcta en runtime, toolsets delimitados restringidos 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 de catálogo de modelos remotos se actualizan automáticamente sin lanzamientos. Dos nuevas plataformas de mensajería: Microsoft Teams (19.ª, mediante arquitectura de gateway conectable) y Tencent Yuanbao (18.ª, texto + multimedia nativos). Spotify nativo mediante OAuth PKCE con skill incluida; plugin de Google Meet para llamadas y transcripción; proveedor local de TTS Piper. ComfyUI v5 + TouchDesigner-MCP incluidos de forma predeterminada. Nuevas skills: Humanizer, claude-design, design-md, airtable. CLI: modo de una sola ejecución
hermes -z, preflighthermes update --check, comando slash/reload-skills, estilos conectables de indicador de ocupado. Arranque en frío de TUI reducido ~57% mediante inicialización diferida. Seguridad: redacción de secretos deshabilitada de forma predeterminada; lista de bloqueo estricta para comandos irrecuperables. Estadísticas desde v0.11.0: 1.096 commits, 550 PRs fusionados, 213 colaboradores de la comunidad. Consulta también: etiqueta de lanzamiento v2026.4.30. ↩↩↩ -
Notas de lanzamiento de Hermes Agent v0.13.0. 7 de mayo de 2026. “The Tenacity release”. Tablero Kanban multiagente con heartbeat, reclaim, detección de zombies, puerta de alucinaciones,
max_retriespor tarea, tableros multiproyecto. Comando slash/goalpara fijación de objetivos entre turnos (primitiva del bucle Ralph) con presupuesto de turnos configurable. Toolvideo_analyze, Gemini primero 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 en zh-Hans). Google Chat como 20.ª plataforma de mensajería mediante patrón de adaptador conectable con hooks genéricos de pluginenv_enablement_fn/cron_deliver_env_var; IRC y Microsoft Teams migraron al mismo patrón. ABCProviderProfile+plugins/model-providers/para proveedores externos conectables. Reanudación automática de sesiones tras reinicio del gateway,/updatey recargas de archivos fuente. Checkpoints v2 reescritura de almacén único con depuración real, barreras de disco, sin repositorios sombra huérfanos. Ocho cierres P0 de seguridad: redacción de secretos activada de forma predeterminada, bypass de DM entre guilds de Discord (CVSS 8.1, allowlists de roles delimitadas por guild), WhatsApp rechaza desconocidos de forma predeterminada + nunca responde en chat consigo mismo, TOCTOU de guardado de credenciales OAuth de MCP, TOCTOU deauth.jsonde CLI en escritores de credenciales, piso SSRF de metadatos cloud del navegador en enrutamiento híbrido, escaneo de prompts ensamblados de cron (incluido contenido de skills) para prompt injection, redacción de contenido de logs dehermes debug shareal momento de subir. Otros elementos destacados: linting posterior a escritura para Python/JSON/YAML/TOML, modo watchdog de solo scriptno_agentde cron, allowlists de plataforma en Slack/Telegram/Mattermost/Matrix/DingTalk, mejoras de MCP (transporte SSE, reenvío 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 lanzamiento de 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 y contexto de 1M,
hermes proxy,x_search, empaquetado PyPI, dependencias diferidas, caché de prompts Claude de 1 h entre sesiones, lanzamiento ~19 s más rápido, llamadas CDP de navegador 180x más rápidas, LINE y SimpleX Chat para 22 plataformas de mensajería,/handoff, botones nativos de aclaración, backfill del historial de Discord,vision_analyzecon píxeles sin procesar, footer verificador de mutaciones de archivos por turno, diagnósticos semánticos de 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, hardening de comandos peligrosos,/subgoal, cambio de nombre de Qwen Cloud, beta nativa de Windows, 16 locales totales y amplias actualizaciones de documentación/pruebas. ↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩ -
Notas de lanzamiento de Hermes Agent v0.11.0. 23 de abril de 2026. “The Interface release”: reescritura completa en React/Ink del CLI interactivo con un backend Python JSON-RPC (
tui_gateway); arquitectura de transporte conectable (agent/transports/); AWS Bedrock nativo mediante Converse API; cinco nuevas rutas de inferencia (NVIDIA NIM, Arcee AI, Step Plan, OAuth de Google Gemini CLI, Vercel ai-gateway); GPT-5.5 mediante OAuth de Codex; QQBot como 17.ª plataforma de mensajería con configuración por escaneo QR; superficie de plugins expandida (comandos slash, despacho de tools, bloqueo de ejecución, transformación de resultados);/steer <prompt>para redirigir al agente durante la ejecución, inyectando contexto después de la siguiente llamada a tool sin romper la caché de prompts; 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, capacidad de respuesta 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: etiqueta de lanzamiento GitHub de Hermes Agent v0.11.0. ↩↩↩ -
Notas de lanzamiento de Hermes Agent v0.10.0. 16 de abril de 2026. “The Tool Gateway Release”. Integración con Nous Tool Gateway para suscriptores de pago de Nous Portal: acceso administrado 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. Activación por tool mediante el nuevo campo de configuración
use_gateway. El runtime prefiere el gateway sobre claves API directas cuando ambos están configurados. Integración completa conhermes toolsyhermes status. Reemplaza la variable de entorno 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. ↩↩↩