Formulário de contato

Nome

E-mail *

Mensagem *

Imagem

Kimi Code + NVIDIA GLM-5.3: o Shim que Resolve o Erro 400

Kimi Code + NVIDIA GLM-5.3: o Shim que Resolve o Erro 400

Publicado por em


@CanalQb no YouTube


@CanalQb

Instale a NVIDIA no Kimi Code e Acabe com o Erro 400


Leitura: ~9 min

TL;DR

  • Testamos o shim do @CanalQb e o erro 400 do prompt_cache_key desapareceu em menos de 5 minutos de instalação.
  • O kit roda 100% local na porta 8878, sem expor nada na rede e sem guardar sua chave da NVIDIA em nenhum momento.
  • Resultado prático: o modelo GLM-5.3 da NVIDIA passa a funcionar no Kimi Code com streaming, ferramentas e thinking completos.

Nota Técnica: Scripts e automações fornecidos têm fins exclusivamente educacionais. Teste sempre em ambiente controlado. O @CanalQb não se responsabiliza por danos, perdas ou bloqueios decorrentes do uso indevido.

Um campo JSON invisível trava toda chamada do Kimi Code para a NVIDIA.
O erro aparece como 400 status code (no body) mesmo com a chave certa, o modelo certo e o config.toml validado pelo kimi doctor. A causa é um parâmetro que o Kimi manda sempre — e que a NVIDIA rejeita sempre.
Testamos, isolamos a causa exata e criamos um shim local que resolve isso sem tocar no binário do Kimi. Aqui no @CanalQb, validamos que o processo inteiro — da instalação ao primeiro "OK" respondido pelo modelo — leva menos tempo do que ler este parágrafo duas vezes.

[providers.nvidia]
# local shim strips prompt_cache_key (Kimi always sends it; NVIDIA NIM rejects it -> HTTP 400)

type = "openai"
base_url = "http://127.0.0.1:8878/v1"
api_key = "nvapi-37M3ADdBCi4gXaZKk_2PNNw0XqIpCJq4egqyjtfWldYZChYO..."

[models."nvidia/glm53"]
provider = "nvidia"
model = "z-ai/glm-5.3"
max_context_size = 262144
display_name = "GLM-5.3 NVIDIA"
capabilities = ["thinking"]
support_efforts = ["low", "high", "max"]
default_effort = "low"
off_effort = "none"

O que é o shim do Kimi Code para NVIDIA?

O shim é um mini-proxy local, escrito em Python, que fica entre o Kimi Code e o endpoint da NVIDIA. Ele intercepta cada requisição, remove o campo prompt_cache_key do JSON e repassa tudo o resto — autenticação, ferramentas, streaming — sem alterar nenhum outro comportamento do CLI.

E o melhor? Ele não modifica o binário do Kimi Code, não instala dependências além do Python padrão e não expõe nada na rede — escuta apenas em 127.0.0.1. Isso significa que você continua usando o Kimi normalmente, do jeito que já conhece, só que agora com o modelo z-ai/glm-5.3 hospedado na infraestrutura da NVIDIA funcionando de ponta a ponta.

Por que o Kimi Code retorna erro 400 com a NVIDIA?

O Kimi Code envia sempre o parâmetro prompt_cache_key — com o ID da sessão — em qualquer requisição para providers do tipo openai. Esse comportamento foi introduzido na versão 0.29.0 do CLI, e a NVIDIA (via NIM) simplesmente não reconhece esse campo e rejeita a chamada inteira.

HTTP 400
{"message":"Validation: Unsupported parameter(s): `prompt_cache_key`", ...}

Mas tem um porém: não existe opção de configuração, variável de ambiente ou plugin oficial para desativar esse envio — o código-fonte do Kimi (profileService.ts) fixa o cacheKey como o ID da sessão e injeta o campo em toda chamada, sem exceção. Ou seja: não é sua chave, não é o modelo, não é o max_tokens. É um campo que o Kimi manda e a NVIDIA recusa, ponto final.

Como o shim funciona por dentro?

Veja agora como o fluxo real de dados acontece entre os três lados envolvidos:

kimi.exe ──> http://127.0.0.1:8878/v1 (shim local)
               │ remove apenas "prompt_cache_key" do JSON
               │ repassa Authorization, tools, reasoning_effort, streaming SSE...
               └──> https://integrate.api.nvidia.com/v1/chat/completions

Repare no detalhe: o shim só escuta em 127.0.0.1, nunca guarda sua chave da NVIDIA — apenas repassa o cabeçalho Authorization como recebeu — e não altera mais nada na requisição ou na resposta. Streaming e uso de ferramentas continuam funcionando exatamente como antes. Se já houver outra instância dele rodando na porta 8878, ele simplesmente fecha em silêncio, sem gerar conflito.

O que você precisa antes de instalar?

Antes de rodar qualquer comando, confira se o seu ambiente atende estes quatro pontos:

  • Windows com Kimi Code na versão 2.0.x — confirme com kimi --version.
  • Python 3.10 ou superior instalado, incluindo o pythonw.exe — confirme com python --version.
  • Uma chave da NVIDIA no formato nvapi-..., gerada gratuitamente em build.nvidia.com.
  • PowerShell — já vem instalado por padrão em qualquer Windows atual.

A chave da NVIDIA não acompanha o kit: cada pessoa gera a sua própria conta gratuita no portal oficial. O modelo usado neste guia é o z-ai/glm-5.3.

Como instalar o shim automaticamente no Windows?

Este é o caminho mais rápido e o que recomendamos para a maioria dos casos. São só dois passos até o shim estar rodando.

Passo 1 — Abra o PowerShell dentro da pasta do kit. Segure Shift, clique com o botão direito na pasta e escolha "Abrir janela do PowerShell aqui". Isso é necessário porque o script usa o caminho da pasta atual ($PSScriptRoot) para localizar os arquivos.

Passo 2 — Execute o instalador:

powershell -NoProfile -ExecutionPolicy Bypass -File .\install.ps1

O parâmetro -ExecutionPolicy Bypass permite rodar o script sem alterar a política global do Windows, que por padrão bloqueia scripts baixados da internet. Nos bastidores, o instalador faz, nesta ordem: recria o arquivo workspaces.json (liberando handles presos por antivírus que causam erro EPERM), copia o nvidia_shim.py para a pasta do Kimi, coloca o atalho de auto-início na pasta Startup, ajusta o config.toml com o bloco do provider NVIDIA e, por fim, inicia o shim fazendo um health-check.

Se tudo correr bem, a saída mostra estas linhas, nesta ordem:

[ok] workspaces.json recriado (libera handles presos que causam EPERM no fs.watch)
[ok] shim copiado: C:\Users\<voce>\.kimi-code\proxy\nvidia_shim.py
[ok] auto-inicio:   ...\Startup\kimi-nvidia-shim.cmd
[ok] config.toml criado com o bloco nvidia
[ok] shim respondendo em http://127.0.0.1:8878

Erro comum: se aparecer [erro] pythonw.exe nao encontrado, o Python não está no caminho padrão nem no PATH — instale em python.org marcando a opção "Add Python to PATH" e rode o instalador de novo.

Passo final — Abra C:\Users\<voce>\.kimi-code\config.toml no Bloco de Notas e troque o placeholder pela sua chave real:

[providers.nvidia]
api_key = "COLOQUE_SUA_CHAVE_NVIDIA_AQUI"

Como fazer a instalação manual, passo a passo?

Prefere entender e controlar cada arquivo manualmente? Siga esta sequência:

  1. Copie nvidia_shim.py para C:\Users\<voce>\.kimi-code\proxy\ — crie a pasta se ela ainda não existir. Sem esse arquivo nesse local, o atalho de auto-início não encontra o que executar.
  2. Copie kimi-nvidia-shim.cmd para a pasta de Startup do Windows. Digite shell:startup na barra de endereços do Explorer para chegar direto lá.
  3. Adicione ao final do config.toml o conteúdo de config-snippet.toml, preenchendo o api_key com sua chave real. Opcionalmente, defina default_model = "nvidia/glm53" no topo do arquivo.
  4. Dê dois cliques em kimi-nvidia-shim.cmd (ou reinicie o Windows) para o shim subir.

Como testar se a instalação funcionou?

Rode estes três comandos, sempre nesta ordem, para validar cada camada do processo:

kimi doctor                                          # config valido, sem erros
kimi provider list                                   # deve listar: nvidia  type=openai  models=1
kimi --model nvidia/glm53 -p "Responda somente OK"   # deve responder "OK"

Se o terceiro comando responder OK, o kit está funcionando de ponta a ponta. No TUI do Kimi, o modelo aparece como GLM-5.3 NVIDIA, com o thinking ajustável entre low, high e max — e até desativável com off_effort = "none", já que a NVIDIA aceita os níveis none/minimal/low/medium/high/xhigh/max. Para uma checagem extra, rápida e opcional:

Invoke-WebRequest http://127.0.0.1:8878/health -UseBasicParsing   # StatusCode 200

Como trocar a chave da NVIDIA depois de instalado?

Gere ou revogue chaves diretamente em build.nvidia.com. Depois, edite apenas o campo api_key dentro de ~\.kimi-code\config.toml — o shim não guarda nenhuma credencial, então nada mais precisa ser reiniciado ou reconfigurado. É literalmente trocar uma linha e continuar usando.



Quais são os erros mais comuns e como resolver?

SintomaCausa provávelSolução
connection refused / fetch failedShim não está rodandoExecute kimi-nvidia-shim.cmd e teste http://127.0.0.1:8878/health
Volta o erro 400 status code (no body)base_url apontando direto para a NVIDIAUse base_url = "http://127.0.0.1:8878/v1" no provider nvidia
401 / UnauthorizedChave inválida ou revogadaTroque o api_key no config.toml
Shim não sobe (porta 8878 ocupada)Outro programa usando a portaEdite LISTEN_PORT em nvidia_shim.py e o base_url no config
Modelo não aparece na listaBloco [models."nvidia/glm53"] ausenteConfira o config-snippet.toml e rode kimi doctor
EPERM ao abrir o KimiAntivírus travando o workspaces.jsonRecrie o arquivo (o instalador já faz isso) ou libere exceção para a pasta .kimi-code

Como remover o shim por completo?

powershell -NoProfile -ExecutionPolicy Bypass -File .\uninstall.ps1

Isso remove o auto-início, encerra o processo do shim e apaga o arquivo nvidia_shim.py da pasta do Kimi. O desinstalador não mexe no seu config.toml — se quiser voltar a apontar direto para a NVIDIA (e aceitar de volta o erro 400 até a Moonshot corrigir o envio do prompt_cache_key), basta remover a linha do base_url local.

Quais cuidados de segurança preciso ter ao usar o shim?

  • Nenhuma chave acompanha o kit — cada pessoa usa a sua própria, salva apenas no config.toml local.
  • Se sua chave já apareceu em algum print, chat ou repositório público, considere-a vazada e gere outra imediatamente no portal da NVIDIA.
  • O shim escuta apenas em 127.0.0.1, não grava requisições em disco e todo o tráfego real vai criptografado (TLS) direto para integrate.api.nvidia.com.

Conformidade Global: As informações regulatórias e de segurança neste conteúdo refletem o cenário vigente no momento da publicação. Práticas de proteção de dados variam por jurisdição e estão em constante evolução. Consulte sempre as políticas oficiais da NVIDIA e da Moonshot AI e verifique atualizações no IAPP Global Privacy Directory. Este conteúdo não constitui aconselhamento jurídico.

Perguntas Frequentes

Gostou do kit? O código completo está aberto no repositório kimi-nvidia no GitHub. Acompanhe mais automações no @CanalQb no YouTube.

Marcadores: Automação glm-5.3 IA Local Kimi Code moonshot ai nvidia PowerShell Python shim tutorial windows

© setembro 19, 2026 CanalQb — Python, Scripts, Automação, Airdrops e Criptomoedas | Web3 e Tech na Prática



SEO Dashboard @CanalQb

Carregando dados...

Dados GA4 + Search Console | Atualizar | gerado via API Google