OpenCode avec UberLLM : un fournisseur moins cher dans opencode.json
Ajoutez un fournisseur "uberllm" à ~/.config/opencode/opencode.json avec npm "@ai-sdk/openai-compatible", baseURL https://api.uberllm.dev/v1 et les modèles que vous souhaitez, donnez-lui votre clé UberLLM (variable d'environnement ou /connect), puis choisissez uberllm/<model id> avec /models.
Étapes
- Créez une clé sur votre page des clés et ajoutez du crédit.
- Ouvrez (ou créez)
~/.config/opencode/opencode.json. Pour un seul projet, utilisezopencode.jsondans le dossier du projet à la place. - Ajoutez le fournisseur :
{
"$schema": "https://opencode.ai/config.json",
"provider": {
"uberllm": {
"npm": "@ai-sdk/openai-compatible",
"name": "UberLLM",
"options": {
"baseURL": "https://api.uberllm.dev/v1",
"apiKey": "{env:UBERLLM_API_KEY}"
},
"models": {
"moonshotai/kimi-k3": { "name": "moonshotai/kimi-k3" },
"deepseek/deepseek-v4.1-flash": { "name": "deepseek/deepseek-v4.1-flash" },
"deepseek/deepseek-v4.1-flash": { "name": "deepseek/deepseek-v4.1-flash" }
}
}
},
"model": "uberllm/moonshotai/kimi-k3",
"small_model": "uberllm/deepseek/deepseek-v4.1-flash"
}
- Donnez la clé à OpenCode. Soit en définissant la variable lue par la config :
export UBERLLM_API_KEY=ull_your_key
ou exécutez /connect dans OpenCode, faites défiler jusqu'à Other, saisissez uberllm comme id de fournisseur et collez la clé. L'id doit correspondre exactement au nom dans provider. Si vous utilisez /connect, vous pouvez supprimer la ligne apiKey.
- Démarrez
opencode, tapez/modelset choisissez l'un des modèles UberLLM.
Pourquoi l'ID du modèle a deux barres obliques
OpenCode nomme un modèle <provider>/<model>, et les ID UberLLM contiennent déjà une barre oblique (deepseek/…). OpenCode ne divise que sur la première barre oblique, donc uberllm/moonshotai/kimi-k3 signifie fournisseur uberllm, modèle moonshotai/kimi-k3. La clé sous models doit être l'ID UberLLM exactement tel qu'il est sur uberllm.dev/models.
Dites à OpenCode la taille du contexte
OpenCode utilise la taille du contexte pour savoir quand compacter une longue session. Ajoutez un limit à chaque modèle, en utilisant les chiffres de sa page de modèle :
"moonshotai/kimi-k3": {
"name": "moonshotai/kimi-k3",
"limit": { "context": 1000000, "output": 64000 }
}
Les chiffres ci-dessus sont un exemple ; copiez les vrais pour le modèle que vous choisissez.
Utilisez le bon package
Gardez "npm": "@ai-sdk/openai-compatible". Ce package appelle /v1/chat/completions, la route sur laquelle chaque modèle UberLLM est testé.
Dépannage
ProviderModelNotFoundError: le modèle que vous avez choisi ne figure pas dans la listemodels, ou la clé y diffère de l'ID dans"model". Ajoutez-le avec l'ID UberLLM exact.- 401 / no answer :
{env:UBERLLM_API_KEY}devient vide lorsque la variable n'est pas définie dans le shell qui a démarré OpenCode. Exportez-la, ou utilisez/connect. /connectkey not used : l'ID du fournisseur que vous avez saisi n'est pasuberllm. Exécutezopencode auth listpour voir ce qui est stocké.- 404 : vérifiez que
baseURLse termine par/v1, et que le package npm est celui compatible avec openai. - 402 insufficient credits : ajoutez du crédit sur la page des crédits.
Continuez à lire
- Page de référence : OpenCode doc
- Kilo Code setup (même format de configuration)
- Claude Code on UberLLM
- Cheapest Claude API