Passer au contenu principal
OpenCode (GitHub) est un agent de codage IA open-source en ligne de commande qui fonctionne avec de nombreux providers.
Protocole : compatible OpenAI
  • Base URL : https://api.orcarouter.ai/v1 (inclut /v1)
Les modèles de raisonnement Claude via le protocole OpenAI rejettent temperature != 1 (400 temperature may only be set to 1 when thinking is enabled). Utilisez un modèle sans raisonnement, ou activez reasoningEffort — voir Activer la réflexion.

Installation

npm install -g opencode-ai

Configuration

Fichier de configuration : ~/.config/opencode/opencode.json.
{
  "$schema": "https://opencode.ai/config.json",
  "provider": {
    "orcarouter": {
      "npm": "@ai-sdk/openai-compatible",
      "name": "OrcaRouter",
      "options": { "baseURL": "https://api.orcarouter.ai/v1", "apiKey": "sk-orca-..." },
      "models": { "orcarouter/auto": { "name": "OrcaRouter Auto" } }
    }
  },
  "model": "orcarouter/orcarouter/auto"
}
Remplacez par un modèle spécifique si vous le préférez, par ex. google/gemini-2.5-flash ou anthropic/claude-opus-4.8. Les ID de modèles utilisent toujours le format vendor/model.

Exécution

opencode run "Reply with exactly: OK"
Sortie attendue : OK.

Notes

  • La base URL doit inclure /v1.
  • Les références de modèles utilisent le format provider/model. Comme le provider s’appelle orcarouter et que l’ID du modèle porte aussi un préfixe vendor, la référence comporte trois segments : orcarouter/orcarouter/auto (ou orcarouter/anthropic/claude-opus-4.8 pour un modèle spécifique).
Extension VS Code : l’extension VS Code officielle d’OpenCode (sst-dev.opencode) exécute la CLI dans l’éditeur et partage le même opencode.json — il n’y a pas de réglage de point de terminaison distinct dans l’éditeur. Configurez-le une seule fois comme ci-dessus et l’extension le détecte.

Activer la réflexion / le raisonnement

Définissez reasoningEffort dans les options du modèle :
"models": {
  "anthropic/claude-sonnet-4.6": {
    "name": "Sonnet 4.6",
    "options": { "reasoningEffort": "high" }
  }
}
Activer reasoningEffort contourne aussi l’avertissement temperature ci-dessus — avec la réflexion activée, temperature = 1 est légal, donc l’erreur 400 disparaît. Pour un contrôle natif Anthropic, le provider @ai-sdk/anthropic accepte thinking: { type: "enabled", budgetTokens: N }.