NovitàCollega qualsiasi agente a UberLLM: una chiave, tutti i modelli, a prezzo di listino o meno.
UberLLM

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

  1. Crea una chiave sulla tua pagina delle chiavi e aggiungi credito.
  2. Apri (o crea) ~/.config/opencode/opencode.json. Solo per un progetto, usa opencode.json nella cartella del progetto invece.
  3. 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"
}
  1. 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.

  1. Avvia opencode, digita /models e 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'elenco models, 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.
  • /connect chiave non utilizzata: l'ID del provider che hai digitato lì non è uberllm. Esegui opencode auth list per vedere cosa è memorizzato.
  • 404: controlla che baseURL termini con /v1, e che il pacchetto npm sia quello compatibile con openai.
  • 402 crediti insufficienti: aggiungi credito sulla pagina dei crediti.

Continua a leggere

Modelli per la codifica che funzionano bene in OpenCode

Tutti supportano le tool calls e hanno un contesto lungo. I primi due sono nella config qui sotto.

ModelloID del modello (incollalo)Prezzo attuale
Kimi K3moonshotai/kimi-k3$0.0010 input · $0.0788 output / 1M
DeepSeek V4.1 Flashdeepseek/deepseek-v4.1-flash$0.00018 input · $0.0014 output / 1M
GLM 5.3z-ai/glm-5.3$0.00070 input · $0.0141 output / 1M
Claude Sonnet 5.5anthropic/claude-sonnet-5.5$0.1062 input · $0.5310 output / 1M
Qwen 3 Coder 480bqwen/qwen3-coder$0.0030 input · $0.0099 output / 1M
GPT-5.5openai/gpt-5.5$0.1250 input · $0.7500 output / 1M
Claude Opus 5.5anthropic/claude-opus-5.5$0.1605 input · $0.8023 output / 1M
DeepSeek V4 Prodeepseek/deepseek-v4-pro$0.0022 input · $0.0044 output / 1M
MiniMax M3minimax/minimax-m3$0.0127 input · $0.0507 output / 1M

Prezzi all’ultimo aggiornamento orario, senza commissioni aggiunte · tutti i modelli →

Per lavori in background a basso costo

Ottimo come small_model (titoli, riassunti) o per semplici modifiche.

ModelloID del modello (incollalo)Prezzo attuale
DeepSeek V4.1 Flashdeepseek/deepseek-v4.1-flash$0.00018 input · $0.0014 output / 1M
GLM 5.3z-ai/glm-5.3$0.00070 input · $0.0141 output / 1M
Qwen 3 Coder 480bqwen/qwen3-coder$0.0030 input · $0.0099 output / 1M
DeepSeek V3.2deepseek/deepseek-v3.2$0.0026 input · $0.0039 output / 1M
GPT-OSS 120Bopenai/gpt-oss-120b$0.000069 input · $0.00030 output / 1M
Kimi K2 Thinkingmoonshotai/kimi-k2-thinking$0.0059 input · $0.0248 output / 1M

Prezzi all’ultimo aggiornamento orario, senza commissioni aggiunte · tutti i modelli →

Domande frequenti

Come si usa UberLLM in OpenCode?

Aggiungi un provider "uberllm" a opencode.json con npm "@ai-sdk/openai-compatible", options.baseURL https://api.uberllm.dev/v1 e la tua key, elenca gli ID dei modelli sotto models, quindi seleziona uberllm/<model id> con /models.

Gli ID dei modelli UberLLM con una barra funzionano in OpenCode?

Sì. OpenCode divide il nome del modello solo al primo slash, quindi uberllm/deepseek/deepseek-v4.1-flash è provider uberllm, modello deepseek/deepseek-v4.1-flash.