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.
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 = 200000base_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.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.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.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
- Crie uma chave em
/app/keyse copie-a — ela é exibida uma única vez. - Abra
~/.kimi-code/config.toml, criado na primeira execução. Se você tiver alterado o diretório de dados comKIMI_CODE_HOME, o arquivo estará em$KIMI_CODE_HOME/config.toml; o nome do arquivo será sempreconfig.toml. - Adicione a tabela
[providers.kunavo]acima. As três chaves que a documentação mostra para esse tipo, nesta ordem, sãotype,base_urleapi_key. - Defina um alias de modelo em
[models."..."]comprovider,modelemax_context_size— os três são obrigatórios. O alias é o nome passado para-medefault_model; o valor demodelé o ID enviado pela rede. Coloque entre aspas qualquer alias que contenha um ponto. - 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. - Execute
kimioukimi -m kunavo/claude-sonnet-5para selecionar o alias de uma sessão. Para testar o endpoint sem tocar na configuração, definaKIMI_MODEL_NAME,KIMI_MODEL_API_KEY,KIMI_MODEL_PROVIDER_TYPE=openaieKIMI_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.
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 modelo | Entrada / saída da Kunavo | Onde se encaixa em Kimi Code |
|---|---|---|
claude-sonnet-5 | $1.40 / $7.00 | o alias padrão — o modelo de trabalho para ciclos de edição e execução |
claude-opus-5 | $3.50 / $17.50 | um segundo alias para etapas de planejamento, nas quais um plano incorreto custa caro |
claude-haiku-4-5 | $0.70 / $3.50 | o alias econômico a configurar em [secondary_ |
gpt-5-6-sol | $2.00 / $12.00 | uma segunda opinião de outra família, com a mesma chave e a mesma tabela de provedores |
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.