OpenCode
Punta il provider Anthropic di OpenCode su OneProvider con la stessa chiave e, volendo, instrada anche i modelli gpt-*. Esempio di configurazione.
OpenCode instrada i modelli Anthropic e OpenAI tramite provider collegabili. Punta il blocco anthropic su OneProvider e hai finito.
Tutti i modelli, le funzionalità e i prezzi Indice della documentazione per agenti AI:https://oneprovider.dev/docs/llms.txt Prima di iniziare: una chiave dalla tua area personale Apri la tua area personale: nel bot Telegram @oneprovider_robot («Area personale») oppure su app.oneprovider.dev . Premi «Emetti una chiave», dalle un nome (per esempio, questo client) e un limite di spesa, poi copia la chiave. Il saldo si ricarica nello stesso posto. Altro sull'area personale e sulle chiavi . Configurazione
Percorso della configurazione: ~/.config/opencode/opencode.json (oppure opencode.jsonc). Crea il file se non esiste.
{
"provider": {
"anthropic": {
"options": {
"baseURL": "https://api.oneprovider.dev/v1",
"apiKey": "sk-your-key-here"
},
"npm": "@ai-sdk/anthropic"
}
},
"$schema": "https://opencode.ai/config.json"
} La chiave API si può scrivere direttamente nel file (come sopra) oppure tenerla fuori: il comando /connect dentro OpenCode (o opencode auth login in un terminale) la salva a parte (in 1.x è ~/.local/share/opencode/auth.json) e la configurazione conserva solo baseURL.
Modi più semplici
- Per progetto. Metti lo stesso JSON in
opencode.jsonnella radice del progetto: vale solo lì e viene unito sopra al file globale. - Chiave da una variabile d'ambiente. Scrivi
"apiKey": "{env:ONEPROVIDER_KEY}"ed eseguiexport ONEPROVIDER_KEY=sk-your-key-here. Il file non contiene segreti e si può committare. Se la variabile non è impostata, viene sostituita da una stringa vuota.
Macchina remota, CI, container
Non serve copiare ~/.config via SSH. Tieni nel repository opencode.json con {env:ONEPROVIDER_KEY} e imposta ONEPROVIDER_KEY su quella macchina (un segreto della CI, docker run -e, export). In OpenCode 1.x puoi anche passare l'intera configurazione in un'unica variabile, OPENCODE_CONFIG_CONTENT: JSON inline, applicato dopo tutti i file di configurazione, senza scrivere nulla su disco. OPENCODE_CONFIG=/path/to/config.json indica un file di configurazione altrove.
export OPENCODE_CONFIG_CONTENT='{"provider":{"anthropic":{"npm":"@ai-sdk/anthropic","options":{"baseURL":"https://api.oneprovider.dev/v1","apiKey":"sk-your-key-here"}}}}'
opencode OpenCode 1.x e OpenCode 2
Controlla la versione con opencode --version: il numero inizia con 1 ( OpenCode 1.x , quella installata di default) o con 2 ( OpenCode 2 ). La configurazione di questa pagina è nel formato 1.x (provider, npm, options) e OpenCode 2 la legge invariata dagli stessi percorsi. Il formato nativo 2 è facoltativo; scrive le stesse impostazioni con providers, package, settings:
{
"providers": {
"anthropic": {
"package": "aisdk:@ai-sdk/anthropic",
"settings": { "baseURL": "https://api.oneprovider.dev/v1", "apiKey": "sk-your-key-here" }
},
"openai": {
"package": "aisdk:@ai-sdk/openai",
"settings": { "baseURL": "https://api.oneprovider.dev/v1", "apiKey": "sk-your-key-here" }
}
}
} Non puntare OpenCode 1.x a un file riscritto nel formato 2: entrambe le versioni leggono gli stessi file. OPENCODE_CONFIG e OPENCODE_CONFIG_CONTENT sono documentate per la 1.x; su OpenCode 2 usa opencode.json nel progetto e la variabile ONEPROVIDER_KEY per una macchina remota.
Instradare anche i modelli gpt-*
La stessa chiave funziona anche con i modelli GPT: aggiungi un secondo blocco provider. Entrambi stanno nello stesso file; scegli un modello come provider/model-id.
{
"provider": {
"anthropic": { "options": { "baseURL": "https://api.oneprovider.dev/v1", "apiKey": "sk-your-key-here" }, "npm": "@ai-sdk/anthropic" },
"openai": { "options": { "baseURL": "https://api.oneprovider.dev/v1", "apiKey": "sk-your-key-here" }, "npm": "@ai-sdk/openai" }
}
} Modello predefinito Dopo aver salvato, esegui /models dentro OpenCode per impostare un modello predefinito: claude-sonnet-5-5 per Anthropic, gpt-6.1-terra per OpenAI. Quale modello scegliere
Usa anthropic/claude-sonnet-5-5 come modello di tutti i giorni: prezzo e qualità bilanciati. Passa a anthropic/claude-opus-5-5 per il lavoro di architettura e i grandi refactoring, e usa anthropic/claude-haiku-5-5 dove conta più la velocità che la profondità. Per i modelli GPT usa il blocco openai: openai/gpt-6.1-terra è la scelta predefinita bilanciata, openai/gpt-6.1-sol il livello di punta. Apri /models per sceglierne uno; un modello economico va bene anche per l'impostazione small_model di OpenCode, per titoli e attività brevi. Gli ID sono nella pagina dei modelli , le tariffe nella pagina dei prezzi .
Errori comuni e soluzioni
404 «The requested API endpoint does not exist»
In OpenCode il provider @ai-sdk/anthropic si aspetta baseURL con /v1: https://api.oneprovider.dev/v1. Non aggiungere /messages da solo e non usare qui l'host nudo.
401 Invalid API key
La chiave nella configurazione è troncata o racchiusa tra virgolette. Puoi anche eseguire /connect e incollarla lì (OpenCode 1.x la conserva in ~/.local/share/opencode/auth.json); poi rimuovi apiKey dalla configurazione.
La configurazione non si carica
Le virgolette «intelligenti» di un messenger o di Notion rompono il JSON. Controlla il file con jq . ~/.config/opencode/opencode.json, oppure usa opencode.jsonc se vuoi i commenti.
Il modello non è nell'elenco
Sceglilo esattamente come provider/model-id, per esempio anthropic/claude-sonnet-5-5, e verifica che nel file esista il blocco del provider corrispondente.
429 «Insufficient balance»
Il saldo o il limite di spesa della chiave è esaurito. Ricarica l'area personale; riprovare non serve.
Gli stream si interrompono
Disattiva le VPN o i proxy VLESS: mettono in buffer l'SSE e rompono HTTP/2.
FAQ
Dov'è il file di configurazione?
~/.config/opencode/opencode.json (oppure opencode.jsonc). Un progetto può avere anche un proprio opencode.json.
Come tengo la chiave fuori dal file?
OpenCode sostituisce le variabili d'ambiente: scrivi "apiKey": "{env:ONEPROVIDER_KEY}" ed esporta la variabile nella tua shell.
Come lo uso su una macchina remota o in CI?
Senza copiare file via SSH: tieni nel repository opencode.json con {env:ONEPROVIDER_KEY} e imposta ONEPROVIDER_KEY su quella macchina, oppure (OpenCode 1.x) passa l'intera configurazione nella variabile OPENCODE_CONFIG_CONTENT. Vedi «Macchina remota, CI, container» qui sopra.
Posso usare sia Claude sia GPT?
Sì. Aggiungi il blocco openai di questa pagina accanto a quello anthropic; una sola chiave funziona per entrambi.
Mi serve un account Claude o OpenAI?
No, la chiave di OneProvider è l'unica credenziale.
Risposte rapide
Quale base URL devo usare?
Claude Code e gli SDK Anthropic usano https://api.oneprovider.dev. Gli SDK OpenAI e i client compatibili con OpenAI usano https://api.oneprovider.dev/v1. Con una sola chiave funzionano entrambi; l'elenco dei modelli è nella pagina dei modelli , le tariffe nella pagina dei prezzi .
Come mi autentico?
Invia la chiave sk-… così com'è in x-api-key oppure in Authorization: Bearer: uno dei due, mai entrambi. Tieni la chiave in una variabile d'ambiente, non in un file che finisce nel commit. Altro sull'autenticazione .
Dove ottengo una chiave?
Apri la tua area personale nel bot Telegram @oneprovider_robot oppure su app.oneprovider.dev, ricarica il saldo e premi «Emetti una chiave». Ogni chiave può avere un proprio limite di spesa. Area personale e chiavi API .
Cosa significano 401, 404 e 429?
401: la chiave manca, è scritta male o è inviata nell'header sbagliato; incolla la chiave intera, senza virgolette né spazi. 404: di solito la base URL è sbagliata, per esempio manca /v1 o è doppio. 429 con “Insufficient balance”: il saldo dell'area personale o il limite di spesa della chiave è esaurito, quindi ricarica invece di riprovare; qualsiasi altro 429 è un limite di frequenza, quindi attendi il tempo indicato in Retry-After. Dettagli: codici di errore e risoluzione dei problemi .
Perché gli stream si interrompono o si resettano?
VPN e proxy VLESS spesso mettono in buffer gli SSE o rompono la negoziazione HTTP/2. OneProvider non ha restrizioni regionali e non mette in buffer gli stream: disattiva il proxy e riprova.
Dove chiedo se non basta?
Scrivi a @Oneproviderhelpbot su Telegram oppure apri «Assistenza» nell'area personale sul sito, indicando il codice di stato HTTP e il testo esatto dell'errore. Come funziona l'assistenza .
Ultimo aggiornamento: 2026-11-08 Hai trovato un errore? @Oneproviderhelpbot