Documentação

Documentação

twinny

O twinny não pede uma URL base. Ele pede um protocolo, um nome de host, uma porta e um caminho de API; para chat, esse caminho é a base da API — portanto, use https, api.kunavo.com e /v1, e deixe a porta em branco.

O twinny não tem campo de URL base — Add provider → OpenAI-compatible server, depois Protocol https, Hostname api.kunavo.com, Port em branco e API path /v1; o painel de chat usa sua chave.

Aba 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-...
O caminho da API é /v1, não /v1/chat/completions. A tabela de provedores do twinny esclarece isso em uma frase — "Para chat, o caminho é a base da API; o twinny acrescenta /chat/completions" — portanto, um caminho que já contém a rota resulta em /v1/chat/completions/chat/completions e em um 404. Não há um único campo de URL base que possa ser preenchido incorretamente, mas a mesma tabela oferece um atalho: cole https://api.kunavo.com/v1 em Hostname e ele será "dividido em protocolo, host, porta e caminho".
Escolha a predefinição genérica OpenAI-compatible server, e não a da OpenAI ou da Anthropic. A página de APIs hospedadas do twinny diz que o chat “passa pelo SDK do fornecedor até seu endpoint fixo, por isso os campos de nome de host, porta e caminho ficam ocultos” — a chave seria enviada a esse fornecedor, cujo endpoint não é o seu. Os rótulos dos campos acima são os da tabela do formulário do provedor, na ordem apresentada.
A Kunavo não executou o twinny com este endpoint. Esta página foi elaborada com base na documentação do próprio twinny e na tabela de rotas da Kunavo; uma página de configuração publicada não é um teste. O botão Test provider do twinny é o que realmente comprova o funcionamento — ele “envia uma pequena solicitação para a função do provedor e mostra o sucesso ou o erro retornado pelo servidor, junto com a URL chamada”.
Ainda não tem uma chave? Crie uma conta na Kunavo, gere uma chave (ela começa com sk-kn-) e adicione crédito a partir de $10 — as chamadas são pagas com esse saldo, e chamadas malsucedidas não são cobradas. O painel então abre na configuração de twinny.

Passo a passo

  1. Crie uma chave em /app/keys e copie-a — ela é exibida uma única vez.
  2. Abra a aba Providers pelo ícone do robô na parte superior da barra lateral ou execute Manage twinny providers na paleta de comandos.
  3. Add provider → em On your machine, escolha OpenAI-compatible server, a predefinição genérica. Ela já vem apontada para localhost:8080.
  4. Defina Protocol como https, Hostname como api.kunavo.com, limpe Port e defina API path como /v1. Mantenha Type em Chat.
  5. Cole a chave em API key — o twinny a envia como Authorization: Bearer. Em seguida, defina Model name, digitando-o ou usando Choose from the server's models, já que a Kunavo atende GET /v1/models.
  6. Pressione Test provider e, em seguida, Use this provider para torná-lo o provedor de chat ativo. Use Copy para duplicar a linha para um segundo modelo, em vez de digitar novamente os quatro campos do endpoint.

Verificado em a página Other local servers do twinny em 21 de setembro de 2026. As configurações de terceiros podem mudar; se o nome de um campo aqui já não corresponder ao que você vê, aquela página é a autoridade, não esta.

Esta é a versão resumida. O guia completo — escolha do modelo, custo de uma sessão real e modos de falha — está em a comparação entre twinny e Continue.

Verifique antes de depurar o cliente

Uma solicitação determina se a falha está no endpoint, na chave ou no arquivo de configuração. Se isto retornar JSON, a mesma URL base e a mesma chave funcionarão em 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-..."

Qual ID de modelo inserir no campo

Todo modelo de texto pode ser acessado como um ID de modelo — a lista atual está em GET /v1/models, e o catálogo com preços está na página de modelos. As tarifas são em USD por 1 milhão de tokens, entrada / saída.

ID do modeloEntrada / saída da KunavoOnde se encaixa em twinny
claude-sonnet-5$1.40 / $7.00o painel de chat, a edição em linha e a revisão de código — a configuração padrão funcional
claude-haiku-4-5$0.70 / $3.50mensagens de commit, assistentes de terminal e ações de código, em que o volume predomina
gpt-5-6-terra$0.70 / $4.20arquivos longos colados no chat e uma segunda opinião de outra família quando uma revisão parece superficial
A cobrança é por token, usando um saldo pré-pago e sem tarifa mensal — consulte billing. Em contextos repetidos — que representam a maior parte do que um editor ou cliente de chat envia — o cache de prompt altera a conta mais do que a escolha do modelo.

O chat funciona. A conclusão automática e o índice, não.

O twinny divide o trabalho entre três tipos de provedor, e cada um é configurado separadamente — portanto, “o twinny funciona com a Kunavo” só é verdade para um deles. Os outros dois não são uma configuração que você ainda não encontrou; as rotas de que precisam não são atendidas pela Kunavo.

Tipo de provedorO que o twinny enviaEm api.kunavo.com
ChatPOST no formato OpenAI para <API path>/chat/completionsFunciona — esta é a página acima.
Conclusão automática (FIM)um prompt bruto de preenchimento no meio para /v1/completionsNão. A Kunavo não tem uma rota /v1/completions, nem um modelo base ou de código para operá-la.
Representações vetoriaisuma solicitação para /v1/embeddingsNão. A Kunavo não oferece um modelo de embeddings, então não é possível criar o índice do espaço de trabalho aqui.

Nenhuma dessas lacunas impede a configuração, pois o twinny mantém um provedor ativo por tipo, e eles são independentes entre si. A própria página de APIs hospedadas do twinny chama essa divisão de “uma configuração comum”: um modelo base local pequeno para conclusão, junto com um modelo hospedado para chat, revisão e edição. O índice do espaço de trabalho segue a mesma lógica — a etapa de embeddings não é atendida aqui, e a documentação do twinny recomenda usar para isso um modelo local, como nomic-embed-text no Ollama. Vetores de modelos diferentes não se misturam; portanto, mudar esse modelo exige recriar o índice, e não apenas atualizá-lo.

Perguntas frequentes

Como configuro o twinny para usar um endpoint de API personalizado?

Abra a aba Providers pelo ícone do robô na barra lateral do twinny, escolha Add provider e, em "On your machine", selecione a predefinição genérica chamada "OpenAI-compatible server". A documentação do twinny informa que o formulário do provedor aceita qualquer nome de host, porta, protocolo e caminho; portanto, defina Protocol como https, Hostname como o host do seu endpoint, deixe Port em branco para usar a porta padrão do protocolo e defina API path como a base da API. Cole sua chave no campo API key, que o twinny envia no cabeçalho Authorization: Bearer, e pressione Test provider — ele envia uma pequena solicitação para a função do provedor e informa se houve sucesso ou qual erro o servidor retornou, junto com a URL chamada.

O caminho da API do twinny precisa ser /v1 ou /v1/chat/completions?

Para um provedor de chat, use /v1. A tabela de provedores do twinny diz: “Para chat, o caminho é a base da API; o twinny acrescenta /chat/completions”; assim, a extensão monta a rota completa. Se o caminho já incluir esse trecho, ele resultará em /v1/chat/completions/chat/completions, que retorna 404, e não um erro de autenticação. O formulário usa a convenção oposta para conclusão automática e embeddings: nesses casos, o caminho da API é a rota completa, /v1/completions e /v1/embeddings, conforme os valores padrão da predefinição genérica.

Onde devo inserir a chave de API do twinny? Há um campo de URL base?

A chave deve ser inserida no campo API key do provedor e é enviada como Authorization: Bearer; a documentação do twinny informa que as chaves são armazenadas junto ao provedor no armazenamento do VS Code e ocultadas nos registros do twinny. Não há um único campo de URL base — o endpoint é dividido entre Protocol, Hostname, Port e API path. Há um atalho: colar a URL completa em Hostname funciona. A documentação diz que uma URL colada, como https://my-box:8080/v1, é dividida em protocolo, host, porta e caminho; portanto, colar https://api.kunavo.com/v1 preenche três campos de uma só vez.

A conclusão automática do twinny pode usar um gateway hospedado como a Kunavo?

Não, e o motivo é a ausência de uma rota, não de uma configuração. A predefinição genérica compatível com OpenAI do twinny envia um prompt bruto de preenchimento no meio para uma rota no formato /v1/completions, e api.kunavo.com não atende /v1/completions; o catálogo também não inclui um modelo base ou de código treinado para preenchimento no meio. Mantenha a conclusão automática em um servidor local — o FAQ do twinny sugere qwen2.5-coder:1.5b-base no Ollama — e use o provedor hospedado para o chat. O twinny chama essa combinação de configuração comum e, como o provedor ativo é escolhido por tipo, não é necessário alternar.

A Kunavo pode alimentar o índice do espaço de trabalho do twinny?

Não. O índice do espaço de trabalho gera embeddings dos seus arquivos usando um provedor de Embeddings, e a Kunavo não oferece um modelo de embeddings — nenhum modelo do catálogo atende esse endpoint, então a solicitação é rejeitada em vez de respondida. A documentação do próprio twinny recomenda usar nomic-embed-text no Ollama para essa tarefa, que é executado na sua máquina e é independente do provedor que atende o chat. Trata-se de uma configuração dividida, não de uma configuração bloqueada; observe que é preciso recriar o índice se você mudar o modelo de embeddings, pois vetores de modelos diferentes não se misturam.

Por que não usar a predefinição OpenAI ou Anthropic do twinny com uma chave Kunavo?

Porque essas predefinições não enviam a solicitação para onde você pensa. A página de APIs hospedadas do twinny diz que o chat com uma API hospedada passa pelo SDK do fornecedor até seu endpoint fixo; por isso, os campos de nome de host, porta e caminho ficam ocultos. A chave que você colar seria enviada ao endpoint do próprio fornecedor, não ao seu gateway. A predefinição genérica "OpenAI-compatible server" mantém os campos do endpoint editáveis, por isso é a predefinição indicada acima. Os IDs dos modelos são repassados ao endpoint configurado; portanto, usar um ID Claude com um provedor compatível com OpenAI é a combinação pretendida, não uma incompatibilidade.

A Kunavo testou o twinny?

Não. A Kunavo não executou nenhum teste em tempo real deste cliente; a configuração acima foi extraída da documentação do próprio twinny, verificada em 21 de setembro de 2026, e da tabela de rotas da Kunavo. Uma página de configuração publicada não é um teste. A verificação que não custa nada é o botão Test provider do twinny, que informa a URL chamada e o que o servidor respondeu; uma única solicitação curl a /v1/models permite determinar se a falha está no endpoint, na chave ou no formulário.