Développeur

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.

Documentation examinée
9 oct. 2026
Version testée
OpenCode 1.18.34

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
Commencez par le script d’installation. Si vous avez l’habitude des gestionnaires de paquets, utilisez ensuite l’une des autres commandes indiqué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 que brew install opencode, maintenu par l’équipe Homebrew.
  • Arch Linux : utilisez sudo pacman -S opencode pour la version stable. Pour une version plus récente, vous pouvez utiliser le paquet AUR opencode-bin.
  • Windows : utilisez choco install opencode ou scoop install opencode. Vous pouvez également exécuter npm 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.

  1. Dans OpenCode, exécutez /connect, puis faites défiler la liste jusqu’à Other.
  2. 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.
  3. 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.
  4. 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" }
      }
    }
  }
}
  1. 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
La clé et l’adresse sont enregistrées à deux endroits différents. Le Provider ID doit être identique aux deux endroits.

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
Après avoir enregistré le fichier de configuration, effectuez encore une requête réelle dans le projet.

Erreurs courantes

  • OmniProxy n’apparaît pas dans /models : vérifiez que l’ID indiqué dans /connect correspond à la clé de opencode.json, que npm vaut @ai-sdk/openai-compatible et que baseURL se 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 /connect devrait 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/responses sur 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.

Sources officielles · OpenCode ↗