
Configuration d’OpenCode pour Claude : paramètres d’opencode.json, modèles et erreurs courantes
OpenCode lit ses paramètres dans opencode.json. Pour l’utiliser avec Claude via cette passerelle, vous modifiez une valeur, celle du paramètre du fournisseur Anthropic baseURL, et lui fournissez une clé. Vous trouverez ci-dessous deux configurations fonctionnelles, les paramètres de modèle et de contexte importants, ainsi que des correctifs pour les erreurs rencontrées par les utilisateurs d’OpenCode sur cette passerelle, tirés de nos propres journaux de requêtes.
Où se trouve opencode.json
OpenCode fusionne une configuration globale avec une configuration propre à chaque projet : ~/.config/opencode/opencode.json pour les paramètres à appliquer partout, et opencode.json à la racine d’un projet pour ce dépôt. L’ajout de la ligne $schema active l’autocomplétion et la validation dans la plupart des éditeurs.
Ne mettez pas la clé dans le fichier. Placez-la dans une variable d’environnement et référencez-la sous la forme {env:AIPRIME_API_KEY}. Les clés que vous ajoutez avec /connect dans OpenCode sont stockées dans ~/.local/share/opencode/auth.json; opencode auth list affiche ce qui y est stocké.
export AIPRIME_API_KEY=your_gateway_key # add to ~/.bashrc or ~/.zshrc
opencode auth list # credentials OpenCode already knows aboutOption 1 : faire pointer le fournisseur Anthropic intégré vers la passerelle
La modification minimale : conservez le fournisseur Anthropic d’OpenCode et sa liste de modèles, et remplacez la destination de ses requêtes.
{
"$schema": "https://opencode.ai/config.json",
"provider": {
"anthropic": {
"options": {
"baseURL": "https://aiprimetech.io/v1",
"apiKey": "{env:AIPRIME_API_KEY}"
}
}
},
"model": "anthropic/claude-sonnet-5",
"small_model": "anthropic/claude-haiku-4-5"
}baseURL doit se terminer par /v1. Le fournisseur Anthropic d’OpenCode est celui du SDK AI, @ai-sdk/anthropic, dont la valeur par défaut est https://api.anthropic.com/v1 ; il ajoute /messages à ce que vous lui fournissez. Sans /v1 la requête arrive sur le site web et renvoie HTML, ce qu’OpenCode signale comme une erreur d’analyse.Option 2 : un fournisseur personnalisé avec votre propre liste de modèles
Une entrée de fournisseur distincte sépare la passerelle de toute connexion Anthropic, vous permet d’afficher exactement les modèles souhaités dans le sélecteur et de définir les limites de contexte pour chaque modèle.
{
"$schema": "https://opencode.ai/config.json",
"provider": {
"aiprime": {
"npm": "@ai-sdk/anthropic",
"name": "AI Prime Tech",
"options": {
"baseURL": "https://aiprimetech.io/v1",
"apiKey": "{env:AIPRIME_API_KEY}"
},
"models": {
"claude-sonnet-5": { "name": "Claude Sonnet 5", "limit": { "context": 200000, "output": 64000 } },
"claude-opus-5-5": { "name": "Claude Opus 5.5", "limit": { "context": 200000, "output": 64000 } },
"claude-haiku-4-5": { "name": "Claude Haiku 4.5", "limit": { "context": 200000, "output": 32000 } }
}
}
},
"model": "aiprime/claude-sonnet-5",
"small_model": "aiprime/claude-haiku-4-5"
}Privilégiez @ai-sdk/anthropic pour Claude : il utilise l’API Messages native, de sorte que la mise en cache des prompts et le raisonnement fonctionnent comme Anthropic les a conçus. La passerelle prend également en charge le format OpenAI, donc @ai-sdk/openai-compatible avec la même https://aiprimetech.io/v1 URL de base fonctionne aussi, et c’est la voie à utiliser pour les modèles GPT avec la même clé.
Modèles et limites de contexte
| Identifiant du modèle | À utiliser pour |
|---|---|
claude-sonnet-5 | Choix par défaut pour le développement et les tâches d’agents : rapide, performant, à prix intermédiaire. |
claude-opus-5-5 | Raisonnement plus difficile, refactorisations importantes, longues exécutions d’agents. |
claude-fable-5-1 | Le plus performant et le plus cher ; réservez-le aux tâches les plus difficiles. |
claude-haiku-4-5 | Économique et rapide : titres, résumés, classification, petites étapes. |
model est ce qu’utilise l’agent principal ; small_model gère les tâches annexes peu coûteuses, comme les titres de session. La limit.context valeur indique à OpenCode quand compacter la session. Si une longue session échoue avec prompt is too long, réduisez-la (200000 est une valeur sûre) pour qu’OpenCode résume plus tôt au lieu d’envoyer plus que ce que le point de terminaison accepte.
Les identifiants de modèle sont des chaînes exactes. Les anciens noms tels que claude-3-5-sonnet-20241022 ou les versions datées ne sont pas proposés ; utilisez les identifiants ci-dessus ou la liste de votre tableau de bord.
Vérifiez la clé et l’URL avant de démarrer OpenCode
Une seule requête depuis le terminal vous indique si la clé et l’URL sont correctes, indépendamment de la configuration d’OpenCode :
curl -s https://aiprimetech.io/v1/messages \
-H "x-api-key: $AIPRIME_API_KEY" \
-H "anthropic-version: 2023-06-01" \
-H "content-type: application/json" \
-d '{"model":"claude-haiku-4-5","max_tokens":20,"messages":[{"role":"user","content":"ping"}]}'Une réponse JSON contenant un content tableau signifie que tout fonctionne côté passerelle et que tout problème restant se situe dans opencode.json. Invalid API key signifie que la variable est vide ou contient la mauvaise clé.
Dépannage : les erreurs rencontrées par les utilisateurs d’OpenCode
Voici les erreurs les plus fréquentes avec OpenCode sur cette passerelle, ainsi que la solution pour chacune.
| Ce que vous voyez | Cause | Solution |
|---|---|---|
Une erreur d’analyse JSON, une réponse commençant par < | baseURL sans /v1 : la requête a atteint le site web, pas l’API | Terminez baseURL par /v1 |
404 page not found | /v1 deux fois, de sorte que le chemin devient /v1/v1/messages | Utilisez exactement https://aiprimetech.io/v1 |
Invalid API key | La variable n’est pas exportée dans le shell depuis lequel OpenCode a été lancé, ou une autre clé est utilisée | echo $AIPRIME_API_KEY, opencode auth list, redémarrez OpenCode |
| Modèle non pris en charge / modèle introuvable | Un identifiant que le point de terminaison ne propose pas, souvent un ancien nom daté | Utilisez un identifiant du tableau ci-dessus |
prompt is too long: N tokens > N tokens | La session a dépassé ce que le modèle accepte | /compact, et réduisez limit.context |
Concurrency limit exceeded for user | Les sous-agents exécutés en parallèle dépassent la limite de concurrence de votre clé | Exécutez moins de sous-agents à la fois ou demandez au support une limite de concurrence plus élevée |
Insufficient account balance | Le solde est nul | Recharger et réessayez |
No available accounts ou This request could not be completed | Problème temporaire de capacité en amont | Renvoyez le message ; changez de modèle si le problème persiste |
Pour les erreurs provenant du modèle plutôt que du client, consultez guide des erreurs de l’API Claude.
Questions fréquentes
Où se trouve le fichier de configuration d’OpenCode ?
Comment utiliser Claude dans OpenCode avec une clé API ?
Pourquoi OpenCode échoue-t-il avec une erreur d’analyse ou une réponse commençant par « < » ?
OpenCode peut-il utiliser une connexion Claude Pro ou Max ?
Obtenez une clé API — aucun compte Anthropic ni inscription sur liste d’attente requis.
Obtenir votre clé APIAI Prime Tech est une passerelle API indépendante. Elle n’est ni affiliée à Anthropic, ni approuvée par Anthropic, ni revendeuse d’Anthropic. Claude et les noms de modèles associés sont des marques de leurs propriétaires respectifs.