OpenCode : agent IA open source pour terminal, mieux que Claude Code

Photo of author
Écrit par Grégory Hénique
Blogueur SEO depuis 2009.
J'aide les entreprises à créer du contenu qui ranke par l'écriture SEO et l'IA maîtrisée.
✍️ Maj'Article IA : 14€ – 49€
Présentation

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 / OptionRaccourciDescription
Lancement de base
opencodeLance 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-cReprend la dernière session interrompue.
--session-sReprend une session spécifique via son identifiant.
--forkReprend une session en créant une bifurcation (fork) de la conversation.
opencode session listAffiche l’historique de toutes vos sessions.
opencode exportExporte les données d’une session au format JSON.
Modèles et Authentification
--model-mForce l’utilisation d’un modèle spécifique (ex: fournisseur/modèle).
opencode modelsListe tous les modèles disponibles chez vos fournisseurs configurés.
opencode auth loginConfigure facilement les clés API pour vos différents fournisseurs.
Agents, Plugins et Outils
--agentSpécifie l’agent à utiliser pour la session.
opencode agent createLance l’assistant de création d’un agent personnalisé.
opencode mcp addAjoute un serveur MCP (Model Context Protocol) à votre configuration.
opencode github installInstalle l’agent GitHub pour l’automatisation de dépôts via Actions.
Mode Serveur et Interface Web
opencode serveLance un serveur « headless » (sans UI) pour un accès via API.
opencode webLance un serveur avec une interface Web accessible depuis un navigateur.
opencode attachConnecte votre TUI local à un serveur OpenCode distant.
Utilitaires système
opencode upgradeMet à jour OpenCode vers la dernière version (ou une version ciblée).
opencode uninstallDésinstalle OpenCode (avec options pour conserver la configuration).
--help-hAffiche 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.

  1. 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.
  2. Chatgpt aussi, mais dans une moindre mesure. Le souci avec chatgpt c’est qu’il est fliqué.
  3. 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).
  4. 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.

⇒ Les plugins, ce sont des bouts de code qui viennent s’ajouter à Opencode pour aggrandir ses fonctionnalités, par exemple la capacité de se rendre sur une session Google Chrome ouverte pour manipuler vos onglets, ou ouvrir Photoshop pour éditer vos photos.

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

opencode connect a provider

find skill opencode
Le skill « find skills »

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.

opencode json
opencode json

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.

soul md permissions

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.

Vous pouvez naviguer entre vos différentes sessions avec la commande /sessions, ou via le raccourci Ctrl+XL. 

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.

opencode agent ia opencoder

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 😀

opencode agent ia fait son compte rendu
L’agent IA me fait son petit compte-rendu. J’adore Deepseek pour ça : il vous explique en détail comment il pense et ce qu’il va faire

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.

🚀 Besoin d'un contenu optimisé IA + SEO ?

Je propose mes services de rédaction web assistée par IA pour les blogs, les entreprises et les sites qui veulent du contenu qui ranke vraiment.

🤖 Self-service
14€ – 49€ via Maj'Article IA
💼 Sur-mesure
Devis personnalisé (150€+)

Outils que j'utilise et recommande :

Liens affiliés sans surcoût pour vous — Merci de soutenir le blog !

Laisser un commentaire