DeepSeek, Kimi, GLM e Qwen sem confundir APIs compatíveis

English summary: A field guide to routing Claude Code and Codex through Chinese LLM providers, with dated compatibility claims, regional endpoints, safe configuration, protocol tests, rollback, telemetry, and production criteria.
Published: August 12, 2026
Reading time: 20 minutes
Keywords: Chinese LLMs, DeepSeek, Qwen, Alibaba Model Studio, GLM, Zhipu AI, Kimi, Moonshot AI, MiniMax, Claude Code, Codex, Responses API, Anthropic API, tool calling, AI agents
Trocar o modelo por trás de um agente de código parece uma mudança de URL e token. Não é.
Um agente combina pelo menos quatro contratos: modelo, protocolo, produto comercial e cliente. O endpoint pode aceitar uma requisição parecida com a da Anthropic ou da OpenAI e, ainda assim, ignorar um campo, serializar uma ferramenta de outro modo ou perder estado entre turnos.
Compatibilidade de API é o começo do teste, não a prova de paridade. A diferença costuma aparecer na primeira ferramenta ou edição.
Este guia fixa um retrato verificável em 12 de agosto de 2026. Ele cobre DeepSeek, Qwen no Alibaba Cloud Model Studio, GLM da Zhipu/Z.AI, Kimi da Moonshot AI e MiniMax. Nomes de modelos, disponibilidade regional, planos, preços e limites mudam; confirme novamente as páginas oficiais antes de promover qualquer rota para produção.
Este é o menor experimento útil porque não altera ~/.claude/settings.json e não grava a chave em disco:
claude --version
read -rsp 'DeepSeek API key: ' DEEPSEEK_API_KEY; printf '\n'
env \
ANTHROPIC_BASE_URL='https://api.deepseek.com/anthropic' \
ANTHROPIC_AUTH_TOKEN="$DEEPSEEK_API_KEY" \
ANTHROPIC_MODEL='deepseek-v4-pro[1m]' \
claude -p 'Reply exactly: claude-smoke-ok'
unset DEEPSEEK_API_KEY
Em 12 de agosto de 2026, a integração oficial da DeepSeek documenta exatamente ANTHROPIC_BASE_URL, ANTHROPIC_AUTH_TOKEN e ANTHROPIC_MODEL, com deepseek-v4-pro[1m] como opção para Claude Code. O sufixo e o nome são configuração do provedor, não uma convenção universal do Claude Code.
O teste ainda é insuficiente para trabalho real. Ele prova autenticação, resolução do modelo e uma resposta simples. Não prova tool calling, edição, retomada de sessão, compactação, custo ou comportamento sob contexto longo.
Pense na rota como uma pilha:
Claude Code ou Codex
↓
protocolo esperado pelo runtime
Anthropic Messages ou OpenAI Responses
↓
endpoint e plano comercial do provedor
↓
modelo disponível naquela região e conta
Uma falha em qualquer camada pode parecer “o modelo é ruim”. Muitas vezes, o problema real é um endpoint de outra região, uma chave emitida para outro plano, um campo aceito e ignorado ou um adaptador que perdeu eventos de ferramenta.
Há duas regras operacionais:
| Situação | Rota indicada | Por quê | Teste obrigatório |
|---|---|---|---|
| Claude Code e endpoint Anthropic documentado | Anthropic-compatible direto | Menos tradução entre mensagens, blocos e ferramentas | texto, ferramenta, edição e compactação |
| Codex e endpoint Responses documentado | OpenAI-compatible Responses direto | É o contrato esperado pelo Codex atual | texto, shell read-only, patch e continuação |
| Codex e provedor apenas com Chat Completions | Gateway local/gerenciado para Responses | O gateway assume a tradução que o cliente não faz | todos os eventos, erros e ferramentas |
| Endpoint “OpenAI-compatible” sem dizer qual API | Não promova | “OpenAI-compatible” pode signific apenas /chat/completions | confirmar /responses na documentação |
| Plano ou região com endpoint diferente | Perfil separado | Evita misturar chave, residência, quota e modelo | teste executado na região contratada |
A tabela abaixo usa apenas capacidades publicadas pelos provedores e verificadas em 12 de agosto de 2026. “1M” é janela anunciada, não garantia de qualidade em todo o contexto nem de que o agente enviará esse volume sem compactar.
| Família | Capacidade e contexto publicados | Claude Code | Codex atual | Região e privacidade | Custo e latência | Tool calling e lock-in |
|---|---|---|---|---|---|---|
| DeepSeek V4 Flash/Pro | Ambos listados com 1M de contexto; Pro é a rota recomendada pelo guia de Claude Code | Anthropic direto documentado | Responses direto documentado para V4 Flash; a página ainda não confirma Pro em Responses | Endpoint público único; política identifica controlador na China. Validar DPA e transferência para dados da empresa | Preço vivo e diferença Flash/Pro devem ser consultados; medir fila, primeiro token e total | Responses tem compatibilidade parcial e ferramentas não suportadas são ignoradas; lock-in médio por diferenças semânticas |
| Qwen / Alibaba Model Studio | Catálogo e limites variam por modelo, plano e região | Anthropic-compatible documentado para PAYG/Coding/Token, com URLs distintas | Responses em planos/modelos documentados; não presumir que Coding Plan Chat funciona no Codex atual | Beijing, Singapore, Tokyo, Frankfurt e Virginia têm domínios e chaves próprios. Alibaba declara criptografia e não uso dos dados para treino | Preço, quota e disponibilidade variam por região e plano; medir na região real | Boa portabilidade quando Responses existe; lock-in sobe com WorkspaceId, plano e diferenças regionais |
| GLM / Zhipu Z.AI | GLM-5.2 publicado com 1M, raciocínio, streaming e chamadas de função | Anthropic direto documentado | Endpoint direto de Responses não está documentado nos guias consultados; usar gateway validado | Política da Z.AI identifica operação/API em Singapore e traz compromissos específicos para conteúdo de API; confirmar contrato | Coding Plan e PAYG têm estruturas de custo diferentes; medir limites e cauda p95 | Claude Code é caminho curto; gateway para Codex aumenta lock-in operacional |
| Kimi / Moonshot | Kimi K3 publicado com 1M, raciocínio e chamadas de ferramenta | Anthropic direto documentado | Guia oficial usa um roteador local porque Kimi expõe Chat, enquanto Codex espera Responses | API global em api.moonshot.ai; política identifica Moonshot AI Pte. Ltd. em Singapore. Isso não prova residência de cada requisição | Consultar a cobrança vigente e medir o custo do contexto longo e do roteador | Tradução Chat→Responses amplia superfície de falha e dependência do gateway |
| MiniMax | MiniMax-M3 publicado com 1M, ferramentas, código e contexto longo | Anthropic direto documentado | Responses direto documentado | Hosts distintos para China e internacional; hostname não substitui DPA nem confirmação de processamento | PAYG e planos de tokens diferem; medir prioridade, fila e total | Rotas oficiais para ambos os protocolos reduzem tradução; região e plano ainda criam lock-in |
Não use essa tabela para escolher “o melhor modelo”. Use-a para eliminar rotas que não satisfazem protocolo, região, privacidade ou operação. Só depois compare qualidade e custo na sua carga.
O catálogo oficial lista deepseek-v4-flash e deepseek-v4-pro. O guia de Claude Code usa o endpoint /anthropic. Para Codex, a documentação de Responses marca apenas V4 Flash como disponível naquele protocolo na data deste artigo; uma previsão antiga de liberação do Pro não é evidência de que ele já funciona.
A implementação de Responses é deliberadamente parcial. Function tools e web search estão descritos, mas recursos como file search, computer use e MCP não têm paridade completa; alguns campos são aceitos e ignorados. Portanto, um HTTP 200 não basta: valide o evento de ferramenta e o efeito no workspace.
Model Studio oferece APIs OpenAI-compatible e separa recursos por região. Beijing usa o domínio DashScope em algumas ofertas. Espaços de trabalho internacionais usam domínios regionais, como ap-southeast-1.maas.aliyuncs.com.
Chaves não são intercambiáveis entre regiões. Modelos, recursos e preços também podem divergir.
Os guias de Qwen Code, Claude Code e Codex distinguem PAYG, Coding Plan e Token Plan. Essa distinção é parte do contrato técnico. Para Codex, escolha um modelo e plano cujo guia declare Responses. Uma assinatura que expõe apenas Chat Completions não ganha compatibilidade por ter um endpoint /v1.
O guia de Claude Code documenta https://api.z.ai/api/anthropic e mapeia os níveis do Claude para GLM. O catálogo atual descreve GLM-5.2 com contexto de 1M e suporte a chamadas de função.
Os guias consultados expõem OpenAI Chat para outras ferramentas, mas não uma rota direta de Responses para Codex. Para Codex, trate GLM como integração via gateway até que a documentação oficial do provedor e a versão instalada do cliente provem o contrário.
Kimi documenta https://api.moonshot.ai/anthropic para Claude Code e Kimi K3 com contexto de 1M. Para Codex, o próprio guia usa um roteador local para traduzir entre Responses e Chat Completions. Isso é uma arquitetura de integração, não uma conexão direta.
O roteador precisa entrar no seu inventário de software: versão fixada, origem auditada, política de logs, verificação de saúde, atualização e rollback. Se ele recebe prompts e tokens, ele também entra no seu modelo de ameaça.
MiniMax publica APIs Anthropic-compatible e OpenAI-compatible, incluindo Responses. Os guias distinguem o host da China, api.minimaxi.com, do internacional, api.minimax.io. Use o host associado à conta e ao contrato; não troque apenas o domínio supondo que a chave, o plano e a residência acompanham a mudança.
Use a rota Anthropic-compatible quando o provedor documentar Claude Code ou Anthropic Messages, o modelo estiver disponível no seu plano e a região atender à política de dados. Ela tende a preservar melhor a forma das mensagens do Claude Code do que uma tradução via OpenAI Chat.
Não use só porque existe uma URL com /anthropic. Confirme autenticação, nomes de modelos, limites, ferramentas, compactação e campos ignorados.
| Provedor | ANTHROPIC_BASE_URL documentada | Modelo de exemplo em 12 ago. 2026 | Observação regional |
|---|---|---|---|
| DeepSeek | https://api.deepseek.com/anthropic | deepseek-v4-pro[1m] | Endpoint público único nos guias consultados |
| Alibaba PAYG Beijing | https://dashscope.aliyuncs.com/apps/anthropic | <MODELO_DO_PLANO> | Chave de Beijing |
| Alibaba PAYG Singapore | https://<WORKSPACE_ID>.ap-southeast-1.maas.aliyuncs.com/apps/anthropic | <MODELO_DISPONIVEL_EM_SINGAPORE> | WorkspaceId e chave de Singapore |
| GLM/Z.AI | https://api.z.ai/api/anthropic | glm-5.2[1m] | Validar contrato e conta global |
| Kimi | https://api.moonshot.ai/anthropic | kimi-k3[1m] | API global da Moonshot |
| MiniMax China | https://api.minimaxi.com/anthropic | MiniMax-M3[1m] | Conta/plano da China |
| MiniMax internacional | https://api.minimax.io/anthropic | MiniMax-M3[1m] | Conta/plano internacional |
Salve o trecho como run-claude-provider, marque-o como executável e injete os quatro valores pelo shell ou pelo seu gerenciador de segredos:
#!/usr/bin/env bash
set -euo pipefail
: "${LLM_ANTHROPIC_BASE_URL:?missing LLM_ANTHROPIC_BASE_URL}"
: "${LLM_ANTHROPIC_AUTH_TOKEN:?missing LLM_ANTHROPIC_AUTH_TOKEN}"
: "${LLM_ANTHROPIC_MODEL:?missing LLM_ANTHROPIC_MODEL}"
exec env \
ANTHROPIC_BASE_URL="$LLM_ANTHROPIC_BASE_URL" \
ANTHROPIC_AUTH_TOKEN="$LLM_ANTHROPIC_AUTH_TOKEN" \
ANTHROPIC_MODEL="$LLM_ANTHROPIC_MODEL" \
claude "$@"
O wrapper mantém a configuração por processo. Ele não torna o ambiente seguro por si só: variáveis ainda podem aparecer em dumps, diagnósticos ou processos com privilégios. Use um secret manager, escopo mínimo e rotação.
claude --version
test -n "${LLM_ANTHROPIC_AUTH_TOKEN:-}"
./run-claude-provider -p 'Reply exactly: claude-text-ok'
./run-claude-provider -p \
'Use one read-only shell command to print the current directory, then reply exactly: claude-tool-ok'
Depois, em um repositório descartável, peça uma edição de uma linha, leia o diff e reverta. Só considere a rota funcional quando o tool call aparecer no transcript e o efeito corresponder ao pedido.
Free and paid products to turn ideas into a foundation you can actually ship.
13 products availableContinue exploring similar topics

Deep dive na destilação de conhecimento: como modelos chineses aprenderam com Claude/GPT-4 (e com a si mesmos, caso DeepSeek-R1), dark knowledge de Hinton, response vs logit distillation, por que treinar do zero custa $100M e como fine-tunar seu próprio modelo por $5 com QLoRA e Unsloth. Inclui pipeline completo de código e análise das polêmicas éticas/legais.

OpenAI cortou preço pela metade, Anthropic lançou no mesmo dia e os modelos chineses lideram o ranking aberto. O problema: os três grupos quase não compartilham benchmarks. Este artigo lê os números que existem e nomeia os que faltam.

Antes de comparar benchmark, responda uma pergunta de aritmética: o modelo cabe? A conta de VRAM elimina metade das opções em cinco minutos — e a de ponto de equilíbrio elimina a outra metade.
A practical checklist to validate security, cost, evals, and observability before you ship your AI app to production.
Production-tested templates trusted by developers. Save weeks of setup on your next project.
O arquivo-fonte oficial config_toml.rs expõe model_provider, a tabela model_providers e profiles. A definição do provedor usa base_url, env_key e wire_api. Na linha atual do Codex, wire_api = "responses" é o caminho suportado; Chat não deve ser configurado como se fosse Responses.
Isso é sensível à versão. Antes de copiar a configuração, execute:
codex --version
codex --help
Valide a sintaxe contra a versão instalada. Em algumas versões, -p seleciona uma camada de configuração em vez da tabela TOML histórica; o override -c 'profile="..."' abaixo torna a intenção explícita, mas também deve ser testado localmente.
~/.codex/config.tomlO exemplo usa nomes de variáveis, nunca os segredos. Substitua os modelos entre <...> por identificadores confirmados na região e no plano. O gateway local deve implementar a API Responses de ponta a ponta.
profile = "deepseek"
[model_providers.deepseek]
name = "DeepSeek Responses"
base_url = "https://api.deepseek.com"
env_key = "DEEPSEEK_API_KEY"
wire_api = "responses"
[model_providers.qwen_singapore]
name = "Alibaba Model Studio Singapore Responses"
base_url = "https://<WORKSPACE_ID>.ap-southeast-1.maas.aliyuncs.com/compatible-mode/v1"
env_key = "DASHSCOPE_API_KEY"
wire_api = "responses"
[model_providers.minimax_international]
name = "MiniMax International Responses"
base_url = "https://api.minimax.io/v1"
env_key = "MINIMAX_API_KEY"
wire_api = "responses"
[model_providers.local_responses_gateway]
name = "Local Responses Gateway"
base_url = "http://127.0.0.1:8787/v1"
env_key = "LOCAL_GATEWAY_TOKEN"
wire_api = "responses"
[profiles.deepseek]
model_provider = "deepseek"
model = "deepseek-v4-flash"
[profiles.qwen_singapore]
model_provider = "qwen_singapore"
model = "<QWEN_RESPONSES_MODEL_IN_SINGAPORE>"
[profiles.minimax_international]
model_provider = "minimax_international"
model = "MiniMax-M3"
[profiles.kimi_via_gateway]
model_provider = "local_responses_gateway"
model = "kimi-k3"
[profiles.glm_via_gateway]
model_provider = "local_responses_gateway"
model = "glm-5.2"
Por que env_key importa: ele diz ao Codex qual variável ler. O valor da chave continua fora do TOML. Não use campos que armazenem bearer tokens literais só porque aparecem em um tutorial antigo.
O exemplo separa perfis por região e protocolo. Se você também usa MiniMax China ou Alibaba Beijing, crie provedores diferentes; não reutilize o mesmo nome mudando a URL manualmente.
codex --strict-config -c 'profile="deepseek"' exec \
'Reply exactly: codex-text-ok'
codex --strict-config -s read-only -c 'profile="deepseek"' exec \
'Use the shell once to run pwd, change no files, then reply exactly: codex-tool-ok'
Repita para cada perfil. Para Kimi e GLM, registre também a versão do gateway e confirme que ele preserva IDs de chamada, resultados, erros, streaming e cancelamento. Um adaptador que apenas converte o primeiro prompt não suporta um agente.
| Toy local | Produção controlada |
|---|---|
| Uma resposta exata | Suite com texto, tools, patch, erro e retomada |
| Chave lida no terminal | Secret manager, rotação e escopo por ambiente |
| Endpoint escolhido à mão | Perfil imutável por provedor, plano e região |
| Log do terminal | Telemetria estruturada e redigida |
| Custo de uma chamada | Limites por tarefa, alertas e custo por resultado aceito |
| “1M” na ficha do modelo | Teste de recuperação, compactação e qualidade por faixa de contexto |
| Rollback mental | Perfil anterior preservado e procedimento ensaiado |
O salto principal não é de volume; é de observabilidade. Sem saber qual modelo, protocolo, região e versão responderam, você não consegue reproduzir uma falha nem atribuir custo.
401, 403 ou “invalid key” depois de copiar uma URLDiagnóstico: a chave pertence a outra região, plano ou produto; o header esperado difere; ou o secret não chegou ao processo.
Ação: verifique apenas presença e origem da variável, nunca imprima seu valor. Compare host, região e plano na console do provedor. Gere uma credencial de menor privilégio e repita o smoke test.
Evidência de correção: autenticação funciona no endpoint contratado e a telemetria registra região e perfil sem registrar o header.
Diagnóstico: compatibilidade superficial. O endpoint aceita mensagens, mas ignora tools, altera IDs ou não devolve eventos que o runtime espera.
Ação: capture um transcript redigido, compare request/response com a documentação e teste uma ferramenta read-only antes de patch. No DeepSeek Responses, confira explicitamente a lista de ferramentas e campos suportados.
Evidência de correção: chamada, resultado e continuação usam o mesmo ID; o agente observa o resultado e conclui a tarefa.
404, modelo inexistente ou erro só em uma contaDiagnóstico: endpoint certo no protocolo errado, modelo ausente naquela região, WorkspaceId incorreto ou plano sem Responses.
Ação: liste modelos quando o provedor oferecer esse endpoint, confira a documentação regional e trate cada combinação região+plano como um perfil distinto.
Evidência de correção: o modelo resolvido aparece no log e corresponde ao catálogo da mesma região e conta.
Diagnóstico: janela anunciada confundida com contexto útil; cache, compactação, reasoning tokens, fila ou retries não foram medidos.
Ação: execute a mesma tarefa em faixas crescentes de contexto, inclua uma informação-agulha e registre recuperação, primeiro token, duração total, tokens, ferramentas, retries e custo faturado.
Evidência de correção: existem limites operacionais por perfil e fallback antes de ultrapassá-los.
Registre por execução:
Não registre tokens, headers, prompts brutos, código proprietário ou saída de ferramentas por padrão. Debug do cliente pode conter material sensível. Ative-o por tempo limitado, em diretório protegido, com redaction e retenção curta.
Latência média esconde filas e valores extremos. Compare pelo menos p50 e p95, separando tempo do provedor, do gateway e das ferramentas locais.
Custo por milhão de tokens também pode enganar. Para agentes, acompanhe custo por tarefa aceita, incluindo novas tentativas e chamadas de ferramenta.
Para Claude Code, o wrapper por processo oferece rollback simples: encerre a sessão e remova as variáveis. Para configuração persistente, mantenha uma cópia anterior com permissões restritas e não inclua segredos nela.
Para Codex:
config.toml funcional antes da mudança;--strict-config e sandbox read-only;profile ao provedor anterior ou restaure o arquivo preservado;Rollback não está completo até ser testado. O critério é restaurar uma tarefa conhecida sem editar novamente URLs ou segredos durante o incidente.
| Gate | Aprovação mínima |
|---|---|
| Identidade | Provider, modelo, protocolo, plano e região observáveis |
| Texto | Saída determinística curta passa repetidamente |
| Ferramenta | Tool call read-only e resultado preservam IDs e sequência |
| Edição | Patch pequeno é correto, revisável e limitado ao arquivo pedido |
| Erros | 401, 429, timeout e cancelamento não viram retries infinitos |
| Contexto | Recupera fatos-agulha nas faixas que a equipe realmente usa |
| Privacidade | DPA, retenção, treino, suboperadores e transferência aprovados |
| Operação | p50/p95, quota, custo por tarefa e alertas definidos |
| Fallback | Não ocorre silenciosamente; provider solicitado e efetivo são registrados |
| Rollback | Perfil anterior restaurado em teste cronometrado |
Falhar em um gate não significa abandonar o modelo. Significa manter a rota em laboratório ou restringi-la ao tipo de tarefa que passou.
Escolha um provedor e execute o teste de texto e o de ferramenta. Salve somente metadados redigidos. Explique qual evidência demonstra Responses ou Anthropic Messages, em vez de apenas “OpenAI-compatible”.
Crie documentos sintéticos de 32K, 128K e uma faixa maior suportada pelo plano. Coloque um nonce no início, meio e fim. Meça recuperação, latência, tokens e compactação. Defina o limite em que seu agente deve resumir ou trocar de rota.
Em ambiente descartável, simule credencial inválida, 429, timeout e gateway indisponível. Confirme que não há fallback silencioso, que nenhum segredo aparece no log e que o perfil anterior volta a operar.
Todas foram consultadas em 12 de agosto de 2026.
config.tomlwire_apiLLMs chinesas já são opções práticas para engenharia e agentes, mas não formam uma categoria tecnicamente uniforme. DeepSeek, Qwen, GLM, Kimi e MiniMax oferecem combinações diferentes de protocolo, região, plano e semântica de ferramentas.
A escolha robusta não começa por um ranking. Começa perguntando: qual contrato o cliente exige, qual endpoint a região oferece, o que acontece com os dados e como provar que uma ferramenta completou o ciclo?
Com perfis separados, segredos fora de arquivos, smoke tests que usam ferramentas, telemetria redigida e rollback ensaiado, trocar de modelo deixa de ser uma aposta. Torna-se uma mudança operacional controlada.