Documentazione

Documentazione

Dyad

Dyad accetta qualsiasi endpoint compatibile con OpenAI tramite Add Custom Provider: tre campi, una chiave nella pagina del provider e poi una voce per ogni ID modello che vuoi nel selettore.

Dyad accetta qualsiasi endpoint compatibile con OpenAI tramite Settings → AI Providers → Add Custom Provider: API Base URL https://api.kunavo.com/v1, la chiave nella pagina del provider, poi una riga Add Custom Model per ogni ID modello.

Settings → AI Providers → Add Custom Provider
Settings → AI Providers → Add Custom Provider
  ID                  kunavo
  Display Name        Kunavo
  API Base URL        https://api.kunavo.com/v1

Then on the new provider's own page
  Set Kunavo API Key  sk-kn-...            → Save Key

Provider page → bottom → Add Custom Model
  Model ID            claude-sonnet-5
  Name                Claude Sonnet 5 (Kunavo)
  Description         Kunavo, OpenAI-compatible
  Max Output Tokens   128000
  Context Window      1000000
L’URL di base termina con /v1, ma non perché lo dica la documentazione. La pagina dei modelli personalizzati si limita a dire «Di solito puoi trovare l’API Base URL nella documentazione del provider» e non mostra esempi, quindi non risolve il dubbio. Due elementi dell’app distribuita lo chiariscono: il segnaposto della finestra di dialogo è E.g., https://api.example.com/v1 e il provider personalizzato viene creato come client compatibile con OpenAI, usando il valore indicato come baseURL senza modificarlo: Dyad aggiunge il percorso, mai il /v1. Tutti gli endpoint compatibili con OpenAI che Dyad codifica direttamente terminano allo stesso modo. Se manca, l’URL di base genera un 404, non un rifiuto della chiave.
Due campi non compaiono nella pagina della documentazione. Nella finestra di dialogo dell’app distribuita, il primo si chiama Provider ID, anziché ID, ed è presente anche Environment Variable (Optional): un nome di variabile come KUNAVO_API_KEY, usato solo quando non è stata salvata alcuna chiave nelle impostazioni. La chiave stessa non compare in quella finestra: prima crea il provider, poi aprilo e usa il campo Set Kunavo API Key nella sua pagina.
Inserisci il valore in Context Window; non lasciarlo vuoto. L’unico avviso di Dyad è che i campi vuoti usano «valori predefiniti che potrebbero essere inferiori a quelli ottimali». Il valore predefinito dell’app distribuita è 128,000 token e Dyad compatta una conversazione raggiunto il valore più basso tra il limite del provider e la Context Window meno 25,000. I provider personalizzati vengono salvati con un ID custom::, quindi non usano il limite di Google né quello di OpenAI, ma quello di 250,000. Se il campo resta vuoto, un modello da un milione di token inizia quindi a riassumere a 103,000 token invece che a 250,000: più passaggi di compattazione sullo stesso lavoro, senza motivo.
Questa configurazione è stata ricavata dalla documentazione e dal codice distribuito di Dyad alla data indicata di seguito. Kunavo non ha eseguito Dyad sul proprio endpoint: né una build, né una modifica in streaming, né uno scambio completo di chiamate con strumenti in modalità Agent. Lo stesso vale per tutti i client di questa famiglia. Una pagina di configurazione pubblicata non è un test di compatibilità. Tieni disponibile il percorso che usi attualmente mentre provi questo e testa una funzionalità con limiti definiti prima di spostare un progetto su di esso.
Kunavo non fornisce modelli di embedding, di sintesi vocale o di trascrizione vocale, quindi un provider personalizzato aggiunto in questo modo gestisce solo i completamenti di chat. Il ciclo di build di Dyad non richiede nessuna delle altre tre funzionalità, quindi in questo caso non ne perdi alcuna: significa solo che il provider appena aggiunto non sostituisce direttamente uno stack che le usa anch’esso.
Non hai ancora una chiave? Crea un account Kunavo, genera una chiave (inizia con sk-kn-) e aggiungi credito da $10: le chiamate vengono pagate con quel saldo e le chiamate non riuscite non vengono addebitate. La dashboard si apre quindi sulla configurazione Dyad.

Passo dopo passo

  1. Crea una chiave su /app/keys e copiala: viene mostrata una sola volta.
  2. In Dyad, vai su Settings, individua la sezione AI Providers e fai clic su Add Custom Provider. Inserisci ID, Display Name e API Base URL come sopra. L’ID «viene usato internamente e non può essere modificato in seguito», quindi scegline uno adatto; Display Name è il nome mostrato nel selettore ed è puramente estetico.
  3. Apri il provider appena creato, incolla la chiave in Set Kunavo API Key, poi fai clic su Save Key. Se lasci vuoto l’URL di base, Dyad rifiuta direttamente la richiesta con un errore missing the API Base URL, anziché segnalare un problema di rete.
  4. Nella stessa pagina, scorri fino in fondo e fai clic su Add Custom Model. Model ID deve essere esattamente lo slug del catalogo: la documentazione di Dyad specifica che «deve corrispondere esattamente a quanto indicato nella documentazione API del provider. È l’identificatore inviato all’API»; quindi claude-sonnet-5, non un nome visualizzato.
  5. Inserisci Max Output Tokens e Context Window prendendo i valori da /models anziché lasciarli vuoti, poi ripeti Add Custom Model per ogni ID che vuoi nel selettore: non sono disponibili né un’importazione in blocco né un elenco da recuperare.
  6. Seleziona il nuovo modello nel selettore e assegnagli un’attività concreta, per esempio aggiungere un componente, anziché un semplice saluto. La modalità Build è un ciclo agentico che reinvia a ogni passaggio un insieme di lavoro; la prima esecuzione dovrebbe quindi verificare streaming e modifiche ripetute.

Verificato rispetto a La pagina Custom Models di Dyad il 21 settembre 2026. Le impostazioni di terze parti cambiano; se il nome di un campo qui non corrisponde più a quello visualizzato, fa fede quella pagina, non questa.

Questa è la versione breve. La guida completa, con scelta del modello, costo di una sessione reale e modalità di errore, è in la guida di Dyad ai prezzi e ai costi API.

Verifica prima di eseguire il debug del client

Una sola richiesta stabilisce se il problema riguarda l'endpoint, la chiave o il file di configurazione. Se restituisce JSON, lo stesso base URL e la stessa chiave funzionano in Dyad.

# Settles whether a failure is the endpoint, the key, or the client.
curl -sS https://api.kunavo.com/v1/models \
  -H "Authorization: Bearer sk-kn-..."

Quale model id inserire nel campo

Ogni modello di testo è raggiungibile come model id: l'elenco aggiornato è GET /v1/models e il catalogo con i prezzi è nella pagina dei modelli. Le tariffe sono in USD per 1M di token, input / output.

ID del modelloKunavo ingresso / uscitaDove si inserisce in Dyad
claude-sonnet-5$1.40 / $7.00il modello predefinito della modalità Build: qualità di programmazione per dollaro in un ciclo attivo tutto il giorno
claude-opus-5$3.50 / $17.50la modalità Plan per un refactoring in cui un piano sbagliato costa un’intera sessione
claude-haiku-4-5$0.70 / $3.50la modalità Ask e le domande rapide sul codebase, dove il volume prevale su tutto
gpt-5-6-sol$2.00 / $12.00un secondo parere da un’altra famiglia: aggiungila come secondo modello personalizzato, con lo stesso provider
gpt-5-6-terra$0.70 / $4.20un insieme di lavoro ampio, dopo aver compilato correttamente il campo Context Window
La fatturazione è per token, usando un saldo prepagato senza canone mensile: vedi billing. In presenza di contesto ripetuto, che costituisce la maggior parte di ciò che invia un editor o un client di chat, prompt caching incide sulla spesa più della scelta del modello.

Tre limiti da conoscere prima di passare

Sono regole di Dyad, non di Kunavo, e ciascuna determina a quali risorse può accedere una chiave cliente. Per questo questa pagina descrive un percorso verso i modelli, non verso tutte le funzionalità di Dyad.

  1. Per scelta progettuale, non puoi accedere alle modalità Pro con la tua chiave. La FAQ sui prezzi di Dyad lo afferma chiaramente: modalità Pro come Smart Context sono disponibili solo con i crediti AI di Dyad Pro, non con le proprie chiavi API, perché richiedono elaborazione lato server su più modelli. Anche Turbo Edits rientra in questa categoria. Un provider personalizzato dà accesso ai modelli e alle modalità ordinarie, non a queste funzionalità.
  2. Nel piano gratuito, l’uso della modalità Agent è limitato. Il limite è di 20 messaggi Agent per ogni intervallo di 23 ore e si applica indipendentemente dalla chiave configurata; Build, Ask e Plan non hanno limiti. Un’interruzione inattesa a metà sessione potrebbe quindi dipendere dalla quota di Dyad, non dal tuo saldo o dall’endpoint.
  3. Dyad non consente di accedere al protocollo Anthropic Messages. Un provider personalizzato viene sempre creato come client OpenAI chat completions e il provider Anthropic integrato non accetta override dell’URL di base. I modelli Claude arrivano quindi tramite l’interfaccia compatibile con OpenAI: è quanto avviene con la configurazione qui sopra e il motivo per cui la richiesta di verifica in questa pagina usa il formato OpenAI.

Domande frequenti

Come si aggiunge un provider API personalizzato a Dyad?

Vai su Settings, individua la sezione AI Providers e fai clic su Add Custom Provider. Inserisci un ID, usato internamente e non modificabile in seguito, un Display Name da mostrare nel selettore e l’API Base URL del tuo endpoint. Salva, poi apri il provider appena creato e incolla la chiave nel campo «Set <name> API Key» nella sua pagina: la chiave non fa parte della finestra di creazione. Infine, scorri fino in fondo alla pagina e fai clic su Add Custom Model una volta per ogni ID modello che vuoi rendere disponibile. La documentazione di Dyad riassume in una riga il requisito relativo all’endpoint: è compatibile qualsiasi provider che offra un’API compatibile con OpenAI.

L’API Base URL di Dyad deve terminare con /v1?

Per un endpoint compatibile con OpenAI, sì; per esempio, https://api.kunavo.com/v1. La documentazione di Dyad sui modelli personalizzati non chiarisce questo punto: dice solo che di solito puoi trovare l’API Base URL nella documentazione del provider e non riporta esempi. La risposta si trova nella finestra di dialogo, il cui segnaposto è «E.g., https://api.example.com/v1», e nel modo in cui Dyad crea il client: il valore indicato diventa, senza modifiche, la baseURL di un client compatibile con OpenAI e a essa viene aggiunto solo il percorso. Se l’URL di base non include /v1, si ottiene un errore 404, non un errore di autenticazione; lo stesso accade se contiene già /chat/completions.

Posso usare Dyad con i modelli Claude senza un account Anthropic?

Sì, tramite un provider personalizzato, anziché tramite la voce Anthropic integrata in Dyad. Dyad crea ogni provider personalizzato come client OpenAI chat completions, quindi l’ID modello che inserisci viene risolto dall’endpoint configurato, non dall’app; è quindi possibile inviare un ID Claude. Il provider Anthropic integrato non è adatto: viene creato senza un argomento per l’URL di base, quindi non è possibile impostare un override del tipo ANTHROPIC_BASE_URL e il provider raggiunge solo l’endpoint di Anthropic.

Un provider personalizzato in Dyad è diverso dall’uso di OpenRouter?

Solo nella configurazione, non nella tipologia. OpenRouter è l’unico gateway indipendente per più fornitori con un preset integrato nell’elenco dei provider di Dyad; richiede quindi solo una chiave. Tutti gli altri gateway si aggiungono tramite Add Custom Provider, dove devi inserire manualmente anche l’ID di ogni modello, Max Output Tokens e Context Window. Il manutentore di Dyad ha indicato proprio questa procedura quando un gateway ha chiesto di essere aggiunto come preset. Confrontali in base al prezzo, alle condizioni di finanziamento e ai modelli che vuoi effettivamente usare, non in base alla presenza di un logo nell’elenco.

Perché il mio modello personalizzato Dyad inizia a riassumere la conversazione così presto?

Probabilmente il campo Context Window è stato lasciato vuoto. Se è vuoto, Dyad usa 128,000 token e compatta raggiunto il valore più basso tra il limite del provider e la Context Window meno 25,000. Per un provider personalizzato, il limite è 250,000, non quello di Google o OpenAI. Anche con un modello che ha una finestra molto più ampia, lasciarlo vuoto significa quindi che la compattazione inizia intorno a 103,000 token. Inserisci i valori effettivi del catalogo del provider nei campi Max Output Tokens e Context Window e la soglia raggiungerà il limite massimo.