Documentazione

Documentazione

twinny

twinny non chiede un URL di base. Richiede un protocollo, un nome host, una porta e un percorso API; per la chat, quel percorso corrisponde all’API di base. Quindi imposta https e api.kunavo.com e inserisci /v1, lasciando vuoto il campo della porta.

twinny non ha un campo per l'URL di base — Add provider → OpenAI-compatible server, poi Protocol https, Hostname api.kunavo.com, Port vuoto e API path /v1; il pannello chat usa la tua chiave.

Scheda Providers → Add provider → OpenAI-compatible server
Label          Kunavo
Type           Chat
Provider       OpenAI-compatible server
Hostname       api.kunavo.com
Port           (leave blank — "Blank means the protocol's default")
Protocol       https
API path       /v1
Model name     claude-sonnet-5
FIM template   (Autocomplete only — not part of a Chat provider)
API key        sk-kn-...
Il API path è /v1, non /v1/chat/completions. La tabella dei provider di twinny chiarisce tutto in una frase: "Per la chat, il percorso è l’API di base; twinny aggiunge /chat/completions" — quindi un percorso che include già la route genera /v1/chat/completions/chat/completions e un 404. Qui non c’è un unico campo per l’URL di base da compilare in modo errato, ma la stessa tabella offre una scorciatoia: incolla https://api.kunavo.com/v1 in Hostname e viene "suddiviso in protocollo, host, porta e percorso".
Scegli la preimpostazione generica OpenAI-compatible server, non quella OpenAI o Anthropic. La pagina delle API ospitate di twinny afferma che la chat passa “tramite l’SDK del fornitore al suo endpoint fisso, quindi i campi relativi a nome host, porta e percorso sono nascosti” — la chiave verrebbe inviata a quel fornitore, che non ospita il tuo endpoint. Le etichette dei campi qui sopra seguono l’ordine della tabella del modulo del provider.
Kunavo non ha eseguito twinny con questo endpoint. Questa pagina si basa sulla documentazione di twinny e sulla tabella delle route di Kunavo; una pagina di configurazione pubblicata non equivale a un test. A dimostrarne il funzionamento è il pulsante Test provider di twinny: “invia una piccola richiesta per il compito del provider e mostra il successo oppure l’errore restituito dal server, insieme all’URL chiamato”.
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 twinny.

Passo dopo passo

  1. Crea una chiave su /app/keys e copiala: viene mostrata una sola volta.
  2. Apri la scheda Providers dall’icona del robot in cima alla barra laterale oppure esegui Manage twinny providers dalla tavolozza dei comandi.
  3. Add provider → in On your machine seleziona OpenAI-compatible server, la preimpostazione generica. Per impostazione iniziale, punta a localhost:8080.
  4. Imposta Protocol su https, Hostname su api.kunavo.com, svuota Port e imposta API path su /v1. Lascia Type su Chat.
  5. Incolla la chiave in API key — twinny la invia come Authorization: Bearer. Poi imposta Model name, digitandolo oppure tramite Choose from the server's models, poiché Kunavo risponde a GET /v1/models.
  6. Fai clic su Test provider, poi su Use this provider per renderlo il provider di chat attivo. Usa Copy per duplicare la riga e aggiungere un secondo modello, anziché reinserire i quattro campi dell’endpoint.

Verificato rispetto a la pagina Other local servers di twinny 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 il confronto tra twinny e Continue.

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 twinny.

# 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 twinny
claude-sonnet-5$1.40 / $7.00il pannello della chat, la modifica in linea e la revisione del codice — la configurazione predefinita operativa
claude-haiku-4-5$0.70 / $3.50messaggi di commit, assistenti per il terminale e azioni sul codice, in cui prevale il volume
gpt-5-6-terra$0.70 / $4.20file lunghi incollati nella chat e un secondo parere da un’altra famiglia quando una revisione sembra superficiale
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.

La chat funziona. Il completamento automatico e l’indice no.

twinny suddivide il lavoro tra tre tipi di provider, ciascuno configurato separatamente — quindi l’affermazione “twinny funziona con Kunavo” vale soltanto per uno di essi. Per gli altri due, non si tratta di configurazioni ancora da trovare: le route necessarie non sono servite da Kunavo.

Tipo di providerCosa invia twinnyCompatibilità con api.kunavo.com
ChatRichiesta POST nel formato OpenAI a <API path>/chat/completionsCompatibile — è la configurazione descritta sopra.
Completamento automatico (FIM)un prompt grezzo fill-in-the-middle a /v1/completionsNo. Kunavo non dispone della route /v1/completions né di un modello base o per il codice che possa gestirla.
Embeddinguna richiesta a /v1/embeddingsNo. Kunavo non offre modelli di embedding, quindi non è possibile creare l’indice dell’area di lavoro.

Nessuna delle due lacune impedisce la configurazione, perché twinny mantiene un provider attivo per ciascun tipo e i provider sono indipendenti. La pagina di twinny sulle API ospitate definisce questa suddivisione “una configurazione comune”: un piccolo modello base locale per il completamento, affiancato da un modello ospitato per chat, revisione e modifiche. L’indice dell’area di lavoro segue lo stesso schema: il calcolo degli embedding non è disponibile qui e la documentazione di twinny indica di usare invece un modello locale, ad esempio nomic-embed-text su Ollama. I vettori generati da modelli diversi non sono compatibili, quindi cambiare modello richiede di ricreare l’indice, non di aggiornarlo.

Domande frequenti

Come configuro twinny per usare un endpoint API personalizzato?

Apri la scheda Providers dall’icona del robot nella barra laterale di twinny, seleziona Add provider e, in "On your machine", scegli la preimpostazione generica "OpenAI-compatible server". La documentazione di twinny specifica che il modulo del provider accetta qualsiasi nome host, porta, protocollo e percorso; imposta quindi Protocol su https, Hostname sul nome host del tuo endpoint, lascia vuoto Port per usare la porta predefinita del protocollo e imposta API path sull’API di base. Incolla la chiave nel campo API key, che twinny invia nell’intestazione Authorization: Bearer, poi fai clic su Test provider: verrà inviata una piccola richiesta per il compito del provider e verrà segnalato il successo oppure l’errore restituito dal server, insieme all’URL chiamato.

Il percorso API di twinny deve essere /v1 o /v1/chat/completions?

Per un provider di chat, il percorso è /v1. La tabella dei provider di twinny specifica: “Per la chat, il percorso è l’API di base; twinny aggiunge /chat/completions”, quindi l’estensione compone autonomamente la route completa. Se il percorso la include già, si ottiene /v1/chat/completions/chat/completions e il server restituisce un 404, anziché un errore di autenticazione. Per il completamento automatico e gli embedding vale la convenzione opposta nello stesso modulo: in quei casi, API path deve contenere la route completa, ovvero /v1/completions e /v1/embeddings nei valori predefiniti della preimpostazione generica.

Dove va inserita la chiave API di twinny? Esiste un campo per l’URL di base?

La chiave va inserita nel campo API key del provider e viene inviata come Authorization: Bearer; secondo la documentazione di twinny, le chiavi vengono salvate nello storage di VS Code insieme al provider e oscurate nei log di twinny. Non esiste un unico campo per l’URL di base: l’endpoint è suddiviso tra Protocol, Hostname, Port e API path. Puoi risparmiare tempo incollando l’URL completo in Hostname: la documentazione specifica che un URL incollato, ad esempio https://my-box:8080/v1, viene suddiviso in protocollo, host, porta e percorso. Incollando https://api.kunavo.com/v1 compilerai quindi tre campi in una volta.

Il completamento automatico di twinny può usare un gateway ospitato come Kunavo?

No, perché manca una route, non un’impostazione. La preimpostazione generica compatibile con OpenAI di twinny invia un prompt grezzo fill-in-the-middle a una route di tipo /v1/completions, che api.kunavo.com non serve; inoltre, il catalogo non include modelli base o per il codice addestrati per il fill-in-the-middle. Mantieni il completamento automatico su un server locale: nelle FAQ twinny suggerisce qwen2.5-coder:1.5b-base su Ollama, e usa il provider ospitato per la chat. twinny definisce comune questa combinazione; poiché il provider attivo è selezionato per tipo, non è necessario passare da un provider all’altro.

Kunavo può gestire l’indice dell’area di lavoro di twinny?

No. L’indice dell’area di lavoro genera embedding dei file tramite un provider Embeddings e Kunavo non offre modelli di embedding: nel catalogo non c’è alcun modello che fornisca questo endpoint, quindi la richiesta viene rifiutata. Per questo compito, la documentazione di twinny raccomanda nomic-embed-text su Ollama, che viene eseguito sulla tua macchina ed è indipendente dal provider della chat. Questa configurazione suddivisa è possibile; ricorda che se in seguito cambi il modello di embedding dovrai ricreare l’indice, perché i vettori di modelli diversi non sono compatibili.

Perché non usare la preimpostazione OpenAI o Anthropic di twinny con una chiave Kunavo?

Perché queste preimpostazioni non inviano la richiesta alla destinazione che immagini. La pagina sulle API ospitate di twinny specifica che le chat con un’API ospitata passano tramite l’SDK del fornitore al suo endpoint fisso, perciò i campi relativi a nome host, porta e percorso sono nascosti: la chiave che inserisci verrebbe inviata all’endpoint del fornitore, non al tuo gateway. La preimpostazione generica "OpenAI-compatible server" è quella che lascia modificabili i campi dell’endpoint, ed è per questo che è quella indicata sopra. Gli ID modello vengono passati all’endpoint configurato; usare un ID Claude con un provider compatibile con OpenAI è quindi la combinazione prevista, non un’incompatibilità.

Kunavo ha testato twinny?

No. Kunavo non ha eseguito test di questo client durante l’uso; la configurazione sopra è stata ricavata dalla documentazione ufficiale di twinny, verificata il 21 settembre 2026, e dalla tabella delle route di Kunavo. Una pagina di configurazione pubblicata non equivale a un test. Puoi verificarlo gratuitamente con il pulsante Test provider di twinny, che riporta l’URL chiamato e la risposta del server; una richiesta curl a /v1/models permette di stabilire se un errore dipende dall’endpoint, dalla chiave o dal modulo.