Torna alle guide
Confronto·21 settembre 2026·Aggiornato il 24 settembre 2026·9 min di lettura

Nanocoder contro OpenCode: flusso di lavoro, modelli e costo totale

OpenCode è la scelta predefinita e Nanocoder una scelta deliberatamente minoritaria; qui confrontiamo ciò a cui ciascuno può accedere, ciò che ciascuno limita e quanto costano i token sottostanti.

Ultima revisione: .

OpenCode è la risposta predefinita e Nanocoder è la scelta deliberata della minoranza: il 19 settembre 2026 OpenCode aveva 208.444 stelle su GitHub contro le 2.487 di Nanocoder e il suo pacchetto npm era stato scaricato 9.436.914 volte nei 30 giorni fino al 16 settembre, contro le 6.614 di Nanocoder. Entrambi sono agenti di coding da terminale gratuiti con licenza MIT e consentono di puntare a un endpoint API personalizzato. Scegliere tra loro non significa stabilire una classifica di qualità: significa scegliere tra la superficie più ampia, con due prodotti proprietari in competizione per la vostra spesa in token, e una superficie più ristretta gestita da una collettività che non vende nulla.

Considerate queste cifre di download come ordini di grandezza, non come conteggi di utenti. OpenCode si installa anche tramite uno script curl e Homebrew, e i runner CI gonfiano qualsiasi numero npm, mentre Nanocoder viene distribuito tramite Homebrew e Nix oltre che tramite npm. Il rapporto è solido a livello direzionale; i conteggi assoluti non lo sono.

Innanzitutto, assicurati di confrontare i due progetti giusti

Tre omonimie compaiono direttamente nei risultati di ricerca per questo confronto, e due di esse comprometteranno una configurazione anziché limitarsi a confonderti.

Nome che potresti aver trovatoCosa sia realmenteÈ incluso in questo confronto?
anomalyco/opencodeL'OpenCode TypeScript su opencode.ai. Non archiviato, MIT, branch predefinito devSì — è questo l'OpenCode a cui ci riferiamo qui
opencode-ai/opencodeLa CLI originale in Go. Archiviata, 13.752 stelle, ultimo push il 18 settembre 2025; il relativo README indirizza i lettori a CrushNo. Vedi la voce nella directory
OpenCoderUna famiglia di modelli linguistici di grandi dimensioni per la generazione di codice open source, non una CLI. Nessun file di configurazione, nessuna impostazione del provider, nessuna opzione BYOKNo. I suoi punteggi nei benchmark non dicono nulla sull'agente
Nano-Collective/nanocoderNanocoder, npm @nanocollective/nanocoder, documentazione su docs.nanocollective.orgSì — è questo il Nanocoder a cui ci riferiamo qui
nanocode-project/nanocodeUn progetto Python separato, quasi inattivo, creato il 1° aprile 2026 e aggiornato una sola volta il giorno successivoNo. Vedi la voce nella directory

Un'altra modifica che vale la pena conoscere prima di seguire un tutorial meno recente. Il repository che molte guide chiamano ancora sst/opencode ora reindirizza con un 301 a anomalyco/opencode, e l'organizzazione GitHub sst è vuota, con una descrizione che indica che si è trasferita su anomalyco (API GitHub, 19 settembre 2026). La documentazione ufficiale di OpenCode lo conferma nei comandi di installazione — brew install anomalyco/tap/opencode, ghcr.io/anomalyco/opencode — e in fondo a ogni pagina della documentazione compare il copyright Anomaly. Il nome del prodotto non è cambiato, solo l'organizzazione. Sui social circola una data di ridenominazione; non è stato possibile verificarla qui, quindi non ne viene pubblicata alcuna in questa pagina.

Chi dovrebbe scegliere quale

Parti dal tuo modello predefinito, non dall'elenco delle funzionalità. Se la tua giornata di lavoro si basa già su un modello frontier ospitato e l'inferenza locale è un esperimento occasionale, l'impostazione di OpenCode corrisponde alla tua. Se invece lavori con Ollama, llama.cpp, LM Studio, vLLM o MLX e un'API ospitata è l'eccezione, quella di Nanocoder fa al caso tuo — anche se si tratta di una differenza di impostazione predefinita, non di capacità, perché OpenCode documenta anche gli URL di base di Ollama, LM Studio e llama.cpp.

Se questo ti descriveScegliPerché
Vuoi l'agente in una TUI, in un'app desktop e in un'estensione IDE, oltre a un server e ai pluginOpenCodeNanocoder include una TUI da terminale con --vscode e un server ACP per Zed; questa è l'intera superficie disponibile
Hai bisogno di autorizzazioni dichiarative e verificabili per ogni strumento e ogni agenteOpenCodeLe regole sono dati: allow/ask/deny per ogni strumento, con wildcard bash, versionate nel repository
Vuoi che i comandi shell siano confinati dal sistema operativo, non da un promptNanocodernanocoder.sandbox avvolge execute_bash in sandbox-exec o bwrap; OpenCode non ha un flag equivalente nella documentazione sulle autorizzazioni
Il tuo gateway espone /v1/responses e vuoi quel formato wireOpenCodeL'unione dei provider di Nanocoder non include un'opzione generica Responses
Vuoi che il manutentore del tuo agente non abbia alcun interesse rispetto ai token che acquistiNanocoderNon esistono account, piani o gateway Nanocoder. OpenCode ne offre due
Stai standardizzando un team e hai bisogno di SSO e di una configurazione applicata a livello organizzativoOpenCodeÈ esattamente ciò che OpenCode Enterprise abilita, per postazione, a un prezzo non pubblicato
Vuoi un unico modello di estensione invece di diversi sottosistemiNanocoderLe Skills sono l'unico contenitore per comandi, sottoagenti, strumenti e trigger
Vuoi il bacino più ampio di issue, esempi e integrazioni di terze partiOpenCodeIl divario di adozione descritto sopra è l'intero argomento, ed è reale

Il costo della migrazione è simmetrico e ridotto a livello di provider, e asimmetrico al di sopra di esso. Un endpoint personalizzato è un unico blocco JSON in entrambi i client, quindi spostare un gateway richiede pochi minuti. Ciò che non viene trasferito è quello che hai costruito sopra: i bundle di Skills di Nanocoder in .nanocoder/skills/ e i relativi hook del ciclo di vita — dove un hook pre-tool-use che termina con un codice diverso da zero nega la chiamata e spiega al modello il motivo — non hanno un equivalente OpenCode in cui incollarli, mentre i blocchi di autorizzazioni per agente, i plugin e la configurazione LSP di OpenCode non hanno un equivalente Nanocoder. Conta questo lavoro prima di contare le righe di configurazione.

Come differiscono realmente i due client

DimensioneNanocoderOpenCode
Repository e licenzaNano-Collective/nanocoder, MIT secondo package.json, e il testo MIT si trova in LICENSE.md. Il rilevatore interno di GitHub continua a riportare NOASSERTION per il repositoryanomalyco/opencode, MIT secondo l'API GitHub
Versione attualev1.30.0, 26 agosto 2026; npm @nanocollective/nanocoder 1.30.0 lo stesso giornov1.18.31, 14 settembre 2026; npm opencode-ai 1.18.31 lo stesso giorno
Ambiente di esecuzioneNode >= 22 secondo package.jsonSi installa tramite script curl, npm, Homebrew, mise o Docker, secondo la documentazione di installazione
InterfacceTUI da terminale, --vscode, --acp per ZedTUI da terminale, app desktop, estensione IDE, oltre a CLI, web, server, SDK e plugin
File di configurazioneagents.config.json — directory del progetto o directory di configurazione specifica per il sistema operativo; NANOCODER_CONFIG_DIR ignora tutte le altre ricercheopencode.json o ~/.config/opencode/opencode.json, JSON o JSONC, con interpolazione di {env:VAR} e {file:path}
Precedenza della configurazioneRisolta blocco per blocco: il file con la precedenza più alta che definisce un blocco fornisce l'intero blocco, e i campi omessi ricorrono ai valori predefiniti integrati anziché a un file di livello inferioreOtto livelli uniti, non sostituiti — le configurazioni successive sovrascrivono quelle precedenti solo per le chiavi in conflitto
Controllo dell'esecuzioneQuattro modalità globali attivate con Shift+Tab: Normale, Auto-Accept (bash e git distruttivo richiedono comunque una conferma), Yolo, PlanRegole dichiarative per ogni strumento tra read, edit, bash, webfetch, task, skill, lsp e altri, ciascuno con allow/ask/deny, wildcard e override per agente
Sandbox a livello di sistema operativonanocoder.sandbox, disattivato per impostazione predefinita: sandbox-exec su macOS, bwrap su Linux, non supportato su Windows. La documentazione specifica esplicitamente che non costituisce un confine per i segreti — le letture non sono bloccateNon offerto come flag nella documentazione sulle autorizzazioni; doom_loop e external_directory hanno valore predefinito ask e le letture di .env sono negate
Senza interfacciananocoder run "..." accetta automaticamente e termina; --plain --json emette un unico oggetto JSON con la risposta, il log degli strumenti e i file modificati. Il limite dei turni nanocoder.maxTurns è 200 per impostazione predefinita e NANOCODER_MAX_TURNS lo sovrascriveopencode run "..." è l'equivalente non interattivo documentato, con --format json per l'output leggibile dalle macchine — eventi JSON grezzi anziché un unico oggetto riepilogativo. Server, SDK, GitHub e GitLab sono documentati insieme a esso
EstensioniSkills come unico contenitore per comandi, sottoagenti, strumenti e trigger, oltre a hook del ciclo di vita e MCPSottosistemi separati: plugin, skill degli agenti, server LSP, server MCP, ACP
Prodotti proprietari a pagamentoNessuno. Nessun account, nessun piano, nessun gatewayZen (a consumo), Go ($10 al mese), Enterprise (per postazione, non pubblicato)

Fonti per questa tabella, tutte consultate il 19 settembre 2026 salvo diversa indicazione: l'API GitHub, il registro npm, la documentazione di Nanocoder su configurazione e funzionalità, e le pagine di OpenCode su configurazione, autorizzazioni e CLI.

Indirizzare l'uno o l'altro al proprio endpoint API

Entrambi documentano un endpoint personalizzato, quindi un gateway è una configurazione supportata da entrambi. La differenza sta nel numero di formati wire che puoi raggiungere.

OpenCode indica un pacchetto npm nel blocco del provider e quella scelta seleziona il protocollo: @ai-sdk/openai-compatible parla /v1/chat/completions, mentre @ai-sdk/openai parla /v1/responses. Kunavo li supporta entrambi, quindi si tratta di una scelta reale, non di una formalità.

opencode.json
{
  "$schema": "https://opencode.ai/config.json",
  "provider": {
    "kunavo": {
      "npm": "@ai-sdk/openai-compatible",
      "name": "Kunavo",
      "options": {
        "baseURL": "https://api.kunavo.com/v1",
        "apiKey": "{env:KUNAVO_API_KEY}"
      },
      "models": {
        "claude-sonnet-4-6": {
          "name": "Claude Sonnet 4.6",
          "limit": { "context": 200000, "output": 64000 }
        }
      }
    }
  }
}

Due dettagli esplicitamente indicati nella pagina dei provider e importanti per qualsiasi endpoint che non conosca già. Primo, registra la chiave con /connect, scorri fino a Other e usa lo stesso ID del provider impiegato nel file; le credenziali vengono salvate in ~/.local/share/opencode/auth.json. Secondo, vale la pena impostare qui il blocco limit — la documentazione afferma che i provider standard recuperano automaticamente da models.dev i limiti di contesto e di output, mentre Kunavo non è tra questi. I valori nel blocco sopra sono le cifre dell'esempio della documentazione, non i limiti pubblicati di questo modello; impostali in base alla pagina del modello prima di affidarti al misuratore del contesto.

L'equivalente di Nanocoder si trova in nanocoder.providers. Nota il baseUrl minuscolo, che differisce dal baseURL di OpenCode, e la sostituzione di ${VAR} applicata ricorsivamente ai campi stringa.

agents.config.json
{
  "nanocoder": {
    "providers": [
      {
        "name": "Kunavo",
        "sdkProvider": "openai-compatible",
        "baseUrl": "https://api.kunavo.com/v1",
        "apiKey": "${KUNAVO_API_KEY}",
        "models": ["claude-sonnet-4-6"],
        "contextWindow": 200000
      }
    ]
  }
}

Vale la pena leggere tre insidie specifiche di Nanocoder prima di incollare il blocco. L'unione sdkProvider è chiusa su cinque valori in source/types/config.ts — openai-compatible, google, anthropic, chatgpt-codex e github-copilot — e il quarto è collegato a un accesso tramite browser all'endpoint Codex di ChatGPT, anziché a un URL di base arbitrario, quindi non esiste un'opzione generica Responses da dichiarare. Se invece indirizzi sdkProvider: "anthropic" a un endpoint compatibile con Anthropic, la documentazione dei provider di Nanocoder avverte che @ai-sdk/anthropic ricava il limite di output dall'ID del modello e ricorre a 4096 token per qualsiasi modello che non riconosca come Claude, troncando le risposte lunghe a metà frase senza errori; la soluzione è un maxOutputTokens esplicito nella voce del provider. Inoltre, poiché le impostazioni vengono risolte blocco per blocco, un file a livello di progetto che definisce nanocoder.providers fornisce l'intero blocco — le voci sorelle nella configurazione globale non vengono unite. nanocoder config diff è il metodo documentato per vedere cosa è stato effettivamente risolto.

Nessuno dei due snippet è stato testato a runtime con l'endpoint di Kunavo. Kunavo pubblica una guida alla configurazione di OpenCode, che è un riferimento di configurazione e non un test di compatibilità, e non ne pubblica alcuna per Nanocoder. Considera entrambi i blocchi punti di partenza, esegui un'attività con limiti definiti e leggi ciò che il tuo account ha effettivamente registrato.

Una lacuna condivisa: nessuno dei due client conosce i metadati dei modelli del tuo gateway

Entrambi i client si affidano a models.dev per i limiti di contesto, i limiti di output e il costo per token. Quel file elencava 222 provider quando è stato verificato il 19 settembre 2026, e Kunavo non figurava tra questi — questa pagina non può stabilire il motivo dell'assenza. La conseguenza varia leggermente da client a client, ma si applica a entrambi allo stesso modo, quindi non è un motivo per preferirne uno.

In OpenCode, dichiara limit.context e limit.output per modello, altrimenti l'indicatore del contesto rimanente calcola il budget in base a un valore predefinito che non è quello del tuo modello. In Nanocoder, imposta contextWindow o contextWindows per modello; il piè di pagina di ogni risposta stampa il conteggio dei token e un costo stimato calcolato con i prezzi di models.dev, e la documentazione precisa che la sezione del costo viene omessa quando non sono disponibili prezzi, quindi un numero mancante significa sconosciuto, non zero. In ogni caso, la cifra del client è un calcolo proprio sui token riportati — verifica con il registro del tuo provider, non con il piè di pagina.

Quanto ti costa ciascuno

Entrambi i client sono gratuiti. L'asimmetria sta in ciò che vi è dietro.

Nanocoder non ha account, piani, servizio ospitato né qualcosa a cui effettuare l'upgrade — il README afferma che non esistono piani a pagamento che limitino le parti utili, e il progetto si descrive come finanziato dagli sponsor anziché dagli utenti. È doverosa una precisazione: Atlas Cloud è uno sponsor elencato e compare anche nell'elenco dei provider supportati da Nanocoder, oltre a vendere un piano per la programmazione. Si tratta di un incentivo non neutrale in un progetto altrimenti privo di vincoli di vendor, ed è giusto che tu lo sappia.

Anche OpenCode è gratuito, ma lo stesso vendor vende due prodotti che competono per la stessa spesa a cui un gateway ambisce. Nessuno dei due è obbligatorio: la documentazione li descrive entrambi come opzionali e la pagina degli obiettivi di Zen si impegna a consentirti di usare qualsiasi altro provider con OpenCode.

ProdottoPrezzo pubblicatoCosa dovresti effettivamente mettere a budget
Nanocoder$0, MITToken del modello presso il provider configurato, oppure hardware ed energia per i modelli locali
OpenCode$0, MITLo stesso — il client in sé non addebita nulla
OpenCode Go$10 al meseIl catalogo fisso che la documentazione chiama modelli di programmazione open, che non significa esclusivamente open-weight — vi sono elencati Grok 4.6 e GPT 5.6 Luna. Ogni modello ha un limite mensile da $15 a $60, con il limite di 5 ore al 20% e quello settimanale al 50%. Solo un membro per workspace può abbonarsi
OpenCode ZenA consumo, per 1M di tokenClaude Opus 5 a $5,00 in ingresso / $25,00 in uscita; Claude Sonnet 5 a $2,00 / $10,00; Claude Haiku 4.5 a $1,00 / $5,00. Il ricaricamento automatico aggiunge $20 ogni volta che il saldo scende sotto $5
OpenCode EnterprisePer postazione, nessuna cifra pubblicataSSO, configurazione a livello organizzativo e instradamento obbligatorio del traffico attraverso un unico gateway interno. La pagina afferma che, se disponi di un gateway tuo, i token non vengono addebitati

Consultato il 19 settembre 2026. Due aspetti su cui questa tabella è precisa. La pagina degli obiettivi di Zen dichiara l'intenzione di trasferire ai clienti le riduzioni di prezzo vendendo al costo, con un ricarico limitato alla copertura delle commissioni di elaborazione. Le tre tariffe Claude pubblicate corrispondono effettivamente alle tariffe pubblicate da Anthropic per questi modelli — Opus 5 a $5 / $25, Sonnet 5 a $2 / $10, Haiku 4.5 a $1 / $5 — quindi, per questi tre, confrontare Zen significa confrontare il listino del fornitore del modello. Questa verifica è stata effettuata solo per questi tre modelli, il 19 settembre 2026, e non dice nulla sul resto del catalogo di Zen. Inoltre, i modelli gratuiti di Zen riportano nella stessa pagina indicazioni sull'utilizzo dei dati, che vanno dall'uso dei dati per migliorare il modello durante un periodo gratuito a endpoint riservati alle prove che ti chiedono di non inviare dati riservati. Un piano gratuito con diritti di addestramento associati è un prodotto diverso da un piano gratuito che non li prevede.

Una stima esemplificativa della spesa per i token sotto entrambi i client

Si tratta di un calcolo illustrativo dei token, non del costo misurato di un'attività né di un limite massimo di fatturazione. Supponi una sessione che invii 200.000 token di input non memorizzati nella cache e riceva 15.000 token di output. Le tariffe provengono dal catalogo Kunavo aggiornato, per milione di token; le tue sessioni reali varieranno in base alle dimensioni del repository, all'output degli strumenti e alla frequenza con cui l'agente rilegge i file.

ModelloInput / output per 1MCosto stimato, una sessioneSessioni modellate per ogni $10 di credito
Claude Haiku 4.5$0,70 / $3,50$0,19251
GPT-5.6 Terra$0,70 / $4,20$0,20349
Claude Sonnet 4.6$2,10 / $10,50$0,57817
Claude Opus 5$3,50 / $17,50$0,96310

Il confronto che le persone vogliono davvero qui è con i $10 al mese di OpenCode Go, e non è omogeneo. Go offre un catalogo fisso con limiti mensili per modello da $15 a $60: la sua tabella dei limiti di utilizzo non elenca alcun modello Claude né Gemini, l'unica voce GPT è GPT 5.6 Luna e vi compare anche Grok 4.6 — quindi l'espressione "open coding models" della documentazione non significa esclusivamente open weight (verificato il 19 settembre 2026). I modelli sopra appartengono a un catalogo completamente diverso. In base a queste ipotesi, $10 di credito Kunavo prepagato corrispondono approssimativamente a 51 sessioni di quel tipo su Claude Haiku 4.5 a $0,192 ciascuna, e a circa 10 su Claude Opus 5. Questo dimensiona un budget; non indica quale produca risultati migliori sul tuo repository, e la tariffa elencata più bassa non equivale al costo più basso per completare l'attività — un modello più economico che richiede tre tentativi può costare più di uno che ne richiede uno.

Il confronto omogeneo è il catalogo a consumo di Zen, dove lo stesso modello compare su entrambi i lati. Zen pubblica Claude Opus 5 a $5,00 per milione di token di input e $25,00 per milione di token di output; il catalogo di Kunavo attualmente riporta $3,50 e $17,50 per lo stesso modello. Questo è il confronto che vale la pena fare, e va letto con attenzione: i $5,00 / $25,00 di Zen sono la tariffa pubblicata da Anthropic per questo modello, quindi si tratta di due cataloghi che applicano prezzi diversi allo stesso modello, non di un rivenditore gonfiato che viene battuto sul prezzo. Conferma entrambi al checkout prima di spostare un budget, perché entrambi i cataloghi possono modificare i prezzi.

L'importo del catalogo Kunavo è un minimo di fatturazione, non un limite massimo: quando il fornitore upstream comunica il proprio addebito, la fattura è il maggiore tra il costo del catalogo e il costo upstream moltiplicato per il ricarico applicabile. Gli addebiti della cache e degli strumenti esterni sono esclusi da questo esempio. La ricarica minima è $10 di credito prepagato, un minimo di finanziamento e non una tariffa per attività né un abbonamento.

Configurazione di quello che hai scelto

Se hai scelto OpenCode, il blocco di configurazione sopra costituisce l'intera integrazione e la guida all'integrazione di OpenCode illustra in dettaglio entrambi i formati wire; crea un account Kunavo quando sei pronto a finanziare una chiave. Se hai scelto Nanocoder, usa lo stesso URL di base tramite il suo provider openai-compatible e mantieni disponibile un percorso funzionante mentre lo provi — qui non è stato eseguito alcun test runtime da Nanocoder a Kunavo.

Stai ancora decidendo? Alternative a OpenCode amplia il campo oltre questi due, la migliore API per OpenCode confronta specificamente i percorsi dei provider per quel client, Prezzi di OpenCode approfondisce Zen e Go, e la directory delle API per agenti registra come ogni client di questo settore gestisce un URL di base personalizzato. Se un blocco del provider sta già dando errore, Provider OpenCode non trovato tratta la causa abituale, mentre API compatibile con OpenAI spiega cosa quella frase garantisce e cosa non garantisce.

Domande frequenti

Nanocoder o OpenCode: quale è migliore?

Nessuno dei due è migliore in assoluto e non hanno lo stesso livello di adozione. OpenCode è la scelta mainstream: 208.444 stelle su GitHub e 9.436.914 download npm per opencode-ai nei 30 giorni fino al 16 settembre 2026, contro 2.487 stelle e 6.614 download per @nanocollective/nanocoder nello stesso intervallo. Scegliete OpenCode se volete una superficie più ampia: TUI, desktop, estensione IDE, server, plugin, integrazioni con GitHub e GitLab e un sistema di configurazione pensato per il controllo a livello organizzativo. Scegliete Nanocoder quando i modelli locali sono la vostra impostazione predefinita anziché un ripiego, quando volete un jail del sistema operativo attorno ai comandi shell o quando preferite che il manutentore del vostro agente non vi venda anche i token. I conteggi dei download sono gonfiati dalla CI e dai canali di installazione paralleli, quindi leggeteli come ordini di grandezza, non come conteggi di utenti.

Nanocoder è lo stesso progetto di nanocode?

No, e confonderli comprometterà la configurazione. Nanocoder è Nano-Collective/nanocoder, pubblicato su npm come @nanocollective/nanocoder e documentato su docs.nanocollective.org. nanocode è nanocode-project/nanocode, un progetto Python separato e quasi inattivo, creato il 1° aprile 2026, con l'ultimo push il giorno successivo. I relativi comandi di installazione, file di configurazione e impostazioni del base URL sono reciprocamente incompatibili e la compatibilità OpenAI dichiarata da nanocode non esiste nel suo codice: avvolge l'SDK Anthropic, quindi un endpoint semplice di completamento chat non funzionerà con esso.

Quale OpenCode è questo: quello Go o quello TypeScript?

Quello TypeScript. Il repository che prima si trovava su sst/opencode ora reindirizza con un 301 a anomalyco/opencode e l'organizzazione GitHub sst è vuota, con un avviso che comunica lo spostamento ad anomalyco. Il nome del prodotto è ancora OpenCode; la documentazione su opencode.ai usa percorsi di installazione anomalyco e riporta nel footer il copyright Anomaly. Un progetto diverso, opencode-ai/opencode, è una CLI Go archiviata il cui ultimo push risale al 18 settembre 2025 e il cui README indirizza gli utenti a Crush. Il relativo formato di configurazione e l'elenco dei provider non si applicano all'OpenCode attuale.

Nanocoder e OpenCode possono entrambi usare un gateway API di terze parti?

Sì, entrambi documentano un endpoint personalizzato, ma la superficie del protocollo raggiungibile differisce. OpenCode seleziona il formato wire indicando un pacchetto npm nel blocco del provider: @ai-sdk/openai-compatible per /v1/chat/completions, @ai-sdk/openai per /v1/responses, secondo la documentazione dei provider. L'union sdkProvider di Nanocoder è chiusa a cinque valori in source/types/config.ts: openai-compatible, google, anthropic, chatgpt-codex e github-copilot; chatgpt-codex è vincolato a un accesso tramite browser sull'endpoint Codex proprietario di ChatGPT anziché a un base URL arbitrario, quindi non esiste un'opzione Responses generica. Un gateway che espone /v1/responses deve essere raggiunto tramite la sua interfaccia chat-completions in Nanocoder.

OpenCode vi obbliga ad acquistare OpenCode Zen o OpenCode Go?

No. La documentazione di OpenCode descrive Zen e Go come opzionali e la pagina degli obiettivi di Zen si impegna a consentire l'uso di qualsiasi altro provider con OpenCode. Il vincolo commerciale è OpenCode Enterprise, con prezzo per posto e nessuna cifra pubblicata; ciò che limita è il controllo centralizzato: SSO, configurazione a livello organizzativo e obbligo di instradare il traffico attraverso un gateway interno, non la possibilità di configurare un endpoint personalizzato. La pagina degli obiettivi di Zen dichiara inoltre l'intenzione di trasferire agli utenti le riduzioni di prezzo vendendo al costo, con un markup limitato alla copertura delle commissioni di elaborazione; le tre tariffe Claude pubblicate corrispondono alle tariffe pubblicate da Anthropic per quei modelli, verificate il 19 settembre 2026.

Perché il mio modello non mostra alcun costo o indica un limite di contesto errato in uno dei due client?

Perché entrambi i client leggono i metadati dei modelli da models.dev, il cui api.json elencava 222 provider quando è stato verificato il 19 settembre 2026 e non include Kunavo. In OpenCode dichiarate manualmente models.<id>.limit.context e .limit.output, perché la documentazione afferma che solo i provider standard recuperano automaticamente questi valori da models.dev; se li omettete, il client calcola il contesto rimanente rispetto a un valore predefinito che non corrisponde al vostro modello. In Nanocoder impostate contextWindow o contextWindows per modello e il piè di pagina del costo per risposta semplicemente non mostra nulla quando non sono disponibili prezzi: la documentazione è esplicita, un numero mancante significa sconosciuto, mai zero.

Quanto costa passare da uno all'altro?

Il blocco del provider è la parte semplice; le istruzioni dell'agente e le estensioni non lo sono. Entrambi accettano una configurazione JSON con base URL, chiave ed elenco dei modelli, quindi ridefinire un gateway richiede dieci minuti in entrambe le direzioni. Ciò che non viene trasferito è tutto quello che è costruito sopra: i bundle Skills di Nanocoder in .nanocoder/skills/ e i suoi lifecycle hook non hanno un equivalente OpenCode in cui copiarli, mentre le regole di autorizzazione per strumento, le definizioni degli agenti, i plugin e il collegamento LSP di OpenCode non hanno un equivalente Nanocoder. Pianificate la migrazione in base a quanto avete scritto di tutto questo, non in base al blocco del provider.

I dati sul repository, sulle release e sui download sono stati consultati tramite l'API GitHub e il registro npm il 19 settembre 2026; le affermazioni sul comportamento e sui prezzi provengono dalla documentazione ufficiale di entrambi i progetti alla stessa data, e in quella data è stato verificato anche l'elenco dei provider di models.dev. Nessuno dei due client è stato testato a runtime con l'endpoint di Kunavo, non sono stati eseguiti test di prestazioni o compatibilità e ogni cifra in dollari di Kunavo riportata in questa pagina è un calcolo illustrativo dei token basato sul catalogo aggiornato, non il costo misurato di un'attività.