Intermédiaire 12 minAgents

Agent Zero avec Ollama : installation Docker et limites

Réponse directe

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.

Par Mohamed Meguedmi·Màj 2026-09-28·Testé sur Windows, macOS, Linux

#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.

i
En deux mots
Agent Zero, c'est un conteneur Docker qui embarque un bureau Linux et un navigateur pour l'agent, plus un choix de fournisseur de modèle (dont Ollama) totalement séparé de cette infrastructure d'exécution.

#Installer le conteneur Docker

Le kit Agents Locaux

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.

Terminal
docker run -p 80:80 -v a0_usr:/a0/usr agent0ai/agent-zero

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.

→
L'adresse par défaut n'est pas localhost
Agent Zero inclut des valeurs par défaut adaptées à Docker pour Ollama sur l'hôte, à l'adresse http://host.docker.internal:11434. Ce détail piège régulièrement les utilisateurs qui essaient http://localhost:11434 depuis l'intérieur du conteneur, sans résultat, puisque localhost y désigne le conteneur lui-même, pas la machine hôte.

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 du modèle et exigence de robustesse
RôleExigence 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
EmbeddingMoins 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.

!
Symptôme à surveiller
Si l'agent décrit ce qu'il « va faire » au lieu d'agir, ou répète un avertissement de message malformé sans se corriger, c'est le signal documenté d'un modèle local trop faible pour le format de communication par défaut — pas un bug du framework.

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.

!
L'auto-hébergement ne prouve rien sur la confidentialité du navigateur
Le fait que le conteneur tourne sur votre propre machine ne garantit pas que le navigateur embarqué ou l'inférence du modèle restent hors ligne : c'est le fournisseur de modèle choisi (Ollama local ou une API cloud) et la configuration réseau du conteneur qui déterminent ce qui sort réellement de la machine.

#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.

Checklist de sécurité
SurfacePoint à vérifier
Sandbox / conteneurRester 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'APIUtiliser 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 secretsLes 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ésN'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
i
Secrets masqués, pas absents des risques
Les secrets de projet et globaux sont masqués dans l'interface et peuvent ne pas être inclus dans les sauvegardes automatiques. Cela protège l'affichage, mais ne dispense pas de limiter les connexions MCP et l'accès réseau du conteneur aux besoins réels de la tâche.

#Face aux autres agents locaux

Agent Zero face à deux autres profils d'agents
FrameworkCe qui le distingue
Agent ZeroBureau Linux complet (XFCE) et navigateur pilotable dans un conteneur Docker ; tâches transverses au-delà du code
Hermes AgentAgent de terminal et de messagerie (Telegram, Discord…) centré sur la mémoire persistante, sans bureau graphique
OpenCode / ClineAgents 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.
Questions fréquentes
Quelle adresse Ollama utiliser depuis Agent Zero en Docker ?+
http://host.docker.internal:11434 est l'adresse par défaut prévue par le projet quand Ollama tourne sur la machine hôte et Agent Zero dans son conteneur. localhost:11434 ne fonctionne pas depuis l'intérieur du conteneur, car il pointe vers le conteneur lui-même et non vers l'hôte. Si Ollama et Agent Zero partagent le même réseau Docker, l'adresse peut aussi être http://(nom du conteneur):11434.
Agent Zero fonctionne-t-il sans GPU dédié ?+
Le conteneur lui-même (bureau XFCE, navigateur, orchestration des outils) n'a pas besoin de GPU pour tourner. Le GPU n'est nécessaire que pour l'inférence du modèle, gérée séparément par Ollama ou un autre fournisseur, local ou cloud ; un conteneur Agent Zero peut donc tourner sur une petite machine tant que l'inférence est déportée ailleurs sur le réseau.
Pourquoi mon modèle local n'appelle jamais les outils dans Agent Zero ?+
C'est un comportement documenté avec les petits modèles locaux, qui expliquent la commande au lieu de l'exécuter réellement. Le projet recommande le profil « Tiny Local », qui retire les champs de raisonnement visibles du prompt de communication et ne demande plus qu'un objet JSON exécutable avec tool_name et tool_args, plus simple à respecter pour un petit modèle.
Le bureau Linux d'Agent Zero rend-il l'agent plus sûr qu'un agent en terminal seul ?+
Il isole les actions dans un conteneur Docker, ce qui limite leur portée sur la machine hôte par rapport à un agent lancé directement sur l'hôte. Mais cela ne garantit ni la confidentialité de l'inférence ni celle du navigateur intégré : ces deux points dépendent du fournisseur de modèle choisi et de la configuration réseau du conteneur, pas de la présence du bureau graphique.
Agent Zero et Hermes Agent font-ils la même chose ?+
Non. Agent Zero cible un ordinateur complet avec bureau graphique et navigateur pilotable, pour des tâches transverses comme la recherche ou la manipulation de documents. Hermes Agent est un agent de terminal et de messagerie (Telegram, Discord…) centré sur la mémoire persistante et les automatisations planifiées. Les deux acceptent un endpoint Ollama local, mais visent des usages différents.
Comment sécuriser les secrets et clés d'API dans Agent Zero ?+
Ne collez jamais une clé d'API en clair dans un prompt, une capture d'écran ou un rapport de bug : utilisez les secrets globaux ou de projet prévus par l'interface. Un projet peut définir ses propres secrets isolés qui prennent le pas sur les secrets globaux ; ils sont masqués dans l'interface, mais peuvent ne pas être inclus dans les sauvegardes automatiques, à vérifier avant de s'y fier entièrement.
Faut-il ajouter tous les serveurs MCP disponibles à Agent Zero ?+
Non. Chaque connexion MCP est un pont vers un service externe (messagerie, base de données, automatisation) qui élargit ce que le modèle peut atteindre, y compris avec un comportement à l'appel d'outils moins prévisible sur un modèle local. La documentation recommande de ne connecter que les serveurs réellement utiles à la tâche en cours, pas d'activer tout le catalogue par précaution.

Ce guide vous a aidé ?

Un retour, une erreur, une précision ? Faites-nous signe, ça améliore le guide pour tout le monde.