Agent Zero con Ollama: instalación con Docker y limites
Sí, Agent Zero (proyecto agent0ai) funciona dentro de un contenedor Docker y puede llamar a un Ollama local apuntando hacia http://host.docker.internal:11434, la dirección predeterminada prevista por el proyecto para conectar con el anfitrión desde el contenedor. La máquina del agente (el contenedor, con su escritorio Linux y su navegador) permanece separada de la máquina de inferencia: alojar todo localmente no garantiza por sí solo que el navegador integrado o las extensiones queden fuera de línea.
Agent Zero es un framework de agentes de código abierto publicado por agent0ai que proporciona al agente un auténtico escritorio Linux dentro de un contenedor Docker, un navegador controlable y herramientas de colaboración en documentos. Esta guía cubre su instalación, su conexión a un Ollama local, la elección del modelo según el rol (conversación o modelo utilitario) y las limitaciones reales de un modelo local pequeño ante este conjunto de tareas.
#Qué es Agent Zero
Agent Zero (repositorio agent0ai/agent-zero) se presenta como un framework que proporciona al agente un ordenador Linux completo: escritorio XFCE dentro de un contenedor Docker, navegador con anotación del DOM, colaboración en tiempo real en archivos Markdown, hojas de cálculo y presentaciones, y un hub de más de 100 plugins comunitarios. El proyecto contaba con más de 19.000 estrellas en GitHub a fecha del 28 de septiembre de 2026, y su última versión etiquetada, v2.13, se publicó el 23 de septiembre de 2026.
No es un agente especializado en código en el sentido de OpenCode o Cline: Agent Zero se enfoca en tareas transversales (búsqueda, control de aplicaciones de escritorio, revisión de interfaces web, análisis) a costa de una infraestructura más pesada que un simple binario en terminal.
El proyecto también destaca los «perfiles de agente» (especialistas creados sobre la marcha, por ejemplo para un análisis financiero prudente con entregables en hojas de cálculo), una gestión de proyectos que aísla archivos, secretos, memorias y repositorios por contexto, y una cooperación entre varios agentes en la que un agente principal delega investigación, programación, análisis o revisión a subagentes especializados. Cada una de estas funcionalidades consume contexto y capacidad para seguir instrucciones, lo que influye directamente en la elección del modelo cuando se pasa del chat básico a usos más complejos.
#Instalar el contenedor Docker
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
Con Docker ya instalado, la vía más directa es un solo comando que monta los datos de la instancia en un volumen persistente. El proyecto también ofrece un instalador mediante script (A0 Install) para servidores y el modo headless, así como un lanzador gráfico (A0 Launcher) que gestiona Docker, las instancias y los puertos por el usuario.
Una vez iniciado el contenedor, la interfaz web se abre en el puerto elegido (80 por defecto, o el indicado como parámetro) para configurar el proveedor del modelo antes de la primera tarea. En un servidor sin interfaz gráfica, el instalador mediante script admite un modo silencioso que crea una instancia y un puerto determinados sin abrir ningún menú, útil para un despliegue automatizado o una máquina remota accesible solo mediante SSH.
#Conectar un Ollama local
La documentación oficial de instalación detalla los pasos a seguir: en los ajustes del modelo de conversación, del modelo auxiliar o del modelo de embeddings, elegir Ollama como proveedor, escribir el nombre del modelo que espera Ollama (por ejemplo llama3.2 o qwen2.5:7b) y, a continuación, introducir la URL de la API si difiere del valor predeterminado.
Si el contenedor no conecta Ollama, la documentación recuerda que el puerto 11434 debe ser accesible desde el contenedor; el archivo Docker Compose proporcionado vincula host.docker.internal a la puerta de enlace de host en Docker Linux, y si ambos servicios comparten la misma red Docker, la dirección puede también ser http://(nom del contenedor):11434.
#¿Qué modelo elegir y para qué rol?
Agent Zero distingue tres funciones para los modelos: chat (conversación principal), utilitaria (organización de la memoria, resumen) y embedding (búsqueda en la memoria). El formato del nombre del modelo depende del proveedor: con Ollama, es solo el nombre del modelo (gpt-oss:20b), sin prefijo de proveedor, a diferencia de OpenRouter.
| Rol | Requisito documentado |
|---|---|
| Chat (conversación) | Debe seguir el formato de comunicación del agente (JSON con tool_name/tool_args) |
| Funciones auxiliares (memoria, resumen) | Los modelos muy pequeños (4B) suelen fallar; un modelo de 70B o un modelo en la nube «flash/mini» de calidad funciona mejor. |
| Embedding | Menos sensible al tamaño, se utiliza únicamente para indexar la memoria en búsquedas por similitud |
El punto que más suele pasarse por alto: un modelo de conversación aceptable puede fallar en la función utilitaria si es demasiado pequeño, lo que degrada silenciosamente la calidad de la memoria sin que el usuario entienda por qué el agente «olvida» o confunde hechos de una sesión a otra.
#Llamadas a herramientas con un pequeño modelo local
El propio Agent Zero documenta un problema extendido con los modelos locales ligeros: el modelo explica el comando en lugar de llamar a la herramienta que lo ejecutaría. El proyecto propone una solución basada únicamente en el prompt, sin modificar el código: el perfil «Tiny Local», que conserva el formato estándar de llamada a herramientas, pero elimina los campos de razonamiento visibles del prompt de comunicación para solicitar únicamente un objeto JSON ejecutable con tool_name y tool_args.
Una alternativa sin cambiar de perfil consiste en añadir un archivo de prompt específico (extensión .promptinclude.md) que reitere las reglas esperadas: una respuesta visible que sea exactamente un objeto JSON con exactamente los campos tool_name y tool_args, sin formato Markdown ni texto antes ni después. La documentación es explícita sobre la limitación de esta corrección: es un ajuste del prompt y del perfil, no una modificación del código de ejecución; si un modelo concreto sigue fallando pese a estas reglas, el siguiente paso es cambiar de modelo, no complicar aún más el prompt.
#Lo que realmente cambia el escritorio de Linux
Lo que distingue a Agent Zero de los agentes que funcionan exclusivamente en el terminal es este escritorio XFCE completo dentro del contenedor: el agente puede abrir una aplicación gráfica real (Blender para modelar un objeto, un gestor de archivos, un terminal visible) y el usuario observa cada acción compartiendo el mismo ratón y el mismo teclado virtuales, con la posibilidad de intervenir en cualquier momento.
El navegador integrado va más allá de un simple control de página: el modo Annotate convierte cualquier página web en una superficie de instrucciones clicables — cambiar un elemento, inspeccionarlo, reutilizarlo para otro proyecto o dejar un comentario específico que el agente luego trata como una tarea.
#Conectar servidores MCP
Más allá de las herramientas integradas (navegador, terminal, archivos), Agent Zero puede conectarse a servidores MCP externos para acceder a otros servicios: la documentación oficial describe cada conexión MCP como un puente —uno puede conectar con Gmail, otro con una base de datos y otro con una herramienta de automatización—. Un servidor MCP se declara como un comando ejecutado localmente o como una URL remota, lo que cambia las condiciones de red: un comando local dentro del contenedor tiene las mismas limitaciones que el acceso a Ollama (host.docker.internal, red Docker compartida), mientras que una URL remota sigue las reglas de red normales del contenedor.
La documentación recomienda limitar cada conexión a lo estrictamente necesario en lugar de añadir conexiones por precaución: cada servidor MCP conectado amplía la superficie que puede alcanzar el modelo, incluso con un modelo local cuyo comportamiento al llamar a herramientas es menos predecible que el de un modelo en la nube de gama alta.
#Lista de comprobación de seguridad antes de conectar el modelo y las herramientas
Tres áreas requieren una comprobación explícita antes de dejar que Agent Zero opere sin supervisión constante: el aislamiento del contenedor, los secretos y las claves de API, y los servidores MCP conectados.
| Superficie de ataque | Punto a verificar |
|---|---|
| Sandbox / contenedor | Permanecer en Docker en lugar de ejecutar directamente en el equipo anfitrión; no montar todo el directorio personal en el volumen sin comprender el riesgo |
| Secretos y claves de API | Usar secretos globales o de proyecto en lugar de incluir una clave en texto plano en un prompt, una captura de pantalla o un ticket de error |
| Alcance de los secretos | Los secretos globales se aplican a todas las conversaciones y proyectos salvo que se sobrescriban; un proyecto puede definir sus propios secretos aislados, que prevalecen sobre los secretos globales |
| Servidores MCP conectados | Añadir solo las conexiones realmente útiles; cada puente MCP adicional amplía lo que puede alcanzar el modelo, sin vínculo directo con la elección Ollama local o en la nube |
#Frente a otros agentes locales
| Framework | Lo que lo distingue |
|---|---|
| Agent Zero | Escritorio Linux completo (XFCE) y navegador controlable dentro de un contenedor Docker; tareas transversales más allá del código |
| Hermes Agent | Agente de terminal y mensajería (Telegram, Discord…) centrado en la memoria persistente, sin escritorio gráfico |
| OpenCode / Cline | Agentes de código en terminal o en el editor, sin contenedor dedicado ni navegador controlable |
#Límites que hay que conocer antes de empezar
- Volumen de búsqueda engañoso
- «Agent Zero» también abarca contenidos de entretenimiento en los motores de búsqueda; la demanda real del framework de desarrollo es más limitada de lo que sugiere el volumen bruto de la palabra clave.
- Espacio en disco y RAM
- El contenedor incluye un escritorio completo además del entorno de ejecución del agente: prever más recursos que para un agente CLI mínimo, aunque la propia inferencia se ejecute en otro lugar mediante Ollama.
- Modelo utilitario subdimensionado
- Un modelo utilitario demasiado pequeño degrada la memoria sin mostrar un mensaje de error explícito; es lo primero que debes comprobar si el agente parece «perder el hilo» de una sesión a otra.
- Red interna en el contenedor
- host.docker.internal funciona para Docker Desktop y la configuración Linux proporcionada, pero un despliegue personalizado (red Docker personalizada, alojamiento remoto) requiere reescribir manualmente la URL de la API.
- Desplegar un LLM en producción con Docker Compose
- Instalar Ollama con Docker
- Agente de IA: definiciones y límites generales
- Fuente: repositorio oficial de Agent Zero en GitHub
- Fuente: guía oficial de instalación
- Fuente: guía oficial sobre la llamada a herramientas en local
¿Qué dirección de Ollama usar desde Agent Zero en Docker?+
¿Funciona Agent Zero sin GPU dedicada?+
¿Por qué mi modelo local nunca llama a las herramientas en Agent Zero?+
¿El escritorio Linux de Agent Zero hace que el agente sea más seguro que uno solo en terminal?+
¿Agent Zero y Hermes Agent hacen lo mismo?+
¿Cómo proteger secretos y claves de API en Agent Zero?+
¿Hay que añadir todos los servidores MCP disponibles a Agent Zero?+
¿Un comentario, un error, una precisión? Avísanos, eso mejora la guía para todos.