OpenCode : agent IA open source pour terminal, mieux que Claude Code
Dans l’article d’aujourd’hui, je vous propose de découvrir OpenCode, un environnement de terminal agentique, ou un agent IA dans le terminal, similaire à Claude Code ou à Codex, mais open source et développé par la communauté.
Il possède de nombreuses fonctionnalités intéressantes, et je pense personnellement qu’il dispose de la meilleure interface utilisateur de terminal.
=> Mon article précédent sur OpenCode.
OpenCode : présentation de l’agent IA open source
Nous allons donc découvrir comment l’utiliser et certaines de ses fonctionnalités. Si j’insiste sur ce soft, c’est parce que je souhaite qu’il devienne l’outil d’agent de terminal de référence. Je le préfère à OpenClaw et Codex (l’agent ia d’openai). Pas nécessairement parce qu’il est supérieur, mais simplement parce que j’aime son style et que j’apprécie le fait qu’il soit open source et développé par la communauté.
Je vais simplement lancer une session avec OpenCode. Je ne vais pas aborder l’installation : elle dépend de votre système d’exploitation. Vous aurez des noms de paquets différents ou, au moins, des gestionnaires de paquets différents que vous devrez utiliser pour l’installer.
Une fois qu’OpenCode est installé sur votre système, il vous suffit de le lancer pour ouvrir une interface utilisateur de terminal. À mon avis, elle est supérieure à tous les autres agents de terminal dont nous disposons. La première chose que nous pouvons faire ici est d’appuyer sur Ctrl et P.
OpenCode : les commandes disponibles.
Vous n’êtes pas obligé d’utiliser ces commandes via Ctrl+P ni même d’utiliser les raccourcis.
Vous pouvez également utiliser des commandes comme « /models », par exemple. Cela vous permettra de changer de modèle. Pour vous aider à vous y retrouver, voici un cheat sheet des commandes essentielles de la CLI OpenCode :
| Commande / Option | Raccourci | Description |
|---|---|---|
| Lancement de base | ||
opencode | – | Lance l’interface utilisateur du terminal (TUI) par défaut. |
opencode run "prompt" | – | Exécute une tâche en mode non interactif (idéal pour les scripts ou l’automatisation). |
| Gestion des sessions | ||
--continue | -c | Reprend la dernière session interrompue. |
--session | -s | Reprend une session spécifique via son identifiant. |
--fork | – | Reprend une session en créant une bifurcation (fork) de la conversation. |
opencode session list | – | Affiche l’historique de toutes vos sessions. |
opencode export | – | Exporte les données d’une session au format JSON. |
| Modèles et Authentification | ||
--model | -m | Force l’utilisation d’un modèle spécifique (ex: fournisseur/modèle). |
opencode models | – | Liste tous les modèles disponibles chez vos fournisseurs configurés. |
opencode auth login | – | Configure facilement les clés API pour vos différents fournisseurs. |
| Agents, Plugins et Outils | ||
--agent | – | Spécifie l’agent à utiliser pour la session. |
opencode agent create | – | Lance l’assistant de création d’un agent personnalisé. |
opencode mcp add | – | Ajoute un serveur MCP (Model Context Protocol) à votre configuration. |
opencode github install | – | Installe l’agent GitHub pour l’automatisation de dépôts via Actions. |
| Mode Serveur et Interface Web | ||
opencode serve | – | Lance un serveur « headless » (sans UI) pour un accès via API. |
opencode web | – | Lance un serveur avec une interface Web accessible depuis un navigateur. |
opencode attach | – | Connecte votre TUI local à un serveur OpenCode distant. |
| Utilitaires système | ||
opencode upgrade | – | Met à jour OpenCode vers la dernière version (ou une version ciblée). |
opencode uninstall | – | Désinstalle OpenCode (avec options pour conserver la configuration). |
--help | -h | Affiche l’aide (fonctionne aussi bien pour la CLI globale que pour une sous-commande). |
Installation et première configuration d’OpenCode
Contrairement aux auters agents IA, avec opencode vous pouvez utiliser une multitude d’ia, quasiment toutes, d’OpenAI à Miniax M2.5 gratuit. Ou vous pouvez vous connecter à votre forfait OpenAI.
- Personnellement, j’ai testé Grok mais il a la fâcheuse tendance à résumer automatiquement les textes que vous lui donnez, ce qui le rend inutilisable. Même quand vous lui spécifiez de ne pas le faire, il s’obstine à le faire quand même.
- Chatgpt aussi, mais dans une moindre mesure. Le souci avec chatgpt c’est qu’il est fliqué.
- Claude semble avoir banni mon compte pour cause de mauvaises utilisations, certainement parce que j’avais installé openclaw et qu’Anthropic a décidé de faire la guerre à ce dernier (normal puisqu’il marche sur ses plates-bandes).
- Du coup, comme vous l’avez deviné, je suis fan des IA chinoises, Qwen en tête, Deepseek, z.ai, jusqu’à Kimi.
Donc, dans mon cas, j’ai appuyé sur Ctrl+A ici et j’ai choisi le fournisseur, et comme vous pouvez le voir, vous pouvez choisir parmi de nombreux fournisseurs différents ici. Le seul hic, c’est que vous ne pouvez pas utiliser l’abonnement Anthropic.
Vous ne pouvez donc pas utiliser Claude Code ou l’abonnement Claude Code dans OpenCode. Vous pouvez utiliser l’API Anthropic, mais vous ne pouvez pas utiliser l’abonnement ; en revanche, vous pouvez utiliser l’abonnement OpenAI.
Interface utilisateur et commandes essentielles
Pour Anthropic, il n’est indiqué que « Claude Max ». Pour « Max », on dirait que ça fonctionne, ou alors la clé API. Et bien sûr, vous pouvez aussi utiliser d’autres choses comme Ollama Cloud, ou Ollama en local.
OpenCode : En gros, c’est juste votre agent de base. Avec lui vous pouvez vous contenter de choses simples, comme créer une application Flask basique avec une interface frontale simple en HTML, CSS et JS, ou effectuer des projets compliqués si vous lui donnez les skills et les plugins adaptés.
⇒ Les skills, ce sont un peu des gros prompts qui expliquent à l’ia qu’en cas de demande pointu sur un sujet qui concerne le skill, l’ia peut utiliser ces données spécifiques pour être plus pointue et précise.
Pour ma part, je fais d’abord mes recherches sur les skills et plugins qui m’intéressent, je copie colle les urls github et je les donne tout simplement à mon agent ia (sur opencode) en lui demandant de les installer, de me les lister, de compléter le fichier qui recense tout ça et de les utiliser au moment adéquat (pour cela le skill find-skill est super utile).


Configuration des modèles et fournisseurs d’IA
Combien y a-t-il de jetons dans le contexte ?
- Quelle part du contexte a été utilisée ?
- Combien d’argent avons-nous dépensé pour cela ?
Vous pouvez suivre les tâches et voir ce qui se passe à tout moment.
Personnalisation des permissions de sécurité
Les permissions accordées sont à définir dans les fichiers soul.md et .env.
Alternativement, commencez à tchatter avec lui et lorsqu’il vous demande des permissions, donnez-lui et demandez-lui comment faire en sorte que la prochaine fois il soit autorisé d’office à le faire.
- Je peux appuyer sur Ctrl+C pour quitter OpenCode.
- Je peux poursuivre la session en tapant « opencode -s » suivi de l’identifiant de session
- Ou je peux taper « opencode -c » pour reprendre la session précédente.
Bonnes pratiques et conseils d’utilisation
Je n’ai pas nécessairement besoin d’écrire le code moi-même à chaque fois, mais je veux voir ce qui se passe et je veux approuver chaque étape.
Donc, ce que je fais dans le répertoire de base de ce projet, c’est créer un fichier appelé opencode.json qui contiendra ma configuration.

Pourquoi OpenCode est mon agent de terminal préféré
Parce que nous pouvons l’étendre avec nos propres paramètres. Pour cela, je vais indiquer mes demandes de « permission ». C’est ce que je souhaite modifier. Et je veux avoir deux autorisations différentes.
L’une sera l’autorisation d’édition.
Ainsi, lorsque je modifie quelque chose, je veux qu’on me demande l’autorisation. Donc, pour l’édition, ce sera « ask ».
En plus de cela, je veux également qu’opencode me demande l’autorisation lorsque des commandes bash sont exécutées. Je vais donc indiquer « bash ». Et je souhaite disposer d’un dictionnaire, car je veux mettre une certaine commande sur liste blanche.
Disons donc que pour toutes les différentes commandes, par exemple pour un astérisque, je veux qu’on me demande mon accord. Cependant, si je le lui dis ou s’il doit exécuter ls pour une raison quelconque, je n’ai pas besoin qu’on me demande mon accord. Je vais donc simplement autoriser cela en tapant allow.
Cela indique que si vous souhaitez apporter une modification, vous devez demander une autorisation. Si vous souhaitez exécuter une commande, demandez une autorisation, sauf si cette commande est simplement « ls ». Et si nous passons maintenant à « opencode », si je tape « opencode-c » et que je lui demande d’exécuter la commande « ls », je vais pouvoir le faire sans aucun problème.

Concrètement, imaginez que l’IA a bien compris le contexte de votre application
Vous voulez lui poser une question pointue sur le code, puis en poser une autre sans que la première ne brouille les pistes. Pour ça, OpenCode permet de « forker » la session.
Attention, on ne parle pas d’un fork de code à la façon de Git, où vous auriez deux versions parallèles de vos fichiers sur votre disque. C’est juste un fork de la conversation ! L’historique est dupliqué, mais si l’IA modifie un fichier dans la nouvelle session, il sera aussi modifié dans l’autre. Ce n’est donc pas un univers parallèle, juste un moyen de garder vos idées au clair.
Autre fonctionnalité ultra-pratique pour les grosses requêtes : l’ouverture dans un éditeur externe. Si vous avez une instruction très complexe avec plein de mise en forme Markdown ou de sauts de ligne, tapez Ctrl+Xe. Dans mon cas, ça ouvre Neovim. Je rédige mon prompt (avec mes macros et tout le tralala), je sauvegarde, et paf, il s’insère dans OpenCode.
Maintenant, parlons d’une fonctionnalité redoutable : la bascule entre les modes
Si vous appuyez sur Tab, vous passez en « mode planification ». L’agent n’a alors plus aucun droit d’écriture sur votre code, c’est du read-only.
Dans l’impression d’écran ci-dessous j’utilise l’agent ia OpenCoder qui délègue lui-même à d’autres sous-agents.

Par exemple, vous pouvez lui demander : « Convertis ce texte corrompu en html lisible par le mode classic de WordPress ». L’IA va vous pondre un plan détaillé sans toucher à vos fichiers. Si le plan vous plaît, hop, vous appuyez sur Entrée pour repasser en « mode construction » et l’IA s’y met vraiment. En bonus, avec la touche Ctrl+T, vous pouvez ajuster le « niveau de réflexion » (l’effort de raisonnement) de l’IA : faible, moyen, élevé, ou même « x élevé » pour les gros dossiers. C’est super efficace de pouvoir calibrer ça à la volée.
Côté look, si le thème par défaut d’OpenCode ne vous plaît pas, sachez que vous pouvez le changer à la volée. Un bon vieux thème sombre pour les yeux sensibles, ou des classiques du terminal comme Gruvbox si c’est votre trip. Moi je garde celui par défaut, il est tip top.
Bien sûr, je ne vais pas vous montrer absolument tout, mais il y a deux dernières choses essentielles à voir.
La première, ce sont les plugins
OpenCode permet d’ajouter facilement ceux de la communauté via… des paquets npm ! Rien de bien sorcier : vous trouvez un plugin sur le dépôt de l’écosystème, vous copiez son nom de paquet, et vous le collez dans votre fichier opencode.json, au même niveau que nos permissions tout à l’heure.
Autre solution : vous copiez collez l’url github du plugin, et vous le donnez à opencode en lui demandant de bien vouloir l’installer pour vous 😀

Prenons l’exemple du plugin « Notifier ». Je l’ajoute dans mon JSON, je redémarre OpenCode, et c’est plié. Pour vous montrer que ça marche : je lance une commande, je change d’espace de travail, et je reçois une notification système m’indiquant que l’IA a terminé.
A lire sur notre blog ⇒ Claude Code, comment créer un site web professionnel avec l’IA en quelques minutes
La dernière chose, c’est l’utilisation de modèles locaux avec Ollama
Je ne vais pas vous faire la démo en direct : mon ordinateur portable est tellement peu puissant qu’il transpirerait à l’idée de faire tourner un gros modèle en local. Mais le principe est vraiment simple.
- Dans votre fichier de configuration, vous ajoutez un nouveau fournisseur (provider) nommé « Ollama » .
- Vous lui indiquez qu’il utilise le paquet npm openai-compatible (car Ollama expose une API similaire à OpenAI), vous renseignez l’URL locale de votre serveur Ollama, et vous précisez le nom du modèle que vous voulez utiliser (par exemple un modèle open source à 20 milliards de paramètres).
- Une fois sauvegardé, vous n’avez plus qu’à faire /models dans OpenCode, de chercher votre modèle Ollama, et de le sélectionner.
Voilà, vous avez un agent de terminal 100% local et open source !
C’est tout pour l’article d’aujourd’hui. Vous pouvez me contacter si vous avez besoin d’aide en tant que freelance ou si vous recherchez un freelance, si vous avez besoin de conseils, de cours particuliers pour l’un de vos projets, vos startups, etc. Vous pouvez me contacter via LinkedIn ou par e-mail en bas de ces pages.
