Installation d’OpenCode et configuration d’OmniProxy
Vous souhaitez qu’un assistant de programmation comprenne votre projet sans être bloqué par l’installation et la configuration ? OpenCode peut être lancé depuis un terminal, un IDE ou une application de bureau, puis connecté pas à pas au service de modèles que vous utilisez.
OpenCode est un assistant de programmation open source utilisable dans un terminal, un IDE ou une application de bureau. Il ne conserve ni votre code ni votre contexte, ce qui le rend adapté aux projets pour lesquels la confidentialité est importante. Le mode build sert à modifier le projet, tandis que plan est en lecture seule par défaut et convient pour commencer par comprendre du code inconnu et organiser les modifications à apporter. Vous pouvez choisir le service de modèles en fonction de vos besoins.
Avant de commencer
Le script d’installation est la méthode la plus simple. Vous avez besoin d’un terminal moderne, c’est-à-dire d’un programme permettant d’exécuter des commandes et de manipuler les fichiers du projet, comme WezTerm, Alacritty, Ghostty ou Kitty. Sous Windows, utilisez de préférence WSL, un outil permettant d’exécuter un environnement Linux dans Windows et offrant des performances et des fonctionnalités plus complètes.
Méthode la plus simple
Script d’installation
- curl opencode.ai/install
- Utilisable directement sous macOS et Linux
- WSL est recommandé sous Windows
macOS et Linux
Dépôt Homebrew
- anomalyco/tap/opencode
- Mis à jour plus souvent que la formule
- Un paquet existe également pour Arch
Windows natif
Gestionnaire de paquets
- choco ou scoop
- Ou installation globale avec npm
- Les Releases peuvent aussi être téléchargées
Préparez également l’ID du modèle figurant dans la liste actuelle des modèles. L’ID du modèle est le nom utilisé par le service pour identifier précisément un modèle.
Installation et premier lancement
La commande d’installation la plus simple est la suivante :
curl -fsSL https://opencode.ai/install | bash
Vous pouvez également utiliser les méthodes d’installation suivantes :
- Node.js :
npm install -g opencode-ai. Bun, pnpm et Yarn disposent également de commandes d’installation globale correspondantes, indiquées dans la page de présentation à la fin de ce guide. - Homebrew sous macOS et Linux :
brew install anomalyco/tap/opencode. Utilisez ce tap, car il est mis à jour plus fréquemment quebrew install opencode, maintenu par l’équipe Homebrew. - Arch Linux : utilisez
sudo pacman -S opencodepour la version stable. Pour une version plus récente, vous pouvez utiliser le paquet AURopencode-bin. - Windows : utilisez
choco install opencodeouscoop install opencode. Vous pouvez également exécuternpm install -g opencode-ai. Il est aussi possible de télécharger le fichier binaire depuis Releases. La prise en charge de l’installation avec Bun sous Windows est encore en cours de développement.
Accédez au répertoire de votre projet, puis lancez OpenCode :
cd /path/to/project
opencode
Lors de la première utilisation, vous pouvez exécuter /init. Cette commande analyse le projet et crée un fichier AGENTS.md à sa racine. Ce fichier peut être ajouté à Git afin de conserver ces instructions dans le projet.
Obtenir les paramètres de connexion depuis OmniProxy
baseURL: https://your-omniproxy-origin.example/v1
API Key: <YOUR_OMNIPROXY_API_KEY>
Model ID: copiez l’ID complet depuis la liste actuelle des modèles OmniProxy
baseURL est l’adresse du service, API Key correspond aux identifiants d’accès et Model ID est le nom complet du modèle.
Pour les modèles utilisant /v1/chat/completions, le paquet npm à employer est @ai-sdk/openai-compatible. Chat Completions est ici une interface de requête conversationnelle. N’utilisez @ai-sdk/openai que si le modèle passe par /v1/responses. Lorsque vous utilisez OmniProxy avec le chemin Chat Completions, conservez le paquet de compatibilité.
Copiez l’ID du modèle en entier depuis la liste actuelle d’OmniProxy, en conservant également les barres obliques. Au 2026-10-09, les deux ID de référence étaient claude-sonnet-5-5 et gpt-6-luna. gpt-6-luna prend en charge Chat Completions. Dans Chat Completions, les appels de fonctions ne sont pris en charge que lorsque reasoning_effort vaut none. Ne recopiez pas un ID qui ne figure pas dans la liste.
Renseigner la configuration de l’outil
Un Provider peut être considéré comme un ensemble de paramètres permettant à OpenCode de se connecter à un service de modèles. La documentation des Provider qualifie de Provider personnalisé tout « service compatible avec OpenAI qui ne figure pas dans la liste /connect ». Un service compatible avec OpenAI utilise le même format de requête et peut être appelé par le même type de client.
- Dans OpenCode, exécutez
/connect, puis faites défiler la liste jusqu’à Other. - Saisissez un Provider ID. L’exemple ci-dessous utilise
omniproxy. Choisissez un ID facile à retenir, car vous devrez utiliser le même dans le fichier de configuration. - Saisissez l’API Key d’OmniProxy. Cette étape enregistre uniquement les identifiants ; l’adresse et les modèles doivent encore être ajoutés à
opencode.json. Les identifiants sont enregistrés dans~/.local/share/opencode/auth.json. - Dans le répertoire du projet, créez ou modifiez
opencode.json:
{
"$schema": "https://opencode.ai/config.json",
"provider": {
"omniproxy": {
"npm": "@ai-sdk/openai-compatible",
"name": "OmniProxy",
"options": {
"baseURL": "https://your-omniproxy-origin.example/v1"
},
"models": {
"claude-sonnet-5-5": { "name": "Claude Sonnet 5.5" },
"gpt-6-luna": { "name": "GPT-6 Luna" }
}
}
}
}
- Exécutez
/models. Le Provider personnalisé et ses modèles apparaîtront dans la liste.
L’ID saisi dans /connect doit être identique à la clé utilisée dans opencode.json. N’inscrivez pas votre véritable clé dans ce fichier. Si vous n’utilisez pas /connect, vous pouvez aussi référencer une variable d’environnement dans options.apiKey, par exemple {env:NOM_VARIABLE}. Lors du test effectué le 2026-10-09 avec OpenCode 1.18.34, la connexion a également fonctionné en inscrivant directement la clé dans options.apiKey au niveau du projet, sans passer par /connect. Si la passerelle ne vérifie pas la clé, cette valeur peut être une chaîne de caractères factice utilisée uniquement en local. Les clés de models doivent correspondre aux ID complets figurant dans la liste.
Clé
/connect
- Sélectionner Autre tout en bas
- Définir librement l’ID du fournisseur
- Elle est enregistrée dans auth.json
Projet
opencode.json
- La clé provider doit porter le même nom
- Utiliser un paquet compatible avec npm
- baseURL se termine par /v1
Sélection
/models
- Le modèle apparaît dans la liste
- En sélectionner un avant de poser une question
- Utiliser l’ID indiqué dans la liste de la passerelle
Vérifier avec une tâche réelle
Commencez par exécuter une tâche réelle dans le répertoire du projet. Le format de référence d’un modèle est Provider ID/ID du modèle. Conservez les barres obliques éventuellement présentes dans l’ID du modèle :
opencode run --model omniproxy/claude-sonnet-5-5 --auto "Explique ce que fait un fichier que tu indiques, sans le modifier."
L’option --auto autorise cette exécution à utiliser des outils, notamment ceux permettant de lire des fichiers. Lors du test effectué le 2026-10-09 avec OpenCode 1.18.34, le contenu du fichier indiqué a bien été lu. La première exécution a pris environ deux minutes.
Pour une utilisation interactive, exécutez opencode, puis sélectionnez le modèle avec /models. Vous pouvez utiliser @ pour rechercher des fichiers. Exécutez opencode auth list pour vérifier les identifiants enregistrés par /connect, puis consultez l’historique des appels d’OmniProxy pour confirmer la source et l’ID du modèle.
Démarrage
opencode se lance
- Utiliser d’abord cd pour accéder au projet
- auth list affiche l’ID
- Le fichier de configuration se trouve dans le projet
Tâche
Il a lu le code
- Poser une question sur un fichier précis
- Lire son explication
- Utiliser /undo si le résultat est incorrect
Journaux
La passerelle reçoit l’appel
- La source est OpenCode
- L’ID du modèle correspond
- Ne pas valider la clé dans le dépôt
Erreurs courantes
- OmniProxy n’apparaît pas dans
/models: vérifiez que l’ID indiqué dans/connectcorrespond à la clé deopencode.json, quenpmvaut@ai-sdk/openai-compatibleet quebaseURLse termine par/v1. - Les identifiants ont disparu : exécutez
opencode auth list. Les Provider comme Bedrock, qui reposent sur des variables d’environnement, n’apparaissent pas dans cette liste. Un Provider personnalisé configuré avec/connectdevrait en revanche y figurer. - Certaines fonctionnalités ne sont pas disponibles sous Windows : utilisez le script d’installation dans WSL.
- L’ID du modèle n’est pas valide : recopiez-le depuis la liste actuelle d’OmniProxy, puis modifiez la clé correspondante dans
models. - La requête utilise la mauvaise interface : pour Chat Completions, conservez
@ai-sdk/openai-compatible. Ne changez pas de paquet pour l’interface Responses, sauf si ce modèle utilise effectivement/v1/responsessur OmniProxy.
Références officielles
Pour l’installation, consultez la présentation d’OpenCode. Pour les Provider personnalisés, consultez Providers. Pour les ID de modèles utilisés dans les exemples, consultez la présentation des modèles Claude et GPT-6 Luna.
Remplacez chaque espace réservé par des valeurs de votre propre configuration OmniProxy. Ne publiez jamais une vraie clé.
Un résultat sauvegardé ou un HTTP 200 seul ne prouve pas une compatibilité complète de l'Agent. Vérifiez la source et le modèle dans l'enregistrement d'appel d'OmniProxy.