Comment Installer et Utiliser OpenCode : Guide Complet
Comment Installer et Utiliser OpenCode : Guide Complet
OpenCode est un agent de codage IA open source qui apporte la puissance de l'intelligence artificielle directement dans votre terminal. Contrairement aux outils de codage IA traditionnels qui fonctionnent dans des éditeurs ou navigateurs, OpenCode propose une interface basée sur le terminal, une application de bureau et une extension IDE — tous conçus pour augmenter votre productivité en tant que développeur. Ce guide complet vous accompagnera à travers tout ce que vous devez savoir pour installer, configurer et utiliser OpenCode efficacement.
Qu'est-ce que OpenCode ?
OpenCode est un assistant de codage propulsé par IA qui vous aide à :
- Écrire du code plus rapidement grâce à la génération et à l'achèvement intelligents du code
- Déboguer efficacement en analysant les erreurs et en suggérant des corrections
- Comprendre les bases de code via des requêtes en langage naturel
- Ajouter des fonctionnalités avec planification et implémentation automatisées
- Relire le code avec analyses et suggestions assistées par IA
- Automatiser les flux de travail à l'aide d'agents IA et d’outils personnalisés
Il supporte plusieurs fournisseurs de LLM, notamment Anthropic, OpenAI, Google, et d'autres, vous offrant la flexibilité de choisir les modèles qui conviennent le mieux à vos besoins.
Configuration requise
Prérequis
Avant d'installer OpenCode, assurez-vous d'avoir :
Un émulateur de terminal moderne (pour l'utilisation du TUI) :
Node.js (pour l'installation via npm/bun/pnpm/yarn) :
- Node.js v18 ou une version supérieure recommandée
Clés API pour les fournisseurs de LLM :
- Clé API Anthropic (pour les modèles Claude)
- Clé API OpenAI (pour les modèles GPT)
- Ou clés d'autres fournisseurs supportés
Méthodes d'installation
Méthode 1 : Script d'installation (Recommandé)
La manière la plus rapide d’installer OpenCode est d’utiliser le script officiel :
curl -fsSL https://opencode.ai/install | bashCette méthode fonctionne sur macOS, Linux, et Windows (avec Git Bash ou WSL).
Méthode 2 : Utilisation des gestionnaires de packages Node.js
Avec npm :
npm install -g opencode-aiAvec Bun :
bun install -g opencode-aiAvec pnpm :
pnpm install -g opencode-aiAvec Yarn :
yarn global add opencode-aiMéthode 3 : Utilisation de Homebrew (macOS & Linux)
brew install opencodeMéthode 4 : Utilisation de Paru (Arch Linux)
paru -S opencode-binMéthode 5 : Installations spécifiques Windows
Avec Chocolatey :
choco install opencodeAvec Scoop :
scoop bucket add extras
scoop install extras/opencodeAvec Mise :
mise use -g github:sst/opencodeMéthode 6 : Docker
Pour une utilisation en conteneur :
docker run -it --rm ghcr.io/sst/opencodeMéthode 7 : Télécharger le binaire
Vous pouvez télécharger le binaire précompilé directement depuis la page GitHub Releases.
Vérifier l'installation
Après l'installation, vérifiez que tout fonctionne :
opencode --versionVous devriez voir affiché le numéro de version.
Configuration initiale
Connexion à OpenCode Zen (Recommandé pour les débutants)
OpenCode Zen est une liste triée de modèles testés et validés par l'équipe OpenCode. C’est la manière la plus simple de commencer.
- Lancez OpenCode :
cd /chemin/vers/votre/projet
opencode- Exécutez la commande connect dans le TUI :
/connectSélectionnez "opencode" dans la liste des fournisseurs
Rendez-vous à l’URL d’authentification : opencode.ai/auth
Connectez-vous et ajoutez vos informations de facturation (ou utilisez les crédits gratuits si disponibles)
Copiez votre clé API et collez-la dans le terminal lorsqu’il vous sera demandé
Connexion à d’autres fournisseurs
Vous pouvez aussi connecter OpenCode à d'autres fournisseurs de LLM :
Via la commande /connect :
/connectChoisissez votre fournisseur préféré (Anthropic, OpenAI, Google, etc.) et suivez le processus d’authentification.
Via l'authentification CLI :
opencode auth loginCela vous guidera pour configurer les clés API pour n'importe quel fournisseur disponible sur Models.dev.
Lister les fournisseurs configurés :
opencode auth listou en version courte :
opencode auth lsSe déconnecter d’un fournisseur :
opencode auth logoutConfiguration du contexte de projet
Après avoir configuré un fournisseur, initialisez OpenCode pour votre projet :
- Dirigez-vous vers votre projet :
cd /chemin/vers/votre/projet- Lancez OpenCode :
opencode- Exécutez la commande init :
/initCela analyse la structure de votre projet et crée un fichier AGENTS.md à la racine du projet. Ce fichier aide OpenCode à comprendre vos schémas de codage, frameworks et architecture.
Astuce : Commitez le fichier AGENTS.md dans Git. Cela permet d'assurer une cohérence dans votre équipe et d’améliorer la compréhension du projet par OpenCode au fil du temps.
Utilisation de l'Interface Utilisateur Terminal (TUI)
Le TUI d'OpenCode offre une expérience interactive dans votre terminal.
Démarrer le TUI
Il suffit de lancer :
opencodeOu avec des options :
# Continuer la dernière session
opencode --continue
# Continuer une session spécifique
opencode --session <session-id>
# Commencer avec une invite spécifique
opencode --prompt "Explain this codebase"
# Utiliser un modèle spécifique
opencode --model anthropic/claude-sonnet-4-5
# Utiliser un agent spécifique
opencode --agent planNavigation basique dans le TUI
- Défiler : utilisez la molette de la souris ou les flèches du clavier
- Changer de mode : appuyez sur
Tabpour basculer entre le mode Plan et le mode Build - Exécuter des commandes : tapez
/pour accéder à la palette de commandes - Rechercher des fichiers : utilisez
@pour une recherche floue dans votre projet - Quitter : appuyez sur
Ctrl+Cou utilisez la commande/exit
Poser des questions
Vous pouvez poser des questions à OpenCode sur votre base de code :
How is authentication handled in @packages/functions/src/api/index.tsUtilisez le symbole @ pour référencer des fichiers spécifiques. OpenCode analysera ces fichiers et vous fournira des explications détaillées.
Ajouter des fonctionnalités
OpenCode excelle dans l’ajout de nouvelles fonctionnalités grâce à son flux de travail en deux modes :
Étape 1 : Mode Plan
- Passez en mode Plan en appuyant sur
Tab - Décrivez ce que vous souhaitez :
When a user deletes a note, we'd like to flag it as deleted in the database.
Then create a screen that shows all the recently deleted notes.
From this screen, the user can undelete a note or permanently delete it.- Examinez le plan suggéré
- Itérez avec des retours :
We'd like to design this new screen using a design I've used before.
[Image #1] Take a look at this image and use it as a reference.Astuce : vous pouvez glisser-déposer des images dans le terminal. OpenCode les analysera.
Étape 2 : Mode Build
- Passez en mode Build en appuyant encore sur
Tab - Validez l’implémentation :
Sounds good! Go ahead and make the changes.OpenCode implémentera alors la fonctionnalité, créant et modifiant les fichiers nécessaires.
Faire des modifications directes
Pour des modifications simples, vous pouvez sauter la phase de planification :
We need to add authentication to the /settings route.
Take a look at how this is handled in the /notes route
in @packages/functions/src/notes.ts and implement the same logic
in @packages/functions/src/settings.tsAnnuler et refaire des modifications
Une erreur ? Utilisez la commande d’annulation :
/undoCela annule le dernier ensemble de changements et vous permet d’affiner votre prompt.
Pour rétablir des changements annulés :
/redoVous pouvez utiliser /undo plusieurs fois pour annuler plusieurs modifications.
Commandes CLI
OpenCode offre une CLI puissante pour l’accès programmatique et l’automatisation.
Exécuter des prompts directs
Exécutez OpenCode sans interface interactive :
opencode run "Explain how closures work in JavaScript"Utile pour les scripts, l’automatisation ou des réponses rapides sans lancer le TUI.
Gestion des modèles
Lister tous les modèles disponibles :
opencode modelsFiltrer par fournisseur :
opencode models anthropicRafraîchir le cache des modèles (utile lorsque de nouveaux modèles apparaissent) :
opencode models --refreshAfficher les informations détaillées des modèles, y compris les coûts :
opencode models --verboseDémarrer un serveur sans interface
Lancer un serveur HTTP pour l’accès API :
opencode serveAvec un port personnalisé :
opencode serve --port 3000Utile pour intégrer OpenCode dans des applications web ou pour accélérer les temps de réponse dans des scripts (évite le démarrage à froid du serveur MCP).
Se connecter à un serveur
Dans un terminal, lancez le serveur :
opencode serveDans un autre terminal, connectez-vous pour une exécution plus rapide :
opencode run --attach http://localhost:4096 "Explain async/await in JavaScript"Gestion des agents
Créer un nouvel agent personnalisé :
opencode agent createL’assistant vous guidera pour créer un agent avec des prompts systèmes et configurations d’outils personnalisés.
Intégration GitHub
Installez l’agent GitHub pour l’automatisation des dépôts :
opencode github installCela configure des workflows GitHub Actions pour la revue de code et la gestion automatisée des issues.
Mise à jour d’OpenCode
Mettre à jour vers la dernière version :
opencode upgradeOu vers une version spécifique :
opencode upgrade v0.1.48Spécifiez la méthode d’installation si nécessaire :
opencode upgrade --method brewConfiguration
OpenCode supporte une configuration flexible via des fichiers JSON.
Emplacements de configuration
Les fichiers de config sont fusionnés (pas remplacés), vous pouvez donc avoir des configs globales, spécifiques au projet, et personnalisées.
Config globale :
~/.config/opencode/opencode.json- Pour thèmes, fournisseurs, raccourcis, et paramètres généraux
Config projet :
opencode.jsonà la racine du projet- Pour fournisseurs, agents, ou paramètres spécifiques au projet
- Peut être commité en sécurité dans Git
Chemin de config personnalisé : défini via la variable d’environnement
OPENCODE_CONFIGDossier de config personnalisé : défini via la variable d’environnement
OPENCODE_CONFIG_DIR
Exemple de configuration basique
Créez un fichier de config avec cette structure :
{
"$schema": "https://opencode.ai/config.json",
// Sélection du thème
"theme": "opencode",
// Modèle principal à utiliser
"model": "anthropic/claude-sonnet-4-5",
// Modèle plus léger pour les tâches simples
"small_model": "anthropic/claude-haiku-4-5",
// Paramètres de mise à jour automatique
"autoupdate": true
}Configuration des fournisseurs
Configurez les clés API directement dans la config :
{
"$schema": "https://opencode.ai/config.json",
"provider": {
"anthropic": {
"options": {
"apiKey": "{env:ANTHROPIC_API_KEY}"
}
},
"openai": {
"options": {
"apiKey": "{env:OPENAI_API_KEY}"
}
}
}
}L’utilisation de variables d’environnement est recommandée pour la sécurité. Utilisez la syntaxe {env:NOM_VARIABLE}.
Utilisation de références fichiers
Vous pouvez aussi référencer des fichiers contenant vos données sensibles :
{
"$schema": "https://opencode.ai/config.json",
"provider": {
"openai": {
"options": {
"apiKey": "{file:~/.secrets/openai-key}"
}
}
}
}Commandes personnalisées
Définissez des commandes personnalisées pour les tâches répétitives :
{
"$schema": "https://opencode.ai/config.json",
"command": {
"test": {
"template": "Run full test suite with coverage report and show any failures.\nFocus on failing tests and suggest fixes.",
"description": "Run tests with coverage",
"agent": "build",
"model": "anthropic/claude-haiku-4-5"
},
"component": {
"template": "Create a new React component named $ARGUMENTS with TypeScript support.\nInclude proper typing and basic structure.",
"description": "Create a new component"
}
}
}Utilisez ces commandes personnalisées dans le TUI en tapant /test ou /component MyComponent.
Agents personnalisés
Créez des agents spécialisés :
{
"$schema": "https://opencode.ai/config.json",
"agent": {
"code-reviewer": {
"description": "Reviews code for best practices and potential issues",
"model": "anthropic/claude-sonnet-4-5",
"prompt": "You are a code reviewer. Focus on security, performance, and maintainability.",
"tools": {
"write": false,
"edit": false
}
}
}
}Configuration des permissions
Contrôlez ce qu’OpenCode peut faire sans demander la permission :
{
"$schema": "https://opencode.ai/config.json",
"permission": {
"edit": "ask",
"bash": "ask"
}
}Cela nécessite l’approbation de l’utilisateur pour les opérations d’édition et d’exécution Bash.
Formatteurs de code
Configurez des formatteurs pour formater automatiquement le code :
{
"$schema": "https://opencode.ai/config.json",
"formatter": {
"prettier": {
"disabled": false
},
"custom-prettier": {
"command": ["npx", "prettier", "--write", "$FILE"],
"environment": {
"NODE_ENV": "development"
},
"extensions": [".js", ".ts", ".jsx", ".tsx"]
}
}
}Paramètres du TUI
Personnalisez l’interface terminal :
{
"$schema": "https://opencode.ai/config.json",
"tui": {
"scroll_speed": 3,
"scroll_acceleration": {
"enabled": true
}
}
}Fonctionnalités avancées
Partager des conversations
Partagez vos conversations avec votre équipe :
/shareCela crée un lien partageable et le copie dans votre presse-papiers. Les conversations ne sont pas partagées par défaut.
Configurez le comportement de partage :
{
"share": "manual" // "manual", "auto" ou "disabled"
}Serveurs MCP
Les serveurs Model Context Protocol (MCP) étendent les capacités d’OpenCode :
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"filesystem": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-filesystem", "/chemin/vers/fichiers/autorisés"]
}
}
}Instructions et règles
Fournissez des instructions spécifiques au projet :
{
"$schema": "https://opencode.ai/config.json",
"instructions": [
"CONTRIBUTING.md",
"docs/guidelines.md",
".cursor/rules/*.md"
]
}OpenCode utilisera ces fichiers pour comprendre les standards et conventions de codage de votre projet.
Variables d'environnement
Configurez OpenCode via des variables d’environnement :
# Partage automatique des sessions
export OPENCODE_AUTO_SHARE=true
# Chemin vers une config personnalisée
export OPENCODE_CONFIG=/chemin/vers/config.json
# Chemin vers un dossier de config
export OPENCODE_CONFIG_DIR=/chemin/vers/dossier-config
# Désactiver la mise à jour automatique
export OPENCODE_DISABLE_AUTOUPDATE=true
# Désactiver les plugins par défaut
export OPENCODE_DISABLE_DEFAULT_PLUGINS=true
# Activer les modèles expérimentaux
export OPENCODE_ENABLE_EXPERIMENTAL_MODELS=true
# Activer la recherche web Exa
export OPENCODE_ENABLE_EXA=trueFonctionnalités expérimentales
Activez les fonctionnalités expérimentales :
export OPENCODE_EXPERIMENTAL=trueFonctionnalités expérimentales spécifiques :
# Activer la découverte d'icônes
export OPENCODE_EXPERIMENTAL_ICON_DISCOVERY=true
# Désactiver la copie au surlignage dans le TUI
export OPENCODE_EXPERIMENTAL_DISABLE_COPY_ON_SELECT=true
# Définir la longueur max de sortie pour les commandes bash
export OPENCODE_EXPERIMENTAL_BASH_MAX_OUTPUT_LENGTH=10000
# Définir le timeout par défaut pour les commandes bash (ms)
export OPENCODE_EXPERIMENTAL_BASH_DEFAULT_TIMEOUT_MS=30000Bonnes pratiques
Faire des prompts efficaces
- Soyez précis : Donnez des instructions claires et détaillées
- Utilisez le contexte : Référencez les fichiers avec
@pour une meilleure compréhension - Donnez des exemples : Montrez ce que vous voulez
- Décomposez : Les tâches complexes fonctionnent mieux en étapes
Travailler avec de gros projets
- Utilisez
/init: Faites comprendre la structure à OpenCode - Référencez des fichiers spécifiques : Utilisez
@pour limiter le contexte - Utilisez le mode Plan : Validez les plans avant la mise en œuvre
- Faites des changements incrémentaux : Petites modifications gérables
Optimisation des coûts
- Utilisez des modèles plus petits : Configurez
small_modelpour les tâches légères - Planifiez avant de coder : Révisez en mode Plan pour réduire les itérations
- Commandes personnalisées : Définissez des workflows efficaces pour les tâches courantes
- Surveillez la consommation : Consultez les tableaux de bord des fournisseurs
Sécurité
- Ne jamais commiter les clés API : Utilisez les variables d’environnement
- Utilisez les permissions : Configurez
permissionpour exiger des approbations pour les opérations sensibles - Relisez les modifications : Toujours vérifier les changements suggérés par OpenCode
- Utilisez des clés dédiées : Créez des clés API spécifiques à OpenCode avec des limites appropriées
Résolution des problèmes
Problèmes d’installation
Problème : Commande introuvable après installation
Solution :
- Vérifiez l’installation :
which opencode - Contrôlez le PATH :
echo $PATH - Essayez le chemin complet :
~/.local/bin/opencode - Réinstallez en utilisant une méthode différente
Problèmes d’authentification
Problème : Clé API non reconnue
Solution :
- Vérifiez la validité de la clé :
opencode auth list - Contrôlez les variables d’environnement :
echo $ANTHROPIC_API_KEY - Ré-authentifiez-vous :
opencode auth login
Problèmes de performance
Problème : Temps de réponse lent
Solution :
- Utilisez
opencode servepour accélérer l’exécution - Passez à un modèle plus rapide
- Utilisez des fenêtres de contexte plus petites
- Désactivez les outils inutilisés dans la config
Problèmes de TUI
Problème : Problèmes d’affichage dans le terminal
Solution :
- Utilisez un émulateur de terminal moderne (WezTerm, Alacritty, etc.)
- Vérifiez que le terminal supporte les couleurs 24 bits
- Essayez un autre thème
- Désactivez l’accélération du défilement en cas de problème
Problèmes de modèle
Problème : Modèle non trouvé
Solution :
- Rafraîchissez la liste des modèles :
opencode models --refresh - Vérifiez que le fournisseur est configuré :
opencode auth list - Vérifiez le format du nom du modèle :
provider/model - Confirmez la disponibilité du modèle chez le fournisseur
Intégrer OpenCode dans votre workflow
Développement quotidien
- Le matin : Lancez
/initpour synchroniser avec les derniers changements - Travail fonctionnel : Utilisez le mode Plan pour concevoir, puis le mode Build pour implémenter
- Débogage : Posez des questions sur les erreurs avec référence aux fichiers
- Revue de code : Utilisez un agent relecteur de code personnalisé
- Documentation : Générez de la documentation avec des commandes personnalisées
Collaboration en équipe
- Partagez les configs : Commitez
opencode.jsonetAGENTS.mddans Git - Partagez les conversations : Utilisez
/sharepour discuter des implémentations - Commandes personnalisées : Définissez des commandes spécifiques à l’équipe dans la config projet
- Agents cohérents : Utilisez des définitions d’agents partagées pour homogénéiser
Intégration CI/CD
- Agent GitHub : Installez-le pour les revues PR automatisées
- Tests : Utilisez des commandes test dans le pipeline d’intégration
- Qualité du code : Configurez formatteurs et permissions
Conclusion
OpenCode représente un nouveau paradigme dans le développement assisté par IA en apportant des capacités IA puissantes directement dans votre terminal. Avec ses options de configuration flexibles, son support multi-fournisseurs de LLM, et son interface TUI intuitive, il est conçu pour améliorer votre productivité sans perturber votre flux de travail existant.
Points clés :
- Installez via le script ou votre gestionnaire de packages préféré
- Configurez les clés API via
/connectouopencode auth login - Initialisez vos projets avec
/initpour un meilleur contexte - Utilisez le mode Plan pour les fonctionnalités complexes, le mode Build pour les modifications directes
- Personnalisez avec fichiers de config, commandes, et agents
- Exploitez les commandes CLI pour automatisation et scripting
- Adoptez de bonnes pratiques de sécurité avec clés API et permissions
Prochaines étapes :
- Explorez la documentation OpenCode pour les fonctions avancées
- Rejoignez la communauté Discord OpenCode
- Personnalisez votre environnement avec thèmes et raccourcis
- Expérimentez différents fournisseurs LLM et modèles
- Intégrez OpenCode dans le workflow de votre équipe
Prêt à booster votre workflow de développement ?
Découvrez les solutions d’hébergement optimisées IA de LightNode pour déployer des applications IA avec des instances GPU dédiées et une infrastructure évolutive.
OpenCode est open source et en constante évolution. Contribuez au projet, signalez des bugs, ou partagez votre expérience pour l’améliorer pour tous. Bon codage !