OpenCode
OpenCode est le logiciel dans lequel l'agent travaille : une session, un dossier de projet, des fichiers, des commandes.
Un agent dans le terminal, pas un chatbot
OpenCode ouvre un agent dans un dossier de votre machine. Il lit les fichiers qui s'y trouvent, en crée, en modifie, et lance des commandes — comme un développeur à qui vous parlez. Le dossier ouvert est son monde : ce qu'il ne peut pas lire, il ne le connaît pas.
Vous restez le pilote : c'est vous qui décidez, qui lisez, qui validez. OpenCode est le poste de commande ; le modèle (DeepSeek) est le moteur ; le dossier est le terrain.
OpenCode est gratuit et open source, mais il ne fournit aucun modèle. Sans clé d'API branchée, l'agent reste muet. La clé DeepSeek se crée sur platform.deepseek.com — c'est un secret, à protéger comme tel (voir la section Sécurité).
Installer
Un terminal récent suffit (WezTerm, Alacritty, Ghostty, Kitty… celui de votre système fait aussi l'affaire pour commencer). Ensuite, une seule commande :
curl -fsSL https://opencode.ai/install | bashAutres méthodes, si vous les préférez :
# Avec Node.js (déjà présent si vous avez fait l'installation du kit)
npm install -g opencode-ai
# Avec Homebrew (macOS / Linux)
brew install anomalyco/tap/opencodePassez par WSL (Windows Subsystem for Linux) : l'agent s'y comporte comme sur Linux. Les commandes de ce site fonctionnent alors telles quelles.
Vérifiez que la commande répond, puis lancez l'installation depuis le dossier de votre projet :
opencode --version
cd mon-projet
opencodeBrancher la clé DeepSeek
- Créer la clé sur
platform.deepseek.com(rubrique API keys). Elle commence parsk-et ne s'affiche qu'une seule fois : copiez-la tout de suite. - Dans OpenCode, taper
/connect, choisirdeepseekdans la liste des fournisseurs. - Coller la clé quand l'interface la demande.
- Choisir le modèle : DeepSeek V4.1 Flash (identifiant
deepseek-flash)./modelsliste ce qui est disponible.
Elle paie chacune de vos requêtes. Elle ne va ni dans un prompt, ni dans un fichier du projet, ni dans une capture d'écran, ni dans un dépôt Git. Si elle fuite : révoquez-la immédiatement et créez-en une autre (section Sécurité, « procédure en cas de fuite »).
La première session
Ouvrez le terminal dans le dossier du projet, lancez opencode, puis /init. L'agent explore le dossier et rédige AGENTS.md : la carte du projet, ses conventions, ce qu'il faut savoir avant d'y toucher. Relisez-le et committez-le : c'est le document que lit l'agent à chaque session.
# Dans OpenCode, une fois le projet ouvert :
/init → analyse le dossier et écrit AGENTS.md
/help → la liste des commandes de votre version
/models → vérifier le modèle utiliséAnatomie de l'écran
Schéma simplifié de l'interface, avec les cinq éléments à repérer :
2 ajoute une section « horaires » avec un tableau
3 ● lecture de src/pages/index.astro
Je vais ajouter la section après la présentation. Voici ce que je prévois : un titre, un tableau à deux colonnes, une note de bas de tableau.
● modification de src/pages/index.astro (+18 lignes)
- Le modèle utilisé : vérifiez qu'il correspond à ce que vous voulez.
- Votre demande : une intention par message, pas trois.
- Les outils exécutés : fichiers lus, fichiers modifiés, commandes lancées.
/detailsaffiche l'intégralité. - Le mode courant : plan (lecture seule) ou build(modifications). Tab bascule.
- Le coût et les tokens de la session : à surveiller, surtout quand le projet grossit.
Les commandes utiles
Tapez / pour ouvrir la liste. Voici celles qui comptent pour un projet d'élève — l'interface évolue, donc /help fait foi.
| Commande | À quoi ça sert | Ce qu'il faut savoir |
|---|---|---|
/help | Afficher l'aide | La liste des commandes et raccourcis de votre version. En cas de doute, commencez par là. |
/connect | Brancher un fournisseur de modèle | Choisir DeepSeek, puis coller sa clé d'API. C'est l'étape qui donne accès au modèle. |
/init | Préparer le projet | L'agent analyse le dossier et écrit AGENTS.md : le document qui décrit le projet et ses conventions. À committer. |
/models | Choisir le modèle | Affiche les modèles disponibles. Pour ce projet : le modèle Flash de DeepSeek, bon marché et largement suffisant. |
/new | Nouvelle session | Alias /clear. Repartir d'un contexte vide, quand une session devient longue ou confuse. |
/sessions | Retrouver une session | Alias /resume et /continue. Reprendre une conversation précédente sans la relire depuis le début. |
/compact | Résumer le contexte | Alias /summarize. L'agent résume la conversation pour libérer de la place et faire baisser le coût, sans perdre le fil. |
/details | Voir ce que fait l'agent | Affiche le détail des outils exécutés (fichiers lus, commandes lancées). Indispensable pour surveiller, pas seulement pour admirer. |
/undo | Annuler | Supprime le dernier message et ses conséquences, fichiers compris. Repose sur Git : le projet doit être un dépôt. |
/redo | Rétablir | Rétablit ce qui vient d'être annulé avec /undo. |
/export | Exporter la conversation | Écrit la session dans un fichier Markdown, ouvert dans votre éditeur. Idéal pour journaliser vos prompts et vos corrections. |
/share | Partager la session | Crée un lien public vers la conversation. À n'utiliser qu'après avoir relu : une session peut contenir des secrets ou des données personnelles. |
/thinking | Afficher le raisonnement | Montre les blocs de réflexion du modèle. Pédagogique : on voit l'agent douter, hésiter, se corriger. |
/exit | Quitter | Alias /quit et /q. |
Les raccourcis à connaître
| Touche | Effet |
|---|---|
| Tab | Basculer entre le mode plan et le mode build (l'indicateur est en bas à droite). |
| @ | Chercher et joindre un fichier du projet à votre message ; son contenu est ajouté au contexte. |
| ! | Exécuter une commande du terminal depuis la conversation (ex. !ls). |
| Ctrl + p | Palette de commandes : toutes les actions, même celles sans raccourci. |
| Ctrl + t | Faire défiler les variantes du modèle (dont réflexion / réponse directe). |
| Ctrl + x | Touche « chef » : Ctrl+x puis une lettre (m pour les modèles, n pour une session, c pour compacter…). |
Ctrl + p ouvre la palette : toutes les actions y sont listables, même celles que vous ne connaissez pas. À défaut, /help.
Mode plan ou mode build ?
Le mode plan interdit les modifications : l'agent lit, raisonne et propose, mais ne touche à rien. Le mode build exécute. Ce n'est pas un détail de confort : c'est votre principal garde-fou. Tab bascule de l'un à l'autre ; l'indicateur est en bas de l'écran.
| Situation | Mode conseillé | Pourquoi |
|---|---|---|
| Ajouter une fonctionnalité ou refaire une page | Plan d'abord, build ensuite | On valide l'approche avant d'écrire 300 lignes, puis on bascule pour exécuter. |
| Comprendre un fichier ou une erreur | Plan | Le mode plan ne modifie rien : parfait pour poser des questions sans risque. |
| Corriger une faute, un texte, une couleur | Build | La solution est connue et locale : un détour par le plan fait perdre du temps. |
| Commande risquée (supprimer, réinstaller, refactoriser) | Plan, puis relecture, puis build | Le mode plan empêche les modifications : on voit la manœuvre avant qu'elle ait lieu. |
Plan pour réfléchir, build pour exécuter. Toute demande qui touche plus d'un fichier mérite un passage en plan.
Suivre le coût
OpenCode tient les comptes : coût cumulé de la session, tokens d'entrée, de sortie et mis en cache. Ces informations s'affichent dans l'interface et dans l'écran de statistiques. Prenez l'habitude de jeter un œil après une grosse demande : c'est ainsi qu'on repère une session qui s'emballe.
- Une session qui coûte cher n'est pas une session utile : le coût vient surtout du contexte relu à chaque tour.
- Compacter avant de continuer :
/compactrésume la conversation et fait baisser la facture. - Comprendre les tarifs : la section L'IA et les modèles contient un calculateur et la règle des heures creuses (moitié prix le week-end et l'après-midi).
Où sont mes fichiers ?
Là où ils étaient : dans le dossier du projet. L'agent ne travaille pas « dans le cloud » — il écrit sur votre disque. Repérez simplement :
- Le dossier ouvert : celui du terminal, avant de lancer
opencode. C'est le point à vérifier en premier. - Les chemins annoncés : à chaque action, l'interface indique le fichier lu ou modifié (
src/pages/index.astro). Lisez ces lignes : elles racontent ce qui est réellement en train de se passer. - La question magique : « montre-moi la liste des fichiers du projet et explique à quoi sert chacun ». Utile au début, rassurant ensuite.
- Le point de retour : Git (voir la section Git et GitHub) garde l'historique.
/undos'appuie dessus — sans dépôt, pas d'annulation.
La première heure sans stress
- Ouvrir un terminal dans le dossier du projet. L'agent travaille dans le dossier courant : c'est ce dossier qui est « son monde ».
- Lancer OpenCode et brancher le modèle. /connect, choisir DeepSeek, coller la clé d'API, puis /models pour vérifier le modèle utilisé.
- Initialiser le projet. /init : l'agent découvre le dossier et rédige AGENTS.md. Relisez-le, il décrit votre projet.
- Poser une première question sans risque. « Résume-moi ce projet et liste les fichiers » : vous vérifiez que l'agent lit le bon dossier.
- Créer un dépôt Git avant de modifier quoi que ce soit. Sans dépôt, /undo ne peut rien annuler. C'est le filet de sécurité, à poser au début.
- Passer en mode plan pour la première vraie demande. Tab, puis décrire ce que vous voulez. Lire le plan, le corriger, puis basculer en build.
- Regarder le coût et le détail. Le coût de la session et les tokens consommés sont affichés ; /details montre chaque outil utilisé.
Cinq pièges à connaître
Plus de 2 € de « jeton » sans avoir compris
Le coût vient du contexte relu à chaque tour, pas de votre question. Une session laissée ouverte sur un gros projet peut tourner toute seule.
Partager une session sans la relire
/share crée un lien public. Une session peut contenir une clé d'API collée par erreur, un chemin personnel, un message privé.
Croire que l'agent « sait »
Il ne connaît que ce qu'il a lu : le dossier ouvert, les fichiers joints avec @, l'historique. S'il n'a pas vu un fichier, il ne peut pas en tenir compte.
Travailler hors du dossier du projet
Un terminal ouvert dans le mauvais dossier, et l'agent modifie les mauvais fichiers. Vérifiez le dossier avant la première demande.
Laisser une session s'éterniser
Au bout d'un moment, l'agent relit trop de choses : il répond moins bien et coûte plus cher. /compact ou /new, et on repart propre.
Pour aller plus loin
Piloter l'agent
Ce qu'on écrit dans la conversation, et ce qu'on n'y écrit jamais.
Sécurité du travailGit et GitHub
Le point de retour qui rend /undo possible.
ErreursDépannage
Clé refusée, dossier vide, session perdue : quoi faire.
SourceDocumentation OpenCode
La référence officielle, toujours à jour.