Agent Zero avec Ollama : installation Docker et limites
Oui, Agent Zero (projet agent0ai) tourne dans un conteneur Docker et peut appeler un Ollama local en pointant vers http://host.docker.internal:11434, l'adresse par défaut prévue par le projet pour joindre l'hôte depuis le conteneur. L'ordinateur de l'agent (le conteneur, avec son bureau Linux et son navigateur) reste distinct de la machine d'inférence : héberger tout en local ne garantit pas à lui seul que le navigateur intégré ou les extensions restent hors ligne.
Agent Zero est un framework d'agent open source publié par agent0ai qui donne à l'agent un véritable bureau Linux dans un conteneur Docker, un navigateur pilotable et des outils de cowork sur des documents. Ce guide couvre son installation, son branchement à un Ollama local, le choix du modèle selon le rôle (conversation ou modèle utilitaire), et les limites réelles d'un petit modèle local face à ce périmètre de tâches.
#Ce qu'est Agent Zero
Agent Zero (dépôt agent0ai/agent-zero) se présente comme un framework qui donne à l'agent un ordinateur Linux complet : bureau XFCE dans un conteneur Docker, navigateur avec annotation du DOM, cowork en direct sur des fichiers Markdown, tableurs et présentations, et un hub de plus de 100 plugins communautaires. Le projet comptait plus de 19 000 étoiles sur GitHub au 28 septembre 2026, avec une dernière version taguée v2.13 publiée le 23 septembre 2026.
Ce n'est pas un agent de code spécialisé au sens d'OpenCode ou Cline : Agent Zero vise des tâches transverses (recherche, pilotage d'applications de bureau, revue d'interfaces web, analyse) au prix d'une infrastructure plus lourde qu'un simple binaire en terminal.
Le projet met aussi en avant des « profils d'agent » (spécialistes créés à la volée, par exemple pour une analyse financière prudente avec livrables tableur), une gestion de projets qui isole fichiers, secrets, mémoires et dépôts par contexte, et une coopération multi-agents où un agent principal délègue recherche, code, analyse ou revue à des sous-agents dédiés. Chacune de ces fonctionnalités consomme du contexte et de la capacité de suivi d'instructions, ce qui pèse directement sur le choix du modèle une fois qu'on quitte le simple chat.
#Installer le conteneur Docker
Des agents qui agissent sur ta machine : Cline agentique, MCP, n8n + Ollama, automatisations locales.
- Espace en ligne à vie
- PDF + fichiers
- Mises à jour à vie
Avec Docker déjà installé, la voie la plus directe est une seule commande qui monte les données de l'instance dans un volume persistant. Le projet propose aussi un installeur en script (A0 Install) pour les serveurs et le mode headless, ainsi qu'un launcher graphique (A0 Launcher) qui gère Docker, les instances et les ports à la place de l'utilisateur.
Une fois le conteneur lancé, l'interface web s'ouvre sur le port choisi (80 par défaut, ou celui passé en paramètre) pour configurer le fournisseur de modèle avant la première tâche. Sur un serveur sans interface graphique, l'installeur en script accepte un mode silencieux qui crée une instance et un port donnés sans ouvrir de menu, utile pour un déploiement automatisé ou une machine distante accessible seulement en SSH.
#Connecter un Ollama local
La documentation officielle d'installation détaille la marche à suivre : dans les réglages du modèle de conversation, du modèle utilitaire ou du modèle d'embedding, choisir Ollama comme fournisseur, écrire le nom de modèle attendu par Ollama (par exemple llama3.2 ou qwen2.5:7b), puis renseigner l'URL de l'API si elle diffère de la valeur par défaut.
Si le conteneur ne joint pas Ollama, la documentation rappelle que le port 11434 doit être joignable depuis le conteneur ; le fichier Docker Compose fourni relie host.docker.internal à la passerelle hôte sous Linux Docker, et si les deux services partagent le même réseau Docker, l'adresse peut aussi être http://(nom du conteneur):11434.
#Quel modèle choisir, et pour quel rôle
Agent Zero distingue trois emplacements de modèle : chat (conversation principale), utilitaire (organisation de la mémoire, résumé) et embedding (recherche mémoire). Le format du nom de modèle dépend du fournisseur : avec Ollama, c'est le nom de modèle seul (gpt-oss:20b), sans préfixe de fournisseur contrairement à OpenRouter.
| Rôle | Exigence documentée |
|---|---|
| Chat (conversation) | Doit suivre le format de communication de l'agent (JSON avec tool_name/tool_args) |
| Utilitaire (mémoire, résumé) | Les modèles très petits (4B) échouent souvent ; un modèle 70B ou un modèle cloud « flash/mini » de qualité fonctionne mieux |
| Embedding | Moins sensible à la taille, sert uniquement à indexer la mémoire pour la recherche par similarité |
Le point le plus souvent négligé : un modèle de conversation correct peut échouer sur le rôle utilitaire s'il est trop petit, ce qui dégrade silencieusement la qualité de la mémoire sans que l'utilisateur comprenne pourquoi l'agent « oublie » ou confond des faits d'une session à l'autre.
#Appel d'outils avec un petit modèle local
Agent Zero documente lui-même un problème répandu avec les modèles locaux légers : le modèle explique la commande au lieu d'appeler l'outil qui l'exécuterait. Le projet propose un correctif prompt-only, sans toucher au code : le profil « Tiny Local », qui conserve le format d'appel d'outil standard mais retire les champs de raisonnement visibles du prompt de communication, pour ne demander qu'un objet JSON exécutable avec tool_name et tool_args.
Une alternative sans changer de profil consiste à ajouter un fichier de prompt dédié (extension .promptinclude.md) qui répète la discipline attendue : une réponse visible qui est exactement un objet JSON avec exactement les champs tool_name et tool_args, sans balisage markdown ni texte avant ou après. La documentation est explicite sur la limite de ce correctif : c'est un ajustement de prompt et de profil, pas une modification du code d'exécution — si un modèle précis continue d'échouer malgré cette discipline, la piste suivante est de changer de modèle, pas de complexifier davantage le prompt.
#Ce que le bureau Linux change vraiment
La particularité d'Agent Zero par rapport aux agents purement terminal est ce bureau XFCE complet à l'intérieur du conteneur : l'agent peut ouvrir un vrai logiciel graphique (Blender pour modéliser un objet, un gestionnaire de fichiers, un terminal visible), et l'utilisateur observe chaque action en partageant la même souris et le même clavier virtuels, avec la possibilité d'intervenir à tout moment.
Le navigateur intégré va plus loin qu'un simple contrôle de page : le mode Annotate transforme n'importe quelle page web en surface d'instructions cliquables — changer un élément, l'inspecter, le reprendre pour un autre projet, ou laisser un commentaire ciblé que l'agent traite ensuite comme une tâche.
#Connecter des serveurs MCP
Au-delà des outils intégrés (navigateur, terminal, fichiers), Agent Zero peut se relier à des serveurs MCP externes pour atteindre d'autres services : la documentation officielle décrit chaque connexion MCP comme un pont — l'un peut relier Gmail, un autre une base de données, un autre encore un outil d'automatisation. Un serveur MCP se déclare soit comme une commande lancée localement, soit comme une URL distante, ce qui change la question réseau : une commande locale au conteneur voit les mêmes contraintes que l'accès à Ollama (host.docker.internal, réseau Docker partagé), tandis qu'une URL distante suit les règles réseau normales du conteneur.
La documentation invite à limiter chaque connexion au strict nécessaire plutôt que d'en ajouter par précaution : chaque serveur MCP relié élargit la surface que le modèle peut atteindre, y compris avec un modèle local dont le comportement à l'appel d'outils est moins prévisible qu'un modèle cloud haut de gamme.
#Checklist de sécurité avant de connecter modèle et outils
Trois surfaces méritent une vérification explicite avant de laisser Agent Zero opérer sans supervision constante : l'isolation du conteneur, les secrets et clés d'API, et les serveurs MCP connectés.
| Surface | Point à vérifier |
|---|---|
| Sandbox / conteneur | Rester dans Docker plutôt qu'une exécution directe sur l'hôte ; ne pas monter tout le répertoire personnel dans le volume sans en comprendre le risque |
| Secrets et clés d'API | Utiliser les secrets globaux ou de projet plutôt que de coller une clé en clair dans un prompt, une capture d'écran ou un ticket de bug |
| Portée des secrets | Les secrets globaux s'appliquent à toutes les discussions et projets sauf surcharge ; un projet peut définir ses propres secrets isolés qui prennent le pas sur les secrets globaux |
| Serveurs MCP connectés | N'ajouter que les connexions réellement utiles ; chaque pont MCP supplémentaire élargit ce que le modèle peut atteindre, sans lien direct avec le choix Ollama local ou cloud |
#Face aux autres agents locaux
| Framework | Ce qui le distingue |
|---|---|
| Agent Zero | Bureau Linux complet (XFCE) et navigateur pilotable dans un conteneur Docker ; tâches transverses au-delà du code |
| Hermes Agent | Agent de terminal et de messagerie (Telegram, Discord…) centré sur la mémoire persistante, sans bureau graphique |
| OpenCode / Cline | Agents de code en terminal ou dans l'éditeur, sans conteneur dédié ni navigateur pilotable |
#Limites à connaître avant de se lancer
- Volume de recherche trompeur
- « Agent Zero » recouvre aussi des contenus de divertissement dans les moteurs de recherche ; la demande réelle pour le framework de développement est plus étroite que le volume brut du mot-clé ne le suggère.
- Empreinte disque et RAM
- Le conteneur embarque un bureau complet en plus du runtime de l'agent : prévoir davantage de ressources qu'un agent CLI minimal, même si l'inférence elle-même tourne ailleurs via Ollama.
- Modèle utilitaire sous-dimensionné
- Un modèle utilitaire trop petit dégrade la mémoire sans message d'erreur explicite ; c'est le premier réflexe à vérifier si l'agent semble « perdre le fil » d'une session à l'autre.
- Réseau interne au conteneur
- host.docker.internal fonctionne pour Docker Desktop et la configuration Linux fournie, mais un déploiement personnalisé (réseau Docker custom, hébergement distant) demande de resaisir l'URL de l'API à la main.
- Déployer un LLM en production avec Docker Compose
- Installer Ollama avec Docker
- Agent IA : définitions et limites générales
- Source : dépôt GitHub officiel Agent Zero
- Source : guide d'installation officiel
- Source : guide officiel sur l'appel d'outils en local
Quelle adresse Ollama utiliser depuis Agent Zero en Docker ?+
Agent Zero fonctionne-t-il sans GPU dédié ?+
Pourquoi mon modèle local n'appelle jamais les outils dans Agent Zero ?+
Le bureau Linux d'Agent Zero rend-il l'agent plus sûr qu'un agent en terminal seul ?+
Agent Zero et Hermes Agent font-ils la même chose ?+
Comment sécuriser les secrets et clés d'API dans Agent Zero ?+
Faut-il ajouter tous les serveurs MCP disponibles à Agent Zero ?+
Un retour, une erreur, une précision ? Faites-nous signe, ça améliore le guide pour tout le monde.