Vai al contenuto principale
OpenCode (GitHub) è un agente di coding IA open source da terminale che funziona con molti provider.
Protocollo: compatibile con OpenAI
  • Base URL: https://api.orcarouter.ai/v1 (include /v1)
I modelli Claude con reasoning sul protocollo OpenAI rifiutano temperature != 1 (400 temperature may only be set to 1 when thinking is enabled). Usa un modello senza reasoning, oppure abilita reasoningEffort — vedi Abilitare thinking.

Installazione

npm install -g opencode-ai

Configurazione

File di configurazione: ~/.config/opencode/opencode.json.
{
  "$schema": "https://opencode.ai/config.json",
  "provider": {
    "orcarouter": {
      "npm": "@ai-sdk/openai-compatible",
      "name": "OrcaRouter",
      "options": { "baseURL": "https://api.orcarouter.ai/v1", "apiKey": "sk-orca-..." },
      "models": { "orcarouter/auto": { "name": "OrcaRouter Auto" } }
    }
  },
  "model": "orcarouter/orcarouter/auto"
}
Sostituisci con un modello specifico se preferisci, ad es. google/gemini-2.5-flash o anthropic/claude-opus-4.8. Gli ID dei modelli usano sempre il formato vendor/model.

Esecuzione

opencode run "Reply with exactly: OK"
Output atteso: OK.

Note

  • Il base URL deve includere /v1.
  • I riferimenti ai modelli usano il formato provider/model. Poiché il provider è chiamato orcarouter e l’ID del modello porta anch’esso un prefisso vendor, il riferimento è composto da tre segmenti: orcarouter/orcarouter/auto (oppure orcarouter/anthropic/claude-opus-4.8 per un modello specifico).
Estensione per VS Code: l’estensione ufficiale di OpenCode per VS Code (sst-dev.opencode) esegue la CLI all’interno dell’editor e condivide lo stesso opencode.json — non c’è un’impostazione dell’endpoint separata nell’editor. Configurala una volta come sopra e l’estensione la rileverà.

Abilitare thinking / reasoning

Imposta reasoningEffort nelle options del modello:
"models": {
  "anthropic/claude-sonnet-4.6": {
    "name": "Sonnet 4.6",
    "options": { "reasoningEffort": "high" }
  }
}
Abilitare reasoningEffort aggira anche l’avviso su temperature sopra — con il thinking abilitato, temperature = 1 è valido, quindi il 400 sparisce. Per il controllo nativo Anthropic, il provider @ai-sdk/anthropic accetta thinking: { type: "enabled", budgetTokens: N }.