Home → Guide → OpenCode con un'API personalizzata: configurazione, Claude, small_model e costi reali

OpenCode con un'API personalizzata: configurazione, Claude, small_model e costi reali

OpenCode legge i provider da opencode.json, quindi la configurazione è un solo file. A sorprenderci è stato il conto: chiedere una sola parola ha generato due richieste e oltre 12.000 token di input. Abbiamo eseguito OpenCode 1.19.0 sul nostro gateway con tre modelli per mostrare dove finiscono i token e come ridurli.

Il file di configurazione

Metti questo in ~/.config/opencode/opencode.json (oppure in opencode.json nel progetto):

{
  "$schema": "https://opencode.ai/config.json",
  "provider": {
    "apiclan": {
      "npm": "@ai-sdk/openai-compatible",
      "name": "APICLAN",
      "options": {
        "baseURL": "https://apiclan.us/v1",
        "apiKey": "{env:APICLAN_GPT_KEY}"
      },
      "models": {
        "gpt-6-astra": {},
        "gpt-6.1-sol": {}
      }
    }
  }
}
  1. Crea una chiave nella console e impostala come variabile d'ambiente, per esempio APICLAN_GPT_KEY.
  2. In models elenca solo i modelli del gruppo di quella chiave. Ogni chiave appartiene a un solo gruppo, quindi GPT, DeepSeek e Claude hanno bisogno ciascuno della propria voce provider e della propria chiave.
  3. Avvia opencode, digita /models e scegli APICLAN → gpt-6-astra. Negli script: opencode run -m apiclan/gpt-6-astra "...".
baseURLRisultato
https://apiclan.us/v1✓
https://apiclan.us✗ 404 Not Found

@ai-sdk/openai-compatible aggiunge a baseURL solo /chat/completions, quindi il /v1 deve esserci già. Senza, OpenCode si ferma con un semplice Not Found.

Aggiungere Claude

Aggiungi un secondo provider dentro provider, con il pacchetto Anthropic e una chiave di un gruppo Claude:

"claude": {
  "npm": "@ai-sdk/anthropic",
  "name": "APICLAN Claude",
  "options": {
    "baseURL": "https://apiclan.us/v1",
    "apiKey": "{env:APICLAN_CLAUDE_KEY}"
  },
  "models": { "claude-fable-5-1": {} }
}

Anche qui baseURL deve finire con /v1: il pacchetto Anthropic aggiunge solo /messages, e https://apiclan.us da solo ha restituito 404 nel nostro test. È l'opposto di Claude Code, il cui ANTHROPIC_BASE_URL non deve contenere /v1.

Quanto costa una risposta breve

Abbiamo chiesto a OpenCode «Reply with just OK» in un progetto vuoto. Ogni modello ha fatto due richieste: una per dare un titolo alla sessione e quella vera, che porta il prompt di sistema e le definizioni degli strumenti di OpenCode.

ModelloRichiesteToken di input (titolo + risposta)Tempo totaleCosto
gpt-6-astra24,640 + 7,67820.5 s$0.050
deepseek-v4-pro2528 + 5,70834.1 s$0.005
deepseek-v4.1-flash2529 + 3,02721.8 s$0.0006

OpenCode invia ai modelli GPT un prompt di sistema molto più lungo (circa 7.700 token) che a DeepSeek (circa 3.000), e la sola richiesta del titolo ha usato 4.640 token su GPT. Ecco perché lo stesso «OK» è costato circa 77 volte di più su gpt-6-astra che su deepseek-v4.1-flash. Test del 12 ottobre 2026 con OpenCode 1.19.0; costi come fatturati dal nostro gateway.

Ridurre il sovraccosto con small_model

OpenCode usa small_model per i compiti secondari come i titoli delle sessioni. Puntalo su un modello economico in un provider dedicato:

"small_model": "apiclan-ds/deepseek-v4.1-flash",
"provider": {
  "apiclan": { ... },
  "apiclan-ds": {
    "npm": "@ai-sdk/openai-compatible",
    "options": {
      "baseURL": "https://apiclan.us/v1",
      "apiKey": "{env:APICLAN_DS_KEY}"
    },
    "models": { "deepseek-v4.1-flash": {} }
  }
}

Con gpt-6-astra come modello principale, la richiesta del titolo è scesa da 0,0187 $ a 0,00003 $ e l'intero scambio di una parola da 0,050 $ a 0,031 $: il 38% in meno a ogni nuova sessione, senza cambiare le risposte.

Un piccolo compito di codice

Stesso compito per ogni modello: scrivere fizzbuzz.py e i relativi test pytest, senza eseguire comandi. Poi abbiamo confrontato ogni funzione con l'output corretto da 1 a 30.

ModelloRichiesteTempo totaleCostoCorrettoAsserzioni di test
gpt-6-astra340 s$0.069✓2
deepseek-v4-pro361 s$0.008✓7
deepseek-v4.1-flash325 s$0.0011✓7

Tutti e tre hanno scritto codice corretto in tre richieste. deepseek-v4.1-flash è stato il più veloce e costava circa 1/60 di gpt-6-astra; entrambi i modelli DeepSeek hanno anche scritto test più completi. deepseek-v4-pro è stato il più lento perché ragiona prima di ogni passo. Il tempo totale include qualche secondo di avvio di OpenCode stesso.

Errori comuni

Altri strumenti di codice: Cline con un'API personalizzata · Codex con un'API personalizzata.

Inizia a usarlo

Nessun abbonamento, nessun minimo mensile, nessuna telefonata commerciale. Ricarica in USDT e spendi quello che usi — 1 USDT ti dà 2 crediti di saldo API.

Leggi l'avvio rapido da 30 secondi

Lingua: English · 简体中文 · 繁體中文 · 日本語 · 한국어 · Deutsch · Français · Español · Türkçe · Português · Italiano · Bahasa Indonesia · Tiếng Việt · Bahasa Melayu · Polski · Čeština · فارسی · Русский

I prezzi di questa pagina sono compilati automaticamente dai dati di fatturazione reali. Le condizioni di terzi sono citate dalla loro documentazione.