OpenCode est l'un des agents de codage IA open source les plus en vue en 2026. Son créneau ? Une philosophie de conception « agnostique vis-à-vis du modèle et axée sur le terminal », permettant aux développeurs d'exécuter Claude, GPT, Gemini, des modèles locaux, ou même de mixer le tout. À l'instar de Claude Code, il s'exécute directement dans votre terminal, mais il emprunte une voie différente : il abstrait le fournisseur (provider) en une configuration enfichable, laissant l'utilisateur choisir son modèle de prédilection.
De nombreux lecteurs m'ont posé une question très précise : étant donné que la configuration d'OpenCode semble utiliser le mode compatible OpenAI, prend-il en charge le format natif d'Anthropic ? Et comment choisir la meilleure option lors de la connexion à un service proxy API comme APIYI ?

Cet article propose une analyse complète basée sur la documentation officielle et le code source. Nous clarifierons ce qu'est OpenCode, ses différences clés avec Claude Code, puis nous vous guiderons pas à pas pour le connecter au service proxy API APIYI (apiyi.com), en couvrant à la fois la compatibilité OpenAI et le mode natif Anthropic. Une fois la lecture terminée, vous serez prêt à configurer votre environnement.
Présentation du projet OpenCode : le positionnement d'un agent de codage IA open source
OpenCode est maintenu par l'équipe SST (les créateurs du framework SST/Serverless Stack). Le dépôt est disponible sur github.com/sst/opencode sous licence open source MIT. À l'heure où nous écrivons ces lignes, il a accumulé plus de 150 000 étoiles sur GitHub et compte plus de 850 contributeurs, ce qui en fait l'un des projets d'agents de codage les plus actifs. Son public cible est clair : les développeurs de niveau intermédiaire à avancé qui souhaitent accomplir la plupart de leurs tâches de codage dans le terminal sans être verrouillés par un seul fournisseur de modèles.
Architecture et mode de fonctionnement d'OpenCode
OpenCode utilise une architecture client/serveur, où la logique centrale de l'agent s'exécute dans un processus de service local, l'interface TUI (Terminal UI) n'étant que l'une des nombreuses interfaces possibles. Cela signifie qu'une même instance d'agent peut être accessible simultanément par le terminal, des applications de bureau, des plugins IDE, voire des appareils mobiles, offrant un vaste potentiel de collaboration multi-plateforme.
Il intègre deux modes d'agent, commutables instantanément via la touche Tab :
- Mode
build: accès complet aux outils par défaut (lecture, écriture, exécution de commandes), idéal pour les tâches de développement réelles. - Mode
plan: mode lecture seule, dédié uniquement à l'analyse de code, à la conception de solutions et aux suggestions, sans modification de fichiers.
| Dimension | Points forts de la conception d'OpenCode | Valeur pour le développeur |
|---|---|---|
| Architecture | Séparation client/serveur | Collaboration multi-plateforme, contrôle à distance |
| Couche modèle | Abstraite en tant que fournisseur enfichable | Liberté de basculer entre plus de 75 modèles |
| Couche interaction | TUI / App de bureau / Plugin IDE | Indépendance vis-à-vis de l'interface |
| Couche permission | Modes build / plan | Équilibre entre sécurité et efficacité |
| Déploiement | Priorité au local, avec accès distant | Les données restent en local |
🎯 Conseil de configuration : Si vous souhaitez utiliser plusieurs modèles comme Claude, GPT, Gemini ou DeepSeek dans OpenCode sans avoir à ouvrir un compte et gérer plusieurs clés pour chaque fournisseur, vous pouvez directement vous connecter au service proxy API APIYI (apiyi.com) et utiliser un seul jeton pour accéder aux modèles principaux.
Capacités principales d'OpenCode
Son périmètre d'action est bien plus vaste que celui des plugins IDE traditionnels. En saisissant du langage naturel dans le terminal, OpenCode peut interpréter l'ensemble de votre base de code, ajouter des fonctionnalités, modifier la logique existante, exécuter des tests et même effectuer des refactorisations multi-fichiers. Le mode plan est utilisé pour la revue préalable : laissez l'agent proposer ses idées de mise en œuvre, et une fois validées par le développeur, passez au mode build pour les appliquer.
Il prend également en charge le mode non interactif opencode run "votre invite", qui peut être intégré directement dans des scripts shell pour des scénarios d'automatisation tels que l'intégration continue (CI/CD), la refactorisation par lots ou les tâches planifiées. Cette capacité, absente des premières versions de Claude Code, est l'une des raisons pour lesquelles OpenCode est fréquemment choisi pour les environnements d'ingénierie.
Il est intéressant de noter qu'OpenCode récupère et fait correspondre par défaut la liste des modèles à partir d'une base de données publique, models.dev. Ainsi, même si un fournisseur lance un nouveau modèle, OpenCode le détecte rapidement. Lorsque vous vous connectez via un service proxy, le mappage des modèles conservé localement peut rester synchronisé avec la liste des modèles de l'interface APIYI, évitant ainsi la situation gênante où « le modèle est spécifié dans la configuration, mais la requête est rejetée ».
Différences fondamentales entre OpenCode et Claude Code
Beaucoup considèrent OpenCode comme une "version open source de Claude Code", mais leurs positionnements diffèrent radicalement. Claude Code est un outil de premier plan conçu par Anthropic spécifiquement pour ses propres modèles, tandis qu'OpenCode est une plateforme neutre pensée pour un écosystème multi-modèles.

Portée des modèles et contrôle des coûts
Claude Code ne peut invoquer que les modèles Anthropic (séries Sonnet, Opus et Haiku), ce qui signifie que toutes les tâches sont facturées selon la tarification d'Anthropic. OpenCode prend en charge plus de 75 fournisseurs, notamment OpenAI, Anthropic, Google Vertex, Bedrock, Groq, Azure, OpenRouter, et même des backends d'inférence locaux comme Ollama ou LM Studio.
Cette flexibilité est très utile dans les flux de travail réels. Les tâches légères comme la génération de documentation, les messages de commit ou le renommage de variables peuvent être confiées à des modèles plus petits et économiques, tandis que les refactorisations complexes et la réflexion architecturale peuvent être basculées vers Claude Sonnet ou Opus, permettant souvent de réduire les coûts globaux de 40 à 60 %.
Différences de flux de travail et de modèle de permissions
Claude Code adopte par défaut une approche prudente : il demande confirmation avant d'écrire des fichiers ou d'exécuter des commandes, ce qui est convivial pour les débutants mais peut parfois interrompre le rythme. OpenCode privilégie la transparence : le code est entièrement open source, peut être audité par les équipes de sécurité, et les permissions sont gérées explicitement via le basculement build/plan, ce qui est plus adapté à l'automatisation et au scripting.
| Dimension de comparaison | OpenCode | Claude Code |
|---|---|---|
| État open source | Open source MIT, code auditable | Propriétaire, distribution binaire uniquement |
| Portée des modèles | 75+ fournisseurs, incluant modèles locaux | Uniquement modèles officiels Anthropic |
| Endpoint personnalisé | baseURL modifiable pour tout fournisseur | Via ANTHROPIC_BASE_URL |
| Interface d'interaction | TUI / App bureau / Plugin IDE | Principalement terminal |
| Stratégie de permissions | Basculement explicite build / plan | Demande de confirmation par défaut |
| Maturité | Évolution rapide, détails en cours de finition | Expérience plus aboutie |
| Scénarios adaptés | Mix de modèles, déploiement local, personnalisation | Expérience Claude tout-en-un |
🎯 Conseil de sélection : Si votre flux de travail repose principalement sur Claude, mais que vous souhaitez occasionnellement utiliser GPT ou Gemini en secours, nous vous suggérons de configurer plusieurs modèles dans OpenCode via APIYI (apiyi.com) en utilisant une seule clé. Utilisez Claude Code en natif pour le développement principal et basculez vers OpenCode pour la validation croisée lors de tâches complexes.
À qui s'adresse OpenCode ?
Le profil idéal pour OpenCode est le développeur prêt à consacrer 20 minutes à la lecture de la documentation de configuration, sensible aux coûts, souhaitant utiliser une seule chaîne d'outils pour plusieurs modèles, ou travaillant dans une entreprise exigeant que les modèles soient auditables. Si vous cherchez simplement une solution "prête à l'emploi avec Claude", Claude Code reste le choix le plus simple.
Deux modes d'invocation pour connecter OpenCode au service proxy APIYI
Revenons à la question qui préoccupe le plus les lecteurs : OpenCode utilise-t-il le mode compatible OpenAI ou le format natif Anthropic ? La réponse est : les deux sont pris en charge, selon la manière dont vous configurez le fournisseur dans opencode.json.

Mode 1 : Mode compatible OpenAI (le plus universel)
C'est la méthode recommandée par la documentation d'OpenCode et le chemin le plus sûr pour se connecter à un service proxy tiers. En interne, il utilise le package @ai-sdk/openai-compatible du SDK Vercel AI pour encapsuler tout endpoint conforme au protocole OpenAI Chat Completions en tant que fournisseur OpenCode. L'entrée compatible OpenAI d'APIYI est api.apiyi.com/v1, ce qui permet d'appeler simultanément GPT, Claude, Gemini, DeepSeek et des dizaines d'autres modèles, unifiés au format OpenAI.
Son avantage est sa polyvalence : presque tous les modèles peuvent être configurés sous le même fournisseur. Le compromis est que certaines capacités exclusives à Anthropic (comme l'extended thinking ou les blocs d'utilisation d'outils natifs) passeront par une conversion de protocole, ce qui peut entraîner de légères différences de comportement par rapport à l'endpoint officiel d'Anthropic.
Mode 2 : Mode natif Anthropic (recommandé pour Claude)
Le fournisseur anthropic intégré à OpenCode utilise le package @ai-sdk/anthropic. Le chemin de requête est /v1/messages et le format du corps de la requête est celui défini par l'API Messages officielle d'Anthropic. Ce format prend en charge les fonctionnalités de Claude telles que les content blocks, les blocs tool_use et l' extended thinking, utilisant exactement le même protocole que Claude Code.
Il suffit de pointer provider.anthropic.options.baseURL vers https://api.apiyi.com d'APIYI pour qu'OpenCode envoie des requêtes au format natif Anthropic, relayées par le service proxy APIYI vers l'amont Claude. Cela signifie que vous pouvez obtenir une expérience d'invocation de Claude dans OpenCode presque identique à celle de Claude Code.
| Mode | Package sous-jacent | Base URL APIYI | Adapté pour | Fidélité du protocole |
|---|---|---|---|---|
| Compatible OpenAI | @ai-sdk/openai-compatible |
https://api.apiyi.com/v1 |
Mix de modèles | Standard OpenAI |
| Natif Anthropic | @ai-sdk/anthropic |
https://api.apiyi.com |
Toute la gamme Claude | Identique à l'officiel |
🎯 Conseil de configuration : Pour une utilisation quotidienne, nous recommandons la coexistence des deux modes : configurez dans le même
opencode.jsonun fournisseuranthropicet un fournisseuropenai-compatible. Le premier sera utilisé pour Claude, le second pour GPT/Gemini/DeepSeek, etc. Les deux fournisseurs partagent la même clé APIYI (apiyi.com), il n'est donc pas nécessaire de gérer plusieurs clés.
Configuration d'OpenCode et du service proxy API APIYI en 3 étapes
Voici la procédure minimale pour une mise en service rapide. L'ensemble de l'opération prend généralement moins de 5 minutes.
Étape 1 : Installation du client OpenCode
Deux méthodes d'installation principales sont proposées officiellement, choisissez celle qui correspond à votre environnement.
# Méthode A : Installation globale via npm (recommandé pour les utilisateurs de Node.js)
npm install -g opencode-ai@latest
# Méthode B : Installation via script (recommandé pour macOS / Linux)
curl -fsSL https://opencode.ai/install | bash
Une fois l'installation terminée, vérifiez-la avec opencode --version. Les utilisateurs Windows peuvent passer par Scoop ou WSL. Si l'installation npm échoue, c'est probablement dû à une version trop ancienne de Node ; une mise à jour vers la version 18+ ou 20+ est recommandée.
Étape 2 : Obtenir une clé API sur le tableau de bord APIYI
Connectez-vous à l'interface d'APIYI, créez une nouvelle clé dans la page de gestion des jetons api.apiyi.com/token. Nous vous conseillons de la nommer OpenCode et de sélectionner le groupe approprié (si vous souhaitez utiliser Claude, assurez-vous que le groupe inclut les modèles de la série Claude). Copiez la chaîne sk-xxx obtenue, vous en aurez besoin à l'étape suivante.
🎯 Conseil sur les jetons : Après votre inscription sur apiyi.com, il est recommandé de créer un jeton distinct pour chaque client, par exemple un pour ClaudeCode, un pour OpenCode et un pour Cursor. Ainsi, en cas d'activité anormale sur l'un d'eux, vous pouvez révoquer uniquement le jeton concerné sans affecter les autres clients.
Étape 3 : Édition du fichier de configuration opencode.json
OpenCode lit prioritairement le fichier opencode.json à la racine du projet, puis, en cas d'absence, le fichier de configuration utilisateur ~/.config/opencode/opencode.json. Voici un exemple complet combinant le mode natif Anthropic et le mode compatible OpenAI :
{
"$schema": "https://opencode.ai/config.json",
"provider": {
"anthropic": {
"options": {
"baseURL": "https://api.apiyi.com",
"apiKey": "{env:APIYI_KEY}"
}
},
"apiyi-openai": {
"npm": "@ai-sdk/openai-compatible",
"name": "APIYI OpenAI Compatible",
"options": {
"baseURL": "https://api.apiyi.com/v1",
"apiKey": "{env:APIYI_KEY}"
},
"models": {
"gpt-4o": { "name": "GPT-4o" },
"claude-sonnet-4-6": { "name": "Claude Sonnet 4.6" },
"gemini-2.5-pro": { "name": "Gemini 2.5 Pro" }
}
}
}
}
Ensuite, ajoutez votre clé API aux variables d'environnement :
# macOS / Linux
echo 'export APIYI_KEY="sk-votre-jeton-obtenu-sur-APIYI"' >> ~/.zshrc
source ~/.zshrc
# Windows PowerShell
$env:APIYI_KEY = "sk-votre-jeton-obtenu-sur-APIYI"
Après avoir lancé OpenCode, utilisez la commande /models pour sélectionner le modèle. Pour la série Claude, il est conseillé d'utiliser le fournisseur anthropic, et pour les autres modèles, le fournisseur apiyi-openai.
🎯 Règle pour la base URL : Pour le mode natif Anthropic, n'ajoutez pas
/v1, car le SDK ajoute automatiquement/v1/messages. Pour le mode compatible OpenAI, l'ajout de/v1est obligatoire. Cette règle est identique aux directives fournies par apiyi.com dans la documentation de Claude Code : retenez simplement "pas de /v1 pour le natif, /v1 pour le compatible".
Dépannage des erreurs fréquentes
| Message d'erreur | Cause probable | Solution |
|---|---|---|
Route /api/messages not found |
baseURL contient /v1 par erreur |
Supprimez le suffixe /v1 |
Required provider.anthropic.models |
Champ models manquant après personnalisation de baseURL | Listez explicitement les IDs de modèles disponibles |
401 Unauthorized |
Jeton invalide ou groupe sans accès au modèle | Régénérez votre clé APIYI |
model not found |
ID de modèle non conforme à APIYI | Vérifiez l'ID réel sur la place de marché APIYI |
| Délai d'attente (Timeout) | Instabilité réseau ou limitation amont | Changez de nœud APIYI ou réessayez |
🎯 Conseil de débogage : En cas d'erreur, testez d'abord la validité de votre clé et la connexion réseau avec
curl https://api.apiyi.com/v1/models -H "Authorization: Bearer $APIYI_KEY". Cette étape permet d'identifier 90 % des problèmes en 30 secondes, bien plus rapidement que de modifieropencode.json. Si la liste s'affiche correctement, le problème vient probablement de la configuration d'OpenCode.
Cas d'utilisation pratiques d'OpenCode avec le service proxy APIYI
Une fois la configuration opérationnelle, c'est votre flux de travail qui déterminera l'efficacité de l'outil. Voici quelques usages courants.
Scénario 1 : Utiliser le mode "plan" pour une revue de code sans effet de bord
Passez en mode plan (touche Tab), tapez /expliquez le processus d'authentification de ce dépôt. OpenCode analysera le code et générera un rapport sans modifier aucun fichier. Idéal pour l'onboarding de nouveaux collègues, les revues de sécurité ou la restructuration d'architecture.
Scénario 2 : Utiliser le mode "build" pour des tâches de développement de bout en bout
Une fois le plan validé, passez en mode build et lancez une tâche comme : remplace le middleware d'authentification par une implémentation basée sur JWT et ajoute les tests unitaires. OpenCode lira les fichiers, effectuera les modifications, lancera les tests et itérera en cas d'échec. Il est recommandé de travailler sur une branche git propre pour faciliter les retours en arrière.
Scénario 3 : Collaboration multi-modèles et contrôle des coûts
Grâce à l'abstraction des fournisseurs d'OpenCode, vous pouvez assigner des tâches spécifiques à différents modèles :
- Documentation et messages de commit : utilisez
gpt-4o-miniviaapiyi-openai(coût très faible). - Refactorisation complexe et revue de code : utilisez
claude-sonnet-4-6ou la série Opus via le fournisseuranthropic. - Contenu multilingue ou visuel : utilisez
gemini-2.5-proviaapiyi-openai.
🎯 Conseil budgétaire : Avec apiyi.com, tous les modèles sont facturés à l'utilisation réelle des jetons, sans seuil de consommation minimale. Commencez par des modèles économiques pour valider vos flux avant de passer à des modèles plus puissants.
Scénario 4 : Intégration CI/CD en mode non interactif
La commande opencode run permet d'injecter directement une invite (prompt) dans le shell, avec une sortie standard (stdout), facilitant l'intégration dans GitHub Actions, GitLab CI ou des tâches planifiées. Par exemple, pour générer automatiquement une revue de structure de dépôt chaque semaine ou un brouillon de changelog avant la fusion d'une PR.
FAQ : Questions fréquentes
Q1 : OpenCode prend-il réellement en charge le protocole natif /v1/messages d'Anthropic ?
Oui, tout à fait. Le fournisseur anthropic intégré à OpenCode utilise le package @ai-sdk/anthropic. Le chemin de requête est bien le /v1/messages officiel d'Anthropic et le corps de la requête suit le format officiel de l'API Messages, utilisant exactement le même protocole que Claude Code. Il vous suffit de pointer le baseURL vers APIYI (apiyi.com) pour obtenir une expérience dans OpenCode quasi identique à celle de Claude Code.
Q2 : Si je n'utilise que le mode compatible OpenAI, quelles fonctionnalités de Claude vais-je perdre ?
En mode compatible OpenAI, les fonctionnalités exclusives d'Anthropic telles que les blocs tool_use, le extended thinking (réflexion étendue) et les en-têtes de contrôle de cache sont adaptés par la couche protocolaire. Bien que les fonctionnalités restent utilisables, la réponse est transformée, ce qui peut entraîner de légères différences dans certains comportements précis (comme la facturation des jetons de réflexion ou certains motifs d'arrêt). Pour le développement principal avec Claude, nous recommandons d'utiliser le mode natif.
Q3 : Le fichier de configuration d'OpenCode prend-il en charge ${env:VAR} ou {env:VAR} ?
La version la plus récente utilise uniformément la syntaxe {env:VAR}, alors que les anciennes versions utilisaient ${env:VAR}. Si OpenCode affiche une erreur apiKey is undefined, vérifiez d'abord si vous avez écrit ${env:APIYI_KEY} et remplacez-le simplement par {env:APIYI_KEY} conformément à la norme actuelle.
Q4 : La commande /connect intégrée à OpenCode peut-elle se connecter directement à APIYI ?
Oui. Exécutez /connect, sélectionnez "Other", saisissez l'identifiant du fournisseur (par exemple apiyi-openai) et collez votre jeton APIYI ; OpenCode mettra automatiquement à jour opencode.json. Cependant, /connect utilise par défaut le chemin compatible OpenAI. Si vous souhaitez utiliser le mode natif Anthropic, nous vous conseillons de modifier manuellement provider.anthropic.options.baseURL.
Q5 : Est-il possible de faire partager la même clé API APIYI entre Claude Code et OpenCode ?
C'est tout à fait possible, et même fortement recommandé. Le jeton APIYI (apiyi.com) n'est pas lié à un client spécifique. Une même clé sk-xxx peut être utilisée simultanément par plusieurs clients comme Claude Code (via ANTHROPIC_BASE_URL), OpenCode (via opencode.json), Cursor, Continue, etc. Vous pouvez consulter la facturation globale par source d'invocation dans votre tableau de bord.
Q6 : Les modes plan / build d'OpenCode sont-ils identiques à la confirmation d'autorisation de Claude Code ?
Les objectifs de conception sont similaires, mais les méthodes d'implémentation diffèrent. Claude Code demande une confirmation à chaque étape, à chaque écriture de fichier ou exécution de commande. OpenCode repose sur une commutation de mode : le mode plan désactive fondamentalement les droits d'écriture, tandis que le mode build les autorise par défaut. L'approche d'OpenCode est plus adaptée aux scénarios automatisés, tandis que celle de Claude Code convient mieux aux situations nécessitant un contrôle granulaire.
Q7 : La latence d'invocation de Claude via le service proxy API APIYI est-elle plus élevée qu'une connexion directe aux serveurs officiels ?
APIYI (apiyi.com) a déployé des points d'entrée dans plusieurs nœuds centraux en Chine et a optimisé les liaisons pour les principaux fournisseurs comme Claude, GPT et Gemini. Pour les utilisateurs basés en Chine, la latence ressentie du premier octet (TTFB) est généralement nettement inférieure à celle d'une connexion directe aux points de terminaison officiels. Vous pouvez comparer les chiffres réels dans votre propre environnement réseau en utilisant curl -w "%{time_starttransfer}".
Conclusion : La combinaison gagnante OpenCode + APIYI
La véritable valeur d'OpenCode réside dans le fait de redonner le "choix du modèle" aux développeurs, tandis que les services proxy API comme APIYI offrent un support concret à cette flexibilité. En combinant les deux, les développeurs profitent non seulement d'une expérience Claude proche de Claude Code directement dans leur terminal, mais peuvent aussi basculer instantanément vers GPT, Gemini, DeepSeek ou d'autres modèles pour des vérifications croisées. L'ensemble du flux de travail ne nécessite que la gestion d'un seul fichier de configuration OpenCode et d'une seule clé APIYI.
Pour revenir à la question initiale de cet article : OpenCode prend en charge simultanément le mode compatible OpenAI et le format natif Anthropic, les deux n'étant pas mutuellement exclusifs. Nous suggérons aux utilisateurs réguliers de conserver les deux fournisseurs dans opencode.json : utilisez le chemin natif pour Claude afin de conserver toutes ses capacités, et le chemin compatible pour les autres modèles afin de maximiser la polyvalence.
🎯 Conseil final : Si vous prévoyez d'essayer OpenCode, le moyen le plus simple est de vous inscrire sur APIYI (apiyi.com), de générer une clé et d'activer les deux modes selon les configurations de cet article. Après une semaine, vous ne pourrez plus vous passer de cette méthode de travail où "une seule clé pilote tous les modèles", et vous ne voudrez plus jamais gérer des comptes et des soldes séparés pour chaque fournisseur.
— Équipe technique APIYI | Suivi continu de l'écosystème des agents de codage IA. Plus de tutoriels sur le centre d'aide APIYI (apiyi.com).
