OpenCode con UberLLM: un provider più economico in opencode.json
Aggiungi un provider "uberllm" a ~/.config/opencode/opencode.json con npm "@ai-sdk/openai-compatible", baseURL https://api.uberllm.dev/v1 e i modelli che desideri, forniscigli la tua chiave UberLLM (variabile d'ambiente o /connect), quindi seleziona uberllm/<model id> con /models.
Passaggi
- Crea una chiave sulla tua pagina delle chiavi e aggiungi credito.
- Apri (o crea)
~/.config/opencode/opencode.json. Solo per un progetto, usaopencode.jsonnella cartella del progetto invece. - Aggiungi il provider:
{
"$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"
}
- Dai la chiave a OpenCode. Imposta la variabile che la config legge:
export UBERLLM_API_KEY=ull_your_key
o esegui /connect all'interno di OpenCode, scorri fino a Altro, inserisci uberllm come provider id e incolla la chiave. L'id deve corrispondere esattamente al nome in provider. Se usi /connect, puoi eliminare la riga apiKey.
- Avvia
opencode, digita/modelse scegli uno dei modelli UberLLM.
Perché l'ID del modello ha due slash
OpenCode chiama un modello <provider>/<model>, e gli ID di UberLLM contengono già uno slash (deepseek/…). OpenCode divide solo al primo slash, quindi uberllm/moonshotai/kimi-k3 significa provider uberllm, modello moonshotai/kimi-k3. La chiave sotto models deve essere l'ID di UberLLM esattamente come si trova su uberllm.dev/models.
Indica a OpenCode la dimensione del contesto
OpenCode usa la dimensione del contesto per sapere quando comprimere una sessione lunga. Aggiungi un limit a ogni modello, usando i numeri sulla sua pagina del modello:
"moonshotai/kimi-k3": {
"name": "moonshotai/kimi-k3",
"limit": { "context": 1000000, "output": 64000 }
}
I numeri sopra sono un esempio; copia quelli reali per il modello che scegli.
Usa il pacchetto giusto
Mantieni "npm": "@ai-sdk/openai-compatible". Quel pacchetto chiama /v1/chat/completions, la rotta su cui ogni modello UberLLM viene testato.
Risoluzione dei problemi
ProviderModelNotFoundError: il modello che hai scelto non è nell'elencomodels, o la chiave lì differisce dall'ID in"model". Aggiungilo con l'ID UberLLM esatto.- 401 / nessuna risposta:
{env:UBERLLM_API_KEY}diventa vuoto quando la variabile non è impostata nella shell che ha avviato OpenCode. Esportala, o usa/connect. /connectchiave non utilizzata: l'ID del provider che hai digitato lì non èuberllm. Eseguiopencode auth listper vedere cosa è memorizzato.- 404: controlla che
baseURLtermini con/v1, e che il pacchetto npm sia quello compatibile con openai. - 402 crediti insufficienti: aggiungi credito sulla pagina dei crediti.
Continua a leggere
- Pagina di riferimento: Documentazione OpenCode
- Configurazione Kilo Code (stesso formato di configurazione)
- Codice Claude su UberLLM
- API Claude più economiche