Intermedio 12 minAgentes

Hermes Agent con Ollama: memoria, herramientas y limites

Respuesta directa

Sí: Hermes Agent de Nous Research se conecta a un Ollama local declarando un proveedor personalizado con la dirección http://127.0.0.1:11434 y una clave de API vacía. Pero la inferencia local no hace que el agente funcione sin conexión por defecto: la búsqueda web, la síntesis de voz y el navegador en la nube siguen siendo servicios de terceros mientras no los desactives. Elige un modelo que indique que admite llamadas a herramientas; de lo contrario, puede describir una acción en lugar de ejecutarla.

Hermes Agent es el framework de agentes autónomos publicado por Nous Research, con terminal, memoria persistente y conectores de mensajería. Esta guía cubre su conexión a una instancia local de Ollama, la elección de un modelo capaz de llamar a herramientas, lo que realmente conserva su memoria y las limitaciones de seguridad y fiabilidad que hay que conocer antes de usarlo a diario.

Por Mohamed Meguedmi·Actualización 2026-09-28·Probado en Windows, macOS y Linux

#Qué es Hermes Agent

Hermes Agent (repositorio NousResearch/hermes-agent) es un agente autónomo de línea de comandos, con una interfaz TUI, una puerta de enlace de mensajería (Telegram, Discord, Slack, WhatsApp, Signal) y un sistema de habilidades que se crean y mejoran con el uso. No reemplaza a Hermes 4, que es un modelo de lenguaje: Hermes Agent es el software que coordina las llamadas a herramientas, la memoria y el terminal, independientemente del modelo conectado.

El repositorio avanza a un ritmo sostenido: la versión etiquetada v2026.9.24 (Hermes Agent v0.21.5), publicada el 24 de septiembre de 2026, reúne varios cientos de correcciones desde la versión anterior. Nous Research publica el proyecto bajo la licencia MIT, lo que permite su uso profesional sin pagar regalías, incluso en un despliegue modificado.

El agente funciona en un solo proceso de enlace capaz de atender varios canales al mismo tiempo: terminal local, Telegram, Discord, Slack, WhatsApp y Signal comparten la misma memoria y el mismo historial de conversación. Esto permite iniciar una tarea desde el escritorio y seguirla desde un teléfono, sin duplicar la configuración del modelo ni la memoria de un canal respecto a otro.

i
Diferencia con Hermes 4
Hermes Agent es un framework de agentes que acepta cualquier modelo como backend. Hermes 4 es una familia de modelos que puedes ejecutar precisamente como backend de Hermes Agent mediante Ollama. Ambos llevan el nombre Hermes, pero no son intercambiables.

#Conectar Ollama localmente

El kit Agentes Locales

Agentes que actúan en tu máquina: Cline agéntico, MCP, n8n + Ollama, automatizaciones locales.

  • Espacio en línea de por vida
  • PDF + archivos
  • Actualizaciones de por vida

Hermes Agent enruta las solicitudes a proveedores autoalojados compatibles con OpenAI (Ollama, vLLM, llama.cpp), cada uno bajo su propio nombre de proveedor. La documentación oficial es explícita sobre el formato esperado: un base_url que apunte al servidor y una clave de API vacía que sirva como simple marcador de posición.

~/.hermes/config.yaml
auxiliary:
  compression:
    provider: ollama
    model: qwen3.6:27b-q4_k_m
    base_url: http://127.0.0.1:11434

Una base_url reducida a un simple host:port (sin /v1) recibe automáticamente el sufijo esperado por la API compatible con OpenAI: no es necesario añadirlo manualmente. Este mismo mecanismo funciona para vLLM y llama.cpp cambiando solo el nombre del proveedor y el puerto.

Este mismo bloque de configuración puede dirigirse a roles diferentes: el modelo principal de conversación, el modelo de compresión de contexto o el modelo usado para generar un título de sesión. Cada uno puede apuntar a un proveedor distinto — por ejemplo, un modelo Ollama local para la conversación, y un modelo en la nube más rápido destinado a tareas auxiliares — lo que permite mantener la confidencialidad en los intercambios principales mientras evita que un pequeño modelo local ralentice las tareas secundarias.

!
Local no significa fuera de línea
Dirigir el modelo principal a Ollama no desactiva los servicios auxiliares. La búsqueda web, la generación de imágenes, la síntesis de voz y el navegador en la nube utilizan API externas (Nous Portal o tus propias claves) mientras no desactives estas herramientas una por una en la configuración.

#¿Qué modelo para la llamada a herramientas?

Hermes Agent expone más de 40 herramientas (terminal, archivos, navegador, memoria, cron) que el modelo debe invocar a través de llamadas estructuradas, no mediante una simple descripción en texto. Un modelo Ollama que no haya sido entrenado para el tool-calling — o una cuantización demasiado agresiva del mismo modelo — responde frecuentemente con una explicación en lugar de activar la llamada.

Modelo principal de conversación
Prioriza una variante de Ollama que figure explícitamente como compatible con herramientas (etiqueta tools en ollama.com/library) en lugar de un modelo genérico de chat.
Modelo auxiliar (títulos, compresión)
Puede seguir siendo ligero: cuando el proveedor local solo dispone de una ranura de ejecución, Hermes Agent lo llama después de recibir la respuesta del turno principal, no en paralelo, para evitar que un servidor con una sola ranura mezcle las dos solicitudes.
Formato de identificador
Un proveedor con nombre puede añadir un prefijo al identificador del modelo, por ejemplo ollama-local/qwen3.6:27b-q4_k_m; este prefijo también se aplica cuando al servidor solo llega la solicitud sin modificar (sin prefijo).

Un detalle que conviene observar de cerca: con un proveedor local personalizado, la llamada al modelo que genera el título se envía después de que llegue la respuesta del turno, no al mismo tiempo. En un servidor local que solo puede procesar una solicitud a la vez, esto evita que una solicitud de título en JSON estructurado interrumpa la generación de la propia respuesta: un detalle de planificación de las solicitudes que rara vez se documenta en otros lugares.

#Memoria: lo que realmente persiste

La memoria de Hermes Agent se basa en archivos de texto simples, legibles y modificables directamente: MEMORY.md y USER.md en el directorio de perfil. El modelo decide, a través de una herramienta específica, qué merece la pena escribir en ellos: preferencias, hechos duraderos, procedimientos aprendidos.

Terminal
cat ~/.hermes/memories/MEMORY.md
cat ~/.hermes/memories/USER.md

El punto débil documentado por el propio proyecto: un modelo local pequeño puede anunciar «está guardado» sin haber llamado realmente a la herramienta de escritura. La documentación oficial recomienda, para un modelo local de menos de unos 30 mil millones de parámetros o que no invoque herramientas de forma fiable, pedir explícitamente que se use la herramienta de memoria y después verificar el archivo, en lugar de multiplicar las instrucciones en el prompt.

→
Verificar en lugar de creer
Después de una solicitud de memorización, abre el archivo MEMORY.md o USER.md para confirmar que la entrada realmente aparece en él. Si la escritura está activada con aprobación humana (write_approval), queda pendiente hasta que se apruebe explícitamente.

#Seguridad: ocho capas, no un muro

Nous Research documenta un modelo de seguridad de ocho capas: autorización de usuarios, aprobación humana de comandos peligrosos, salvaguardas para la escritura de archivos, aislamiento mediante contenedores (Docker, Singularity, Modal), filtrado de las credenciales transmitidas a los servidores MCP, detección de inyección de prompts en los archivos de contexto, aislamiento entre sesiones y validación de las rutas de trabajo de las herramientas de terminal.

La aprobación de comandos peligrosos se configura a través de approvals.mode en el archivo de configuración, con tres modos disponibles: automático, manual o inteligente (el modo predeterminado recomendado, que aprueba acciones de bajo riesgo y bloquea las demás para validación).

!
El aislamiento mediante contenedores no es automático
Estas ocho capas existen en el software, pero durante la configuración debes seleccionar el aislamiento con Docker/Singularity/Modal como backend del terminal. Un agente iniciado con el backend local ejecuta los comandos directamente en tu máquina, sin el entorno aislado del contenedor.

#Límites de un pequeño modelo local para este agente

Un agente con tantas herramientas como Hermes Agent exige mucho de la capacidad del modelo para seguir instrucciones: memoria, planificación, llamadas encadenadas a herramientas y, a veces, subagentes en paralelo. Con un modelo de 7 a 14 mil millones de parámetros con cuantización Q4_K_M, debes prever llamadas fallidas a herramientas, confirmaciones sin ejecución real y una compresión del contexto más frecuente en sesiones largas.

Lo que empeora primero con un pequeño modelo local
FunciónSíntoma típico
Memoria (herramienta dedicada)Confirmación verbal sin escritura real del archivo
Secuencia de herramientasEl modelo describe la siguiente etapa en lugar de ejecutarla
Subagentes paralelosInstrucciones mal transmitidas, resultados que hay que contrastar manualmente
Sesiones largasCompresión del contexto más frecuente, pérdida de detalles antiguos

Nada de esto es exclusivo de Hermes Agent: es la limitación conocida de los modelos pequeños cuantizados ante los formatos de salida estructurados. La respuesta documentada por el proyecto no es añadir instrucciones, sino utilizar un modelo más sólido al menos durante la fase de configuración inicial. Una vez almacenadas las entradas en memoria, un modelo más ligero puede volver a leerlas sin problemas, ya que se incorporan directamente al prompt de sistema.

Los subagentes y los scripts de Python que llaman a herramientas mediante RPC —dos funciones destacadas por el proyecto para paralelizar tareas— se basan en la misma capacidad de seguimiento de instrucciones que una llamada simple a una herramienta. Un modelo que ya tiene dificultades con una llamada aislada tendrá aún más problemas para coordinar varios subagentes sin mezclar sus respectivos contextos: es mejor validar el comportamiento básico antes de activar estas funcionalidades avanzadas.

#Servidores MCP: catálogo y permisos

Hermes Agent incluye un catálogo de servidores MCP revisados e integrados por el equipo de Nous Research (Linear, GitHub, Figma y Asana, entre otros), pero cada servidor permanece desactivado por defecto: es necesario instalarlo explícitamente antes de que sea accesible para el agente. Una vez introducidas las credenciales, Hermes Agent consulta al servidor para enumerar las herramientas que expone y muestra una lista con casillas de selección, lo que evita activar de golpe todas las capacidades de un servidor de terceros aún poco conocido.

Un detalle que pocos tutoriales mencionan: para los servidores MCP en modo stdio, Hermes Agent no transmite al subproceso el entorno completo del shell del equipo. Solo se pasan las variables declaradas explícitamente en la configuración del servidor, junto con un conjunto mínimo (en particular, PATH, HOME, USER, LANG, TERM y SHELL); las demás variables de entorno, incluidas las claves de API y los tokens, se filtran. Este mecanismo reduce el riesgo de que un servidor MCP de terceros mal auditado extraiga un secreto presente en el shell.

#Subagentes: lo que permite la delegación

La herramienta delegate_task permite a Hermes Agent encargar una tarea a un agente hijo: cada subagente inicia su propia conversación, con su propia sesión de terminal, y solo hereda las herramientas ya habilitadas para el agente padre; no puede otorgarse una capacidad adicional que el propio padre no tenga. Solo el resumen final del subagente se incorpora al contexto del agente principal; las llamadas intermedias a herramientas nunca se incorporan a él, lo que limita el consumo de contexto en tareas largas y evita llenar la conversación principal de detalles de ejecución.

Por defecto, hasta diez subagentes pueden ejecutarse en paralelo —un límite configurable, sin un límite de hardware impuesto por el software—, pero la profundidad de delegación predeterminada sigue fijada en 1: un subagente no puede, a su vez, crear otros subagentes mientras ese comportamiento no se active explícitamente en la configuración. Con un modelo local de 7 a 14B, conviene mantener esa profundidad en 1: cada nivel adicional de delegación multiplica el número de llamadas a herramientas que deben encadenarse correctamente, precisamente el punto débil señalado anteriormente para los modelos pequeños cuantizados.

#Solución de problemas: síntomas, causa, corrección

La mayoría de los problemas con un endpoint local de Ollama se reducen a cuatro grupos de síntomas, cada uno con una causa identificable en la documentación oficial, en lugar de una hipótesis formulada a tientas.

Síntomas comunes con un endpoint Ollama local
SíntomaCausa probableCorrección
Interrupciones de flujo o timeout en un contexto largoEl tiempo de espera de lectura predeterminado no cubre la latencia de un modelo local de gran tamañoAumentar HERMES_STREAM_READ_TIMEOUT (por ejemplo, 1800 segundos) en la configuración
El modelo describe la acción en lugar de ejecutarlaModelo cuya compatibilidad con las llamadas a herramientas no se ha anunciado, o cuantización demasiado agresiva del mismo modeloElegir una variante que figure con la etiqueta «tools» en la ficha del modelo en ollama.com/library
Confirmación de que se ha guardado en la memoria sin escribir el archivoModelo local por debajo de aproximadamente 30B con llamadas a herramientas poco fiablesVerificar MEMORY.md/USER.md después de cada solicitud; si es necesario, volver temporalmente a un modelo más potente
Un servidor MCP de terceros no ve una variable esperadaFiltrado de entorno: solo las variables declaradas y el mínimo esencial se envían al subprocesoDeclarar explícitamente la variable en la configuración de este servidor MCP

Hermes Agent detecta automáticamente los endpoints locales y amplía sus tiempos de espera de lectura en consecuencia, pero un contexto voluminoso en un modelo Ollama lento aún puede superar ese tiempo de espera predeterminado; la documentación oficial recomienda ajustar la variable HERMES_STREAM_READ_TIMEOUT en lugar de reducir arbitrariamente el contexto enviado al modelo.

#Instalar en la práctica

  1. 01
    Instalar Hermes Agent
    En Linux, macOS o WSL2: curl -fsSL https://hermes-agent.nousresearch.com/install.sh | bash, luego recargar el shell y ejecutar hermes.
  2. 02
    Preparar el modelo Ollama
    Verificar que Ollama esté funcionando en el puerto 11434 y que el modelo elegido se anuncie como compatible con tool-calling antes de declararlo como proveedor.
  3. 03
    Declarar el proveedor local
    Usar hermes config set para especificar provider: ollama, el nombre del modelo y la base_url http://127.0.0.1:11434, con una clave de API vacía.
  4. 04
    Probar una llamada sencilla a una herramienta
    Pedir una acción verificable (listar un directorio, leer un archivo) y confirmar en el terminal que la herramienta se ha ejecutado realmente y que no se ha limitado a describir la acción.
  5. 05
    Controlar la memoria
    Pedir explícitamente que se memorice la información y luego abrir MEMORY.md para comprobar que la entrada figure allí antes de confiar en el agente en este aspecto.
Preguntas frecuentes
¿Funciona Hermes Agent sin conexión a internet una vez conectado a Ollama?+
No por defecto. El modelo principal de conversación funciona bien localmente una vez declarado el proveedor Ollama, pero la búsqueda web, la síntesis de voz, la generación de imágenes y el navegador en la nube siguen siendo servicios externos mientras no los desactives explícitamente en la configuración de herramientas. Para un uso realmente sin conexión, es necesario desactivar estas herramientas una por una, en lugar de confiar únicamente en el enrutamiento del modelo principal.
¿Qué modelo Ollama elegir para Hermes Agent?+
Elige un modelo cuya ficha en ollama.com/library indique explícitamente que es compatible con llamadas a herramientas, como qwen3.6:27b-q4_k_m, mencionado en la documentación oficial. Un modelo de chat genérico, incluso si es grande, responde a menudo en lenguaje natural en lugar de activar la llamada estructurada a una herramienta que espera el framework, lo que bloquea funciones enteras como la memoria, el terminal o los servidores MCP instalados.
¿Hermes Agent es lo mismo que el modelo Hermes 4?+
No. Hermes Agent es el software de orquestación: terminal, memoria, llamadas a herramientas, servidores MCP y delegación a subagentes. Hermes 4 es un modelo de lenguaje que puedes ejecutar como modelo subyacente, mediante Ollama u otro proveedor, al igual que cualquier otro modelo compatible con llamadas a herramientas. Ambos tienen el mismo nombre pero desempeñan roles diferentes.
¿Cómo verificar que la memoria de Hermes Agent funciona realmente?+
Pide explícitamente que se memorice una información y luego abre ~/.hermes/memories/MEMORY.md o USER.md para confirmar que la entrada está realmente en el archivo guardado en disco. Con un modelo local pequeño de menos de unos 30 mil millones de parámetros, una confirmación verbal sin que se escriba realmente en el archivo es un escenario que la propia documentación del proyecto reconoce como frecuente; de ahí la utilidad de comprobarlo en lugar de confiar en la respuesta del agente.
¿El aislamiento mediante contenedores se activa automáticamente?+
No. El aislamiento mediante contenedores (Docker, Singularity, Modal) requiere elegir explícitamente un backend de terminal en la configuración, entre siete backends disponibles, incluida la ejecución local. Un agente iniciado con el backend local predeterminado ejecuta los comandos directamente en la máquina anfitriona, sin este aislamiento; debes seleccionar un backend basado en contenedores para beneficiarte realmente de él.
¿Cómo activar un servidor MCP en Hermes Agent?+
Los servidores MCP del catálogo de Nous Research están desactivados por defecto: hay que instalarlos uno por uno en la configuración antes de que el agente pueda acceder a ellos. Una vez introducidas las credenciales, Hermes Agent consulta el servidor para enumerar las herramientas que expone y muestra una lista con casillas de selección, lo que evita activar de golpe todas las capacidades de un servidor de terceros poco conocido.
¿Cuántos subagentes puede lanzar Hermes Agent en paralelo?+
Por defecto, hasta diez agentes secundarios pueden funcionar simultáneamente a través de la herramienta delegate_task, un límite configurable sin tope impuesto por el software. Sin embargo, la profundidad de delegación sigue fijada en 1 por defecto: un agente secundario no puede crear otros mientras este comportamiento no se active explícitamente, lo que evita un aumento descontrolado del número de agentes y del consumo de tokens.

¿Esta guía te ha ayudado?

¿Un comentario, un error, una precisión? Avísanos, eso mejora la guía para todos.