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
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/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.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.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.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
- Crea una chiave su
/app/keyse copiala: viene mostrata una sola volta. - 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.
- 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.
- 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. - Inserisci Max Output Tokens e Context Window prendendo i valori da
/modelsanziché 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. - 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.
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 modello | Kunavo ingresso / uscita | Dove si inserisce in Dyad |
|---|---|---|
claude-sonnet-5 | $1.40 / $7.00 | il modello predefinito della modalità Build: qualità di programmazione per dollaro in un ciclo attivo tutto il giorno |
claude-opus-5 | $3.50 / $17.50 | la modalità Plan per un refactoring in cui un piano sbagliato costa un’intera sessione |
claude-haiku-4-5 | $0.70 / $3.50 | la modalità Ask e le domande rapide sul codebase, dove il volume prevale su tutto |
gpt-5-6-sol | $2.00 / $12.00 | un secondo parere da un’altra famiglia: aggiungila come secondo modello personalizzato, con lo stesso provider |
gpt-5-6-terra | $0.70 / $4.20 | un insieme di lavoro ampio, dopo aver compilato correttamente il campo Context Window |
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.
- 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à.
- 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.
- 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.