OneProvider

OpenCode

Pointez le fournisseur Anthropic d’OpenCode vers OneProvider avec la même clé et, si besoin, routez aussi les modèles gpt-*. Exemple de config.

OpenCode achemine les modèles Anthropic et OpenAI via des fournisseurs enfichables. Pointez le bloc anthropic vers OneProvider, et c’est terminé.

Tous les modèles, leurs capacités et leurs tarifs Index de la documentation pour les agents IA : https://oneprovider.dev/docs/llms.txt Avant de commencer : une clé de votre espace client Ouvrez votre espace client : le bot Telegram @oneprovider_robot (« Mon espace ») ou app.oneprovider.dev . Appuyez sur « Créer une clé », donnez-lui un nom (par exemple, ce client) et une limite de dépense, puis copiez la clé. Vous rechargez le solde au même endroit. En savoir plus sur l’espace client et les clés .

Configuration

Chemin de la configuration : ~/.config/opencode/opencode.json (ou opencode.jsonc). Créez le fichier s’il n’existe pas.

json
{
"provider": {
"anthropic": {
"options": {
"baseURL": "https://api.oneprovider.dev/v1",
"apiKey": "sk-your-key-here"
},
"npm": "@ai-sdk/anthropic"
}
},
"$schema": "https://opencode.ai/config.json"
}

La clé API peut être indiquée directement (comme ci-dessus) ou tenue hors du fichier : la commande /connect dans OpenCode (ou opencode auth login dans un terminal) l’enregistre séparément (en 1.x, dans ~/.local/share/opencode/auth.json), et la configuration ne garde que baseURL.

Des méthodes plus simples

  • Par projet. Placez le même JSON dans opencode.json à la racine du projet : il ne s’applique que là et est fusionné par-dessus le fichier global.
  • Clé depuis une variable d’environnement. Écrivez "apiKey": "{env:ONEPROVIDER_KEY}" et exécutez export ONEPROVIDER_KEY=sk-your-key-here. Le fichier ne contient aucun secret et peut être commité. Si la variable n’est pas définie, une chaîne vide est utilisée à la place.

Machine distante, CI, conteneur

Inutile de copier ~/.config via SSH. Gardez opencode.json avec {env:ONEPROVIDER_KEY} dans le dépôt et définissez ONEPROVIDER_KEY sur cette machine (un secret de CI, docker run -e, export). Avec OpenCode 1.x, vous pouvez aussi passer toute la configuration dans une seule variable, OPENCODE_CONFIG_CONTENT : du JSON en ligne, appliqué après tous les fichiers de configuration, sans rien écrire sur le disque. OPENCODE_CONFIG=/path/to/config.json désigne un fichier de configuration situé ailleurs.

bash
export OPENCODE_CONFIG_CONTENT='{"provider":{"anthropic":{"npm":"@ai-sdk/anthropic","options":{"baseURL":"https://api.oneprovider.dev/v1","apiKey":"sk-your-key-here"}}}}'
opencode

OpenCode 1.x et OpenCode 2

Vérifiez votre version avec opencode --version : le numéro commence par 1 ( OpenCode 1.x , ce que l’installateur fournit par défaut) ou par 2 ( OpenCode 2 ). La configuration de cette page est au format 1.x (provider, npm, options), et OpenCode 2 la lit telle quelle aux mêmes emplacements. Le format natif 2 est facultatif ; il écrit les mêmes paramètres avec providers, package, settings :

json
{
"providers": {
"anthropic": {
"package": "aisdk:@ai-sdk/anthropic",
"settings": { "baseURL": "https://api.oneprovider.dev/v1", "apiKey": "sk-your-key-here" }
},
"openai": {
"package": "aisdk:@ai-sdk/openai",
"settings": { "baseURL": "https://api.oneprovider.dev/v1", "apiKey": "sk-your-key-here" }
}
}
}

Ne faites pas pointer OpenCode 1.x vers un fichier réécrit au format 2 : les deux versions lisent les mêmes fichiers. OPENCODE_CONFIG et OPENCODE_CONFIG_CONTENT sont documentés pour 1.x ; sous OpenCode 2, utilisez opencode.json dans le projet et la variable ONEPROVIDER_KEY pour une machine distante.

Acheminer aussi les modèles gpt-*

La même clé fonctionne aussi pour les modèles GPT — ajoutez un second bloc de fournisseur. Les deux se trouvent dans le même fichier ; choisissez un modèle sous la forme provider/model-id.

json
{
"provider": {
"anthropic": { "options": { "baseURL": "https://api.oneprovider.dev/v1", "apiKey": "sk-your-key-here" }, "npm": "@ai-sdk/anthropic" },
"openai": { "options": { "baseURL": "https://api.oneprovider.dev/v1", "apiKey": "sk-your-key-here" }, "npm": "@ai-sdk/openai" }
}
}
Modèle par défaut Après l’enregistrement, exécutez /models dans OpenCode pour définir un modèle par défaut — claude-sonnet-5-5 pour Anthropic, gpt-6.1-terra pour OpenAI.

Quel modèle choisir

Utilisez anthropic/claude-sonnet-5-5 comme modèle du quotidien : prix et qualité équilibrés. Passez à anthropic/claude-opus-5-5 pour le travail d’architecture et les gros refactorings, et utilisez anthropic/claude-haiku-5-5 là où la vitesse compte plus que la profondeur. Pour les modèles GPT, utilisez le bloc openai : openai/gpt-6.1-terra est le choix équilibré par défaut, openai/gpt-6.1-sol le niveau frontière. Ouvrez /models pour en choisir un ; un modèle bon marché convient aussi au paramètre small_model d’OpenCode, pour les titres et les tâches courtes. Les ID sont sur la page des modèles , les tarifs sur la page des tarifs .

Erreurs courantes et solutions

404 « The requested API endpoint does not exist »

Dans OpenCode, le fournisseur @ai-sdk/anthropic attend baseURL avec /v1 : https://api.oneprovider.dev/v1. N’ajoutez pas /messages vous-même, et n’utilisez pas ici l’hôte seul.

401 Invalid API key

La clé de la configuration est tronquée ou entourée de guillemets. Vous pouvez aussi exécuter /connect et l’y coller (OpenCode 1.x la garde dans ~/.local/share/opencode/auth.json) ; supprimez ensuite apiKey de la configuration.

La configuration ne se charge pas

Les guillemets « intelligents » venus d’une messagerie ou de Notion cassent le JSON. Vérifiez le fichier avec jq . ~/.config/opencode/opencode.json, ou utilisez opencode.jsonc si vous voulez des commentaires.

Le modèle n’est pas dans la liste

Choisissez-le exactement sous la forme provider/model-id, par exemple anthropic/claude-sonnet-5-5, et assurez-vous que le bloc de fournisseur correspondant existe dans le fichier.

429 « Insufficient balance »

Le solde est épuisé ou la limite de dépense de la clé est atteinte. Rechargez le solde de l’espace client ; réessayer ne sert à rien.

Les flux sont coupés

Désactivez les proxys VPN ou VLESS : ils mettent le SSE en tampon et cassent HTTP/2.

FAQ

Où se trouve le fichier de configuration ?

~/.config/opencode/opencode.json (ou opencode.jsonc). Un projet peut aussi avoir son propre opencode.json.

Comment garder la clé hors du fichier ?

OpenCode substitue les variables d’environnement : écrivez "apiKey": "{env:ONEPROVIDER_KEY}" et exportez la variable dans votre shell.

Comment l’utiliser sur une machine distante ou en CI ?

Sans copier de fichiers via SSH : gardez opencode.json avec {env:ONEPROVIDER_KEY} dans le dépôt et définissez ONEPROVIDER_KEY sur cette machine, ou (OpenCode 1.x) passez toute la configuration dans la variable OPENCODE_CONFIG_CONTENT. Voir « Machine distante, CI, conteneur » ci-dessus.

Puis-je utiliser à la fois Claude et GPT ?

Oui. Ajoutez le bloc openai de cette page à côté du bloc anthropic ; une seule clé fonctionne pour les deux.

Ai-je besoin d’un compte Claude ou OpenAI ?

Non, la clé OneProvider est le seul identifiant.

Réponses rapides

Quelle base URL utiliser ?

Claude Code et les SDK Anthropic utilisent https://api.oneprovider.dev. Les SDK OpenAI et les clients compatibles OpenAI utilisent https://api.oneprovider.dev/v1. Une seule clé fonctionne avec les deux ; la liste des modèles est sur la page des modèles , les tarifs sur la page des tarifs .

Comment s’authentifier ?

Envoyez la clé sk-… telle quelle dans x-api-key ou Authorization: Bearer : l’un des deux, jamais les deux. Conservez la clé dans une variable d’environnement, pas dans un fichier qui sera commité. En savoir plus sur l’authentification .

Où obtenir une clé ?

Ouvrez votre espace client dans le bot Telegram @oneprovider_robot ou sur app.oneprovider.dev, rechargez le solde et appuyez sur « Créer une clé ». Chaque clé peut avoir sa propre limite de dépense. Espace client et clés API .

Que signifient 401, 404 et 429 ?

401 : la clé est absente, mal saisie ou envoyée dans le mauvais en-tête ; collez la clé entière, sans guillemets ni espaces. 404 : le plus souvent une base URL incorrecte, par exemple un /v1 manquant ou en double. 429 avec « Insufficient balance » : le solde de l’espace client est à zéro ou la clé a atteint sa limite de dépense, donc rechargez au lieu de réessayer ; tout autre 429 est une limite de débit, donc attendez le délai indiqué par Retry-After. Détails : codes d’erreur et dépannage .

Pourquoi les flux se coupent-ils ou se réinitialisent-ils ?

Les VPN et les proxys VLESS mettent souvent le SSE en mémoire tampon ou perturbent la négociation HTTP/2. OneProvider n’a aucune restriction régionale et ne met pas les flux en mémoire tampon : désactivez le proxy et réessayez.

Où demander de l’aide si cela ne suffit pas ?

Écrivez à @Oneproviderhelpbot sur Telegram ou ouvrez « Support » dans l’espace client web, en indiquant le code de statut HTTP et le message d’erreur exact. Comment fonctionne le support .

Dernière mise à jour: 2026-11-08 Vous avez trouvé un bug ? @Oneproviderhelpbot