OpenCode
Configurez OpenCode avec GetVibe API via ~/.config/opencode/opencode.json : un fournisseur compatible avec OpenAI dont le baseURL est getvibeapi.com/v1.
OpenCode est un package npm pour le développement assisté par des agents dans le terminal. Les fournisseurs sont configurés dans ~/.config/opencode/opencode.json.
Configuration prête à l’emploi avec tous les modèles
OpenCode ne lit pas les tailles de contexte depuis /v1/models : un modèle que vous ajoutez manuellement affiche un contexte de 0 et l’historique n’est pas compacté à temps. Au lieu de saisir les nombres, téléchargez la configuration générée : elle est construite à partir de notre catalogue, qui contient chaque modèle publié avec son nom, son contexte, sa limite de sortie et ses indicateurs image / raisonnement / outils. Elle ne contient aucune clé, uniquement la référence {env:GETVIBE_API_KEY}.
# macOS / Linux — a fresh config with every model and its context
mkdir -p ~/.config/opencode
curl -fsSL https://getvibeapi.com/api/integrations/opencode.json -o ~/.config/opencode/opencode.json# Windows PowerShell
New-Item -ItemType Directory -Force "$HOME\.config\opencode" | Out-Null
Invoke-WebRequest https://getvibeapi.com/api/integrations/opencode.json -OutFile "$HOME\.config\opencode\opencode.json"Si votre opencode.json est déjà personnalisé, ne l’écrasez pas : remplacez uniquement le bloc du fournisseur et conservez le reste :
# Already have an opencode.json — replace only the provider block (needs jq)
cd ~/.config/opencode && cp opencode.json opencode.json.bak
curl -fsSL https://getvibeapi.com/api/integrations/opencode.json -o provider.json
jq --slurpfile pv provider.json '.provider = ((.provider // {}) + $pv[0].provider)' opencode.json.bak > opencode.json# Only the models you need (comma-separated IDs); ?variants=1 adds pinned channels too
curl -fsSL "https://getvibeapi.com/api/integrations/opencode.json?models=claude-opus-5.5,openai/gpt-6.1-sol"opencode.json manuellement
{
"$schema": "https://opencode.ai/config.json",
"provider": {
"getvibe": {
"npm": "@ai-sdk/openai-compatible",
"name": "GetVibe",
"options": {
"baseURL": "https://getvibeapi.com/v1",
"apiKey": "{env:GETVIBE_API_KEY}"
},
"models": {
"gpt-6.1-sol": {
"name": "GPT-6.1 Sol",
"attachment": true,
"modalities": {
"input": [
"text",
"image"
],
"output": [
"text"
]
}
},
"claude-opus-5.5": {
"name": "Claude Opus 5.5",
"attachment": true,
"modalities": {
"input": [
"text",
"image"
],
"output": [
"text"
]
}
},
"deepseek-v4.1-flash": {
"name": "DeepSeek V4.1 Flash",
"attachment": true,
"modalities": {
"input": [
"text",
"image"
],
"output": [
"text"
]
}
},
"kimi-k3.1-pro": {
"name": "Kimi K3.1 Pro",
"attachment": false,
"modalities": {
"input": [
"text"
],
"output": [
"text"
]
}
}
}
}
},
"model": "getvibe/gpt-6.1-sol"
}Définissez GETVIBE_API_KEY avant de lancer OpenCode et lancez-le depuis la même fenêtre : export GETVIBE_API_KEY="sk-pv-…" (macOS/Linux) ou setx GETVIBE_API_KEY "sk-pv-…" puis une nouvelle fenêtre PowerShell (Windows). Sans cette variable, OpenCode envoie une clé vide et reçoit une erreur 401 « invalid API key ». Vous préférez ne pas utiliser de variable ? Placez la clé elle-même à la place de {env:GETVIBE_API_KEY} dans le champ apiKey.
models, ne répertoriez que les ID de modèles publics dont vous avez besoin. La liste complète se trouve dans le catalogue. Pour un usage normal, indiquez le nom seul, sans :suffix : un suffixe épingle un canal et désactive le basculement automatique vers un canal opérationnel."attachment": true. OpenCode récupère les capacités des modèles depuis le registre models.dev, qui ne répertorie pas GetVibe ; un modèle déclaré avec un {} vide est donc considéré comme n’acceptant aucune pièce jointe et OpenCode envoie la requête sans l’image. Le modèle indique alors honnêtement qu’il ne peut pas en voir, même s’il prend en charge la vision. Ajoutez attachment et modalities pour chaque modèle que le catalogue indique comme acceptant les entrées image. Nous avons également vérifié les autres intégrations publiées : Cline, Cursor, Roo Code, Kilo Code, Aider et Continue ne disposent d’aucune carte distincte des capacités des modèles dans leurs exemples ; ce paramètre propre à OpenCode n’est donc pas absent de ces configurations.