OpenCode met UberLLM: een goedkopere provider in opencode.json
Voeg een "uberllm" provider toe aan ~/.config/opencode/opencode.json met npm "@ai-sdk/openai-compatible", baseURL https://api.uberllm.dev/v1 en de modellen die je wilt, geef het je UberLLM key (omgevingsvariabele of /connect), kies dan uberllm/<model id> met /models.
Stappen
- Maak een sleutel aan op je sleutels-pagina en voeg tegoed toe.
- Open (of maak aan)
~/.config/opencode/opencode.json. Alleen voor één project, gebruik in plaats daarvanopencode.jsonin de projectmap. - Voeg de provider toe:
{
"$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"
}
- Geef OpenCode de sleutel. Stel ofwel de variabele in die de configuratie leest:
export UBERLLM_API_KEY=ull_your_key
of voer /connect uit binnen OpenCode, scroll naar Overige, voer uberllm in als de provider id en plak de sleutel. De id moet exact overeenkomen met de naam in provider. Als je /connect gebruikt, kun je de apiKey regel verwijderen.
- Start
opencode, typ/modelsen kies een van de UberLLM-modellen.
Waarom de model ID twee slashes heeft
OpenCode noemt een model <provider>/<model>, en UberLLM ID's bevatten al een slash (deepseek/…). OpenCode splitst alleen op de eerste slash, dus uberllm/moonshotai/kimi-k3 betekent provider uberllm, model moonshotai/kimi-k3. De key onder models moet de UberLLM ID zijn, precies zoals deze staat op uberllm.dev/models.
Vertel OpenCode de contextgrootte
OpenCode gebruikt de contextgrootte om te weten wanneer een lange sessie moet worden gecomprimeerd. Voeg een limit toe aan elk model, met behulp van de getallen op de modelpagina:
"moonshotai/kimi-k3": {
"name": "moonshotai/kimi-k3",
"limit": { "context": 1000000, "output": 64000 }
}
De getallen hierboven zijn een voorbeeld; kopieer de echte voor het model dat je kiest.
Gebruik het juiste pakket
Houd "npm": "@ai-sdk/openai-compatible". Dat pakket roept /v1/chat/completions aan, de route waarop elk UberLLM-model wordt getest.
Probleemoplossing
ProviderModelNotFoundError: het model dat je hebt gekozen staat niet in demodelslijst, of de sleutel daar verschilt van de id in"model". Voeg het toe met de exacte UberLLM id.- 401 / no answer:
{env:UBERLLM_API_KEY}wordt leeg wanneer de variabele niet is ingesteld in de shell die OpenCode heeft gestart. Exporteer deze, of gebruik/connect. /connectkey not used: de provider id die je daar hebt ingevoerd is nietuberllm. Voeropencode auth listuit om te zien wat er is opgeslagen.- 404: controleer of
baseURLeindigt op/v1, en of het npm-pakket het openai-compatibele is. - 402 insufficient credits: voeg tegoed toe op de tegoedpagina.
Lees verder
- Referentiepagina: OpenCode doc
- Kilo Code setup (zelfde configuratieformaat)
- Claude Code op UberLLM
- Goedkoopste Claude API