Opencode est un outil de codage agentique conçu dans le terminal. Il se concentre sur l’utilisation d’outils, serveur MCP. La possibilité de lancer plusieurs agents en parallèle. Son gros avantage est-être multi-model avec plusieurs providers.
L’outil est open source et est très proche en fonctionnalité à Claude Code ou Gemini Cli.
Les concepts
Règles
Ajoute des informations à l’agent, le projet utilise le fichier AGENTS.md compatible avec d’autres outils comme GitHub Copilot, Cursor, Kilo Code, Gemini CLI, etc…
Agents
Permet d’ajouter des profiles d’assistant, comme un expert développeur en code/Debug qui respect les bonnes pratiques, ou un profile reviewer qui sera capable de relire le code modifié et vérifier qu’il correspond à ce qui été attendu. On peut aussi imaginer un assistant documentation qui pourra avoir accès en écriture sur le wiki pour compléter ou ajouter de la documentation pour un composant interne par exemple.
Commandes
Un sort de shortcut ou template pour des prompts pré-rédigés, comme l’ajout d’un test sur une méthode ou classe ou la création d’une nouvelle API.
On peut aussi imaginer des commandes plus complexes qui peuvent lire une specification, analyser le projet pour créer un plan, le faire valider et réaliser l’implémentation, exécuter les tests et finir par mettre à jour la documentation.
MCP
Permet d’ajouter des outils externes afin d’agrandir les possibilités de notre agent IA. Que se soit pour récupérer de la documentation ou des tâches avec le MCP - Atlassian ou pouvoir interragir avec un navigateur avec MCP Playwright.
Plugins
Il est possible d’intégrer des plugins, que se soit dans le projet ou global pour ajouter des points d’extension pour sécuriser la lecture de fichier comme des .env.
Les avantages
Multi fournisseurs
J’aime beaucoup cet outil parce qu’on ne dépend pas d’une solution fermée. Ce qui, dans un contexte où un changement de client peut engendrer un changement de provider, permet de garder un outil qu’on maîtrise.
En provider disponible, j’ai réussi à me connecter avec un compte GitHub Copilot, ou encore du local avec Ollama (attention aux performances). Mais il est possible d’utiliser une clé d’API Anthropic ou un abonnement, mais aussi d’utiliser OpenRouter pour faire du benchmark. Ça semble un bon outil pour ne pas se fermer avec un fournisseur où une solution, comme Claude Code ou Gemini CLI.
Multi tâches
J’ai réussi avec les différents Agents à avoir un chef d’orchestre pour lancer des tâches dédiées. Ce découpage en plusieurs tâches m’a permis de diminuer le contexte du chef d’orchestre et a permis de terminer la tâche avec une bonne qualité. Les sous-tâches n’étant pas polluées par le contexte de l’évolution précédente.
Bon, ça demande de reconstruire plusieurs fois un contexte mais souvent plus petit, plus précis.
Limitations observées
Après avoir testé l’outil en septembre 2025, soit la version 0.10.3, j’ai eu quelques éléments gênants lors de l’utilisation.
Lors de l’exécution d’une commande bash, l’outil a une taille limite de retour d’une commande. Si la limite est atteinte, il stoppe la commande et considère que le résultat est correct. Sauf que lors d’exécuter des tests avec Maven un peu trop verbeux, finalement le résultat final n’est pas correct. J’ai réussi à contourner le problème en ajoutant ou en diminuant les logs ou en utilisant un fichier de sortie pour limiter la sortie commande..