Documentação

Documentação

Kimi Code

O Kimi Code armazena os provedores em um arquivo TOML, e um endpoint de terceiros exige três chaves nesse arquivo: type, base_url, api_key. Aponte um deles para o Kunavo e a CLI se comunicará com IDs Claude e GPT pelo protocolo que já utiliza.

O Kimi Code mantém os provedores em ~/.kimi-code/config.toml — defina providers.<name>.base_url como https://api.kunavo.com/v1 com type = "openai" e a CLI executará IDs Claude e GPT usando uma única chave.

~/.kimi-code/config.toml
default_model = "kunavo/claude-sonnet-5"

[providers.kunavo]
type = "openai"
base_url = "https://api.kunavo.com/v1"
api_key = "sk-kn-..."

[models."kunavo/claude-sonnet-5"]
provider = "kunavo"
model = "claude-sonnet-5"
max_context_size = 200000
base_url mantém o sufixo /v1. A página de provedores esclarece isso sem deixar margem para inferências: o valor padrão documentado de type = "openai" é https://api.openai.com/v1, e o exemplo prático da página de variáveis de ambiente para um endpoint de terceiros é KIMI_MODEL_BASE_URL="https://api.example.com/v1". O Kimi Code acrescenta apenas a rota, portanto uma origem sem sufixo aqui resulta em 404, não em erro de autenticação. O oposto ocorre com os clientes que usam o protocolo Anthropic, que precisam de https://api.kunavo.com sem sufixo.
Exportar uma variável de shell não fornece uma chave ao provedor. A página sobre os arquivos de configuração do próprio Kimi Code é clara: executar export KIMI_API_KEY no terminal não fornece uma chave a nenhum provedor. A ordem de prioridade documentada é api_key ou api_key_env — defina exatamente uma, pois são mutuamente exclusivas —, depois uma chave na subtabela [providers.kunavo.env] se nenhuma delas estiver presente; se todas estiverem ausentes, a inicialização falhará com um erro. Para manter a chave fora do arquivo, use api_key_env = "KUNAVO_API_KEY" em vez de api_key; se a variável não estiver definida ou estiver vazia, a solicitação falhará com um erro que identifica a variável.
O Kunavo não executou este cliente em seu próprio endpoint. O bloco acima foi extraído da documentação atual do Kimi Code, não de uma sessão: não há registro aqui de uma solicitação real, com streaming ou chamada de ferramentas, feita pelo Kimi Code. Portanto, trate a primeira solicitação real como um teste, não como uma confirmação. A página publicada descreve a configuração, não a validação.
type identifica o protocolo, não o fornecedor. O conjunto documentado inclui kimi, anthropic, openai, openai_responses, google-genai e vertexai — a tabela atual não inclui uma variante OpenAI legada, portanto, um tutorial que recomenda configurá-la está desatualizado. Escolher openai e depois inserir um ID de modelo Claude é a combinação prevista: o ID é resolvido na URL base, não na CLI.
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 Kimi Code.

Passo a passo

  1. Crie uma chave em /app/keys e copie-a — ela é exibida uma única vez.
  2. Abra ~/.kimi-code/config.toml, criado na primeira execução. Se você tiver alterado o diretório de dados com KIMI_CODE_HOME, o arquivo estará em $KIMI_CODE_HOME/config.toml; o nome do arquivo será sempre config.toml.
  3. Adicione a tabela [providers.kunavo] acima. As três chaves que a documentação mostra para esse tipo, nesta ordem, são type, base_url e api_key.
  4. Defina um alias de modelo em [models."..."] com provider, model e max_context_size — os três são obrigatórios. O alias é o nome passado para -m e default_model; o valor de model é o ID enviado pela rede. Coloque entre aspas qualquer alias que contenha um ponto.
  5. Na primeira configuração, não inclua capabilities. A página de provedores diz que os recursos são associados automaticamente pelo prefixo do nome do modelo, e a tabela de modelos afirma que o array só recebe itens, nunca os remove — portanto, uma tag incorreta não poderá ser desfeita depois com uma edição da configuração.
  6. Execute kimi ou kimi -m kunavo/claude-sonnet-5 para selecionar o alias de uma sessão. Para testar o endpoint sem tocar na configuração, defina KIMI_MODEL_NAME, KIMI_MODEL_API_KEY, KIMI_MODEL_PROVIDER_TYPE=openai e KIMI_MODEL_BASE_URL — a CLI cria um provedor em memória e não grava nada no arquivo.

Verificado em Página de provedores e modelos do Kimi Code 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 Kimi Code vs Claude Code — qual cliente, qual modelo, qual conta.

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 Kimi Code.

# 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 Kimi Code
claude-sonnet-5$1.40 / $7.00o alias padrão — o modelo de trabalho para ciclos de edição e execução
claude-opus-5$3.50 / $17.50um segundo alias para etapas de planejamento, nas quais um plano incorreto custa caro
claude-haiku-4-5$0.70 / $3.50o alias econômico a configurar em [secondary_model] para subagentes
gpt-5-6-sol$2.00 / $12.00uma segunda opinião de outra família, com a mesma chave e a mesma tabela de provedores
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.

Perguntas frequentes

Como direciono o Kimi Code para um endpoint de API personalizado?

Adicione uma tabela de provedor a ~/.kimi-code/config.toml com type = "openai", base_url definido como o endpoint e api_key definido como a sua chave; em seguida, declare um alias de modelo em [models."<alias>"] com provider, model e max_context_size. A página de provedores do Kimi Code documenta que type = "openai" se destina ao protocolo OpenAI Chat Completions e a qualquer serviço de terceiros compatível com ele, com a possibilidade de substituir base_url conforme necessário. Você também pode abrir o gerenciador de provedores com /provider na TUI, mas o caminho de provedores conhecidos importa dados do catálogo models.dev, então adicionar manualmente um endpoint que não consta nesse catálogo é mais rápido.

O base_url do Kimi Code precisa terminar em /v1?

Sim, para um endpoint compatível com OpenAI. O Kimi Code acrescenta apenas a rota, então base_url precisa ser a raiz /v1 — por exemplo, https://api.kunavo.com/v1. A documentação esclarece isso: o base_url padrão para type = "openai" é https://api.openai.com/v1, e o exemplo da página de variáveis de ambiente para terceiros é https://api.example.com/v1. Se faltar /v1, o resultado será 404, não 401.

Por que o Kimi Code diz que minha chave de API está ausente, mesmo com a variável exportada?

Porque ele não lê variáveis de ambiente do shell para obter credenciais, a menos que você indique qual delas deve ler. A página sobre arquivos de configuração afirma que executar export KIMI_API_KEY não fornece uma chave a nenhum provedor. Você pode escrever api_key diretamente em config.toml ou definir api_key_env com o nome da variável — essas duas opções são mutuamente exclusivas, então defina apenas uma. Uma subtabela [providers.<name>.env] só é consultada quando nenhuma delas está presente; se as três estiverem ausentes, a inicialização falhará com um erro.

O Kimi Code pode executar modelos Claude por meio de um provedor de terceiros?

O tipo de provedor identifica um protocolo, não o fornecedor, e o valor de model é encaminhado para qualquer base_url configurado. Assim, um ID Claude definido em um provedor do tipo openai é resolvido nesse endpoint, não na CLI. O Kimi Code também tem um tipo separado, type = "anthropic", para o protocolo Anthropic Messages, cuja URL base é a origem sem o sufixo /v1. O Kunavo não executou uma sessão do Kimi Code em seu próprio endpoint com nenhum dos protocolos; portanto, verifique com o curl acima e trate a primeira sessão como um teste.