OpenCode con APIMaster.ai
Aggiungi APIMaster come provider compatibile con OpenAI in OpenCode Desktop, con livelli di Reasoning opzionali tramite opencode.jsonc.
OpenCode Desktop è il client grafico per OpenCode (attualmente in beta): sessioni agente locali, modifiche ai file ed esecuzione di comandi shell. APIMaster.ai è compatibile con OpenAI — aggiungilo in Impostazioni → Providers → Provider personalizzato.
Ottieni la tua chiave API. Usa il segnaposto
your_apimaster_keydi seguito; gli screenshot nascondono le chiavi reali.
Prerequisiti
- OpenCode Desktop installato da opencode.ai/download.
- Windows:
opencode-desktop-win-x64.exe - macOS:
brew install --cask opencode-desktopo.dmg - Linux:
.deb/.rpm/ AppImage
- Windows:
- Chiave API APIMaster dalla console.
Passo 1 — Apri Provider
- Avvia OpenCode Desktop e apri un workspace.
- Clicca sull'icona a forma di ingranaggio (in basso a sinistra).
- Seleziona Providers nella barra laterale.
- Scorri fino a Provider personalizzato (Aggiungi un provider compatibile con OpenAI tramite URL base).
- Clicca su + Connetti.

Passo 2 — Modulo provider personalizzato
| Campo | Valore |
|---|---|
| ID provider | apimaster |
| Nome visualizzato | APIMaster.ai |
| URL base | https://apimaster.ai/v1 |
| Chiave API | La tua chiave APIMaster |

Lascia vuoto Headers a meno che non autentichi solo tramite header.
Passo 3 — Aggiungi modelli e Invia
Nella schermata successiva, mappa i modelli (sinistra = etichetta in OpenCode, destra = id modello inviato ad APIMaster — di solito uguali):
| Sinistra | Destra |
|---|---|
gpt-5.4 |
gpt-5.4 |
claude-sonnet-4-6 |
claude-sonnet-4-6 |
- Clicca su + Aggiungi modello per più righe.
- Clicca su Invia.

Scegli gli id dal marketplace. Evita modelli solo immagine (es. gpt-image-2) per la chat agente.
Passo 4 — Scegli un modello
- Avvia o apri una sessione.
- Apri il menu a discesa dei modelli sotto l'input.
- Sotto APIMaster.ai, seleziona un modello (es.
claude-sonnet-4-6).

Passo 5 — Test
Invia hello o un piccolo compito di coding. Una normale risposta dell'Assistente (modifiche file / shell) significa che APIMaster è connesso.

Avanzato: opencode.jsonc e Reasoning
Il flusso dell'interfaccia sopra è sufficiente per un avvio rapido. Per configurare i livelli di Reasoning / thinking effort (low, high, max, …) per lo stesso id modello, modifica opencode.jsonc.
Posizione del file di configurazione
| SO | Percorso |
|---|---|
| macOS / Linux | ~/.config/opencode/opencode.jsonc |
| Windows | C:\Users\<nomeutente>\.config\opencode\opencode.jsonc |
Crea il file se mancante. Riavvia OpenCode Desktop o avvia una nuova sessione dopo aver salvato.
Chiave API (non inserirla in jsonc)
Non memorizzare la tua chiave API in opencode.jsonc.
Usa:
/connectnel terminale, oppure- Impostazioni → Providers → Connetti Provider (stessi Passi 1–2 sopra).
Tieni i segreti nel vault di autenticazione di OpenCode; jsonc definisce solo provider, modelli e varianti Reasoning.
Provider APIMaster in jsonc
ID provider: apimaster. Pacchetto npm: @ai-sdk/openai-compatible.
baseURL deve essere:
https://apimaster.ai/v1
Non https://apimaster.ai/ — OpenCode aggiunge /chat/completions. Senza /v1 ottieni https://apimaster.ai/chat/completions → 404 Non Trovato.
Esempio completo con varianti Reasoning — scarica e sovrascrivi la configurazione di OpenCode:
- Scarica opencode.jsonc
- Sovrascrivi (o salva come):
- macOS / Linux:
~/.config/opencode/opencode.jsonc - Windows:
C:\Users\<nomeutente>\.config\opencode\opencode.jsonc
- macOS / Linux:
- Configura la chiave API tramite
/connecto interfaccia (mai in jsonc). - Riavvia OpenCode Desktop o avvia una nuova sessione.
Esegui il backup del file esistente prima di sovrascrivere, oppure unisci solo il blocco
provider.apimaster.
Struttura minima:
{
"$schema": "https://opencode.ai/config.json",
"provider": {
"apimaster": {
"name": "APIMaster.ai",
"npm": "@ai-sdk/openai-compatible",
"options": { "baseURL": "https://apimaster.ai/v1" },
"models": {
"gpt-5.4": {
"name": "gpt-5.4",
"variants": {
"low": { "reasoningEffort": "low" },
"high": { "reasoningEffort": "high" }
}
}
}
}
}
}
Principi di Reasoning
variants= più livelli di Reasoning per un id modello nell'interfaccia.- Per API compatibili con OpenAI, OpenCode mappa
reasoningEffort→reasoning_effortnel corpo della richiesta. - I nomi delle varianti devono corrispondere al parametro reale (
high→"reasoningEffort": "high"). - Ogni modello supporta livelli diversi — configura secondo la documentazione ufficiale; nessun rimappaggio nascosto.
Livelli di Reasoning per modello
| Modello | Varianti Reasoning | Note |
|---|---|---|
gpt-5.4 |
low, medium, high, xhigh |
Reasoning GPT |
gpt-5.5 |
low, medium, high, xhigh |
Reasoning GPT |
deepseek-v4-flash |
high, max |
Pensiero DeepSeek (consigliato) |
deepseek-v4-pro |
high, max |
Pensiero DeepSeek (consigliato) |
claude-sonnet-4-6 |
low, medium, high, max |
Sforzo Claude Sonnet |
claude-opus-4-7 |
low, medium, high, xhigh, max |
Sforzo Claude Opus |
claude-opus-4-8 |
low, medium, high, xhigh, max |
Sforzo Claude Opus |
claude-haiku-4-5 |
nessuno | Nessun livello di sforzo confermato |
minimax-m3 |
nessuno | Nessun livello di sforzo confermato |
Vedi opencode.jsonc per il file completo.
Cambiare Reasoning in OpenCode
- Salva
opencode.jsonc, poi riavvia o nuova sessione. - Usa il menu a discesa del modello / Reasoning (es.
gpt-5.4 / high). - Se supportato nella tua build:
Ctrl + Maiusc + Dcicla i livelli di Reasoning.
Risoluzione dei problemi
Configurazione interfaccia
| Problema | Soluzione |
|---|---|
| 401 | Controlla la chiave; ruotala se esposta |
| Modello non trovato | L'URL base deve essere https://apimaster.ai/v1; l'id modello deve corrispondere al marketplace |
| Nessun modello APIMaster | Modifica il provider in Impostazioni → aggiungi mappature → Invia |
| Lento / timeout | Prova un altro modello; usa API Key Tester |
Reasoning / jsonc
Perché solo high e max per DeepSeek?
Lo sforzo di pensiero ufficiale compatibile con OpenAI per DeepSeek è high e max. Evita low / medium / xhigh che vengono rimappati in modo imprevedibile.
Perché max per Claude Sonnet e non xhigh?
Il livello massimo di Sonnet è max; xhigh è per Opus (claude-opus-4-7 / claude-opus-4-8).
Perché nessuna variante per Haiku o MiniMax M3?
Senza valori documentati di reasoningEffort, salta le varianti — il modello funziona comunque; l'interfaccia semplicemente non mostrerà sottolivelli di Reasoning.
Ricevi ancora errore 400?
baseURL=https://apimaster.ai/v1(non root del sito).- L'ortografia dell'id modello corrisponde al marketplace.
- Chiave configurata tramite
/connecto interfaccia. - Rimuovi temporaneamente le
variants— se le richieste semplici funzionano, ilreasoning_effortscelto potrebbe non essere supportato per quel modello.
Sicurezza
- Non condividere mai chiavi in chat o screenshot non oscurati.
- Ruota le chiavi che sono apparse in screenshot o log.
- OpenCode può leggere/scrivere file ed eseguire comandi shell — usa solo workspace fidati.
Checklist
- OpenCode Desktop installato
- Provider personalizzato connesso oppure
apimasterinopencode.jsonc - URL base /
baseURL=https://apimaster.ai/v1(nonhttps://apimaster.ai/) - Chiave API tramite
/connecto interfaccia (non in jsonc) - Almeno un modello chat mappato
- (Opzionale) Varianti Reasoning corrispondenti ai livelli ufficiali
- Messaggio di test completato con successo
Riepilogo
- Chiavi:
baseURL(https://apimaster.ai/v1), id modello, chiave API (/connecto interfaccia), varianti Reasoning opzionali. - Nomi delle varianti = valori effettivi di
reasoning_effort. - Configura i livelli per modello; salta le varianti quando non supportate (Haiku, MiniMax M3).