Skip to content

Conectando Modelos Nacionais e o DeepSeek

📚 Navegação da Série: O artigo anterior 04 · Assinatura e Tarifação detalhou os modelos tarifários do Codex. Este artigo foca em alternativas de economia, explicando como alterar o modelo de linguagem padrão do Codex para provedores terceiros ou para o DeepSeek.

⚠️ Aviso de conformidade técnica (Recurso experimental sujeito a alterações): O Codex constitui uma ferramenta proprietária da OpenAI; as especificações originais não visam dar suporte nativo a APIs como o DeepSeek. A integração de provedores de terceiros é uma customização desenvolvida pela comunidade que consome o parâmetro global de definição de provedores personalizados (model_providers). A viabilidade dessa rota depende da compatibilidade de protocolos da API de destino, sendo este o ponto de maior complexidade de configuração (detalhado na Seção 03). Mapeamentos e integrações com o DeepSeek baseiam-se em testes práticos da comunidade, devendo ser validados nos portais de desenvolvedores oficiais.

Cabe compartilhar um diálogo real que ilustra a complexidade da tarefa:

Colega: "Você conectou o Claude Code ao DeepSeek e reduziu bastante os custos. Por que não replica a configuração no Codex?" Resposta: "Eu também presumi que a replicação funcionaria diretamente, mas gastei horas depurando erros de cabeçalho 400 mesmo com os caminhos corretos." Colega: "Como? Não basta apenas alterar o parâmetro base_url?" Resposta: "O Codex processa as requisições de forma diferente do Claude Code. Embora as CLI sejam semelhantes visualmente, a infraestrutura de comunicação varia."

Este é um dos capítulos de configuração mais complexos do manual. Tutoriais de internet que prometem conexões diretas do Codex ao DeepSeek costumam omitir que a lógica interna de comunicação difere significativamente do Claude Code, fazendo com que configurações baseadas em runtimes do Anthropic gerem falhas de comunicação.

Ao terminar de ler este artigo, você terá:

  • A explicação técnica da distinção entre as integrações do Codex e do Claude Code
  • Uma tabela analítica de prós e contras para avaliar a viabilidade de usar provedores de terceiros
  • O comparativo entre a alteração manual do arquivo config.toml e o uso de utilitários locais de proxy
  • O modelo estrutural de configuração do bloco model_providers, rotinas de testes e diagnóstico de erros

01 A Diferença de Protocolos: Codex e Claude Code

A diferença reside na especificação: o Claude Code consome variáveis de ambiente globais para redirecionar chamadas, enquanto o Codex exige a parametrização explícita de provedores em arquivos locais de configuração. O Codex possui dependências estritas quanto aos formatos das chamadas de API de destino.

Detalhamento das etapas:

A CLI do Codex gerencia localmente as leituras de código e execuções no terminal, delegando as análises a um modelo de linguagem em nuvem. Por padrão, as consultas são enviadas aos modelos GPT da OpenAI (atualmente com a build gpt-5.5 recomendada na documentação oficial de Models).

A customização da rota de envio de requisições de API é permitida pela documentação técnica oficial:

"Você também pode configurar o Codex para apontar para qualquer modelo ou provedor compatível com as especificações de Chat Completions ou com a Responses API para atender a demandas específicas." (traduzido da documentação oficial de Models).

Analogia: padrões de conectores. O Claude Code funciona como adaptadores universais; basta a API de destino oferecer compatibilidade com o formato do Anthropic para processar as chamadas. O Codex é rígido: off-line ele consome estritamente os padrões da OpenAI (Chat Completions ou Responses API). Embora o DeepSeek e demais provedores forneçam endpoints compatíveis com os padrões da OpenAI, há uma restrição interna a observar:

A documentação oficial do Codex alerta que o suporte a chamadas via Chat Completions API é um recurso legado descontinuado, sujeito a remoção. O desenvolvimento prioriza a Responses API, uma especificação recente da OpenAI que não está totalmente implementada na maioria das APIs de terceiros.

Este fator causa as falhas de comunicação iniciais: a compatibilidade genérica com chaves OpenAI não garante conformidade com a Responses API.

💡 Resumo em uma frase: O Claude Code gerencia modelos via variáveis de ambiente sob o protocolo do Anthropic; o Codex consome as definições de provedores no config.toml sob a Responses API da OpenAI — evite aplicar os mesmos parâmetros entre as duas ferramentas.


02 Viabilidade da Conexão com Provedores de Terceiros

Diferentemente de outros assistentes de terminal, a integração do Codex com provedores de terceiros traz menor retorno prático.

Os principais fatores limitantes são:

  1. Complexidade de compatibilidade: Restrições do formato Responses API elevam a taxa de falhas de conexão de endpoints externos.
  2. Qualidade de processamento: A build GPT-5.5 nativa do Codex apresenta alto desempenho em refatorações extensas e lógicas de loops de agente, com as quais modelos alternativos podem falhar.
  3. Custos redundantes: Planos Plus e Pro já incluem franquias de tokens do Codex. Pagar por chaves de API externas gera duplicidade de despesas.

Comparativo técnico das rotas:

Indicador analíticoModelos GPT Oficiais (Nativo)APIs de Terceiros (ex: DeepSeek)
Custo de tokensElevado sob uso constante fora das assinaturas✅ Baixo custo por milhão de tokens
ConectividadeRequer redes livres com os servidores da OpenAI✅ Endpoints locais de fácil conexão
Dificuldade de conexãoAutenticação instantânea direta⚠️ Risco de incompatibilidade da Responses API
Capacidades do agente✅ GPT-5.5 integrado e depurado com estabilidadeProcessamento básico aceitável; falhas sob contextos complexos
Suporte oficial✅ Homologado por padrão❌ Configuração experimental sem suporte técnico
Estabilidade de parâmetrosAtualizações automáticas de sistema⚠️ Manutenções manuais a cada mudança de endpoint

Diferente das recomendações para a CLI do Claude Code, o Codex apresenta restrições que tornam o uso de APIs externas uma tarefa complexa e com risco de incompatibilidades.

Cenários recomendados para testes:

  • Indicado para: Desenvolvedores sem planos do ChatGPT Plus ativos com demandas focadas em tarefas simples; ambientes com bloqueios de rede com os domínios oficiais; usuários que desejam testar a flexibilidade do terminal.
  • Evite se: Já possui assinaturas ativas da OpenAI; desenvolve refatorações de código complexas e depurações estruturais; prefere fluxos simples sem edições de arquivos do sistema.

Enquanto o uso do DeepSeek é estável no Claude Code, o Codex opera melhor integrado à sua própria infraestrutura nativa. O tempo economizado nas configurações compensa o uso oficial.

💡 Resumo em uma frase: A conexão com provedores externos no Codex apresenta riscos de incompatibilidade. Evite essa rota caso possua assinaturas do ChatGPT ativas ou desenvolva tarefas de alta complexidade.


03 Rotas de Conexão: Arquivo de Configuração versus Proxies Locais

Se optar por prosseguir com os testes de conexão, existem dois métodos de integração principais:

Rotas de integração de APIs de terceiros no Codex: edição manual do config.toml ou conversão de protocolos via proxy local

Ambos os métodos buscam contornar a validação do protocolo de comunicação do Codex para alcançar os endpoints externos.

Método 1: Edição manual do config.toml (Configuração nativa)

O Codex centraliza as configurações locais no arquivo ~/.codex/config.toml (especificado na documentação oficial de Configuration Reference). O parâmetro model_providers permite cadastrar chaves personalizadas.

Analogia: cadastro de contatos na agenda. Por padrão, o terminal conecta-se apenas aos servidores da OpenAI. Para adicionar o DeepSeek, registre uma nova entrada contendo o nome do provedor, o endereço da API (base_url) e a chave de autenticação (vinculada a uma variável de ambiente). Concluído o cadastro, aponte a sessão para o contato criado.

Parâmetros de configuração de provedores (especificados na documentação de Configuration Reference):

Chave no config.tomlFinalidade técnica
model_providers.<id>.nameIdentificador visual do provedor de destino
model_providers.<id>.base_urlEndereço do endpoint de API do provedor
model_providers.<id>.env_keyNome da variável de ambiente global que armazena a chave de API
model_providers.<id>.wire_apiProtocolo de mensagens; compatibilidade restrita a responses (padrão)
model_provider (raiz)Define o provedor ativo na sessão; padrão openai
model (raiz)Define o modelo ativo na sessão

A chave wire_api é o ponto crítico: a especificação oficial aceita apenas a Responses API (responses is the only supported value). Se a API de destino não oferecer suporte total a essa nova chamada da OpenAI, as conexões diretas falharão.

⚠️ Os endpoints padrão do DeepSeek fornecem retrocompatibilidade com a API de Chat Completions da OpenAI. A compatibilidade direta das chamadas com a Responses API do Codex está sujeita a variações de build e atualizações dos provedores, devendo ser validada empiricamente. Erros de conexão nesses testes costumam indicar desalinhamentos na responses API.

Método 2: Uso de utilitários locais de proxy (Solução da comunidade)

Para contornar as diferenças de protocolos, desenvolvedores utilizam servidores de proxy locais. O utilitário intercepta as requisições em Responses API geradas pelo Codex, converte-as para o formato legível aceito pelo provedor de destino (como Chat Completions) e retorna a resposta de forma transparente.

O software de código aberto CC Switch (disponível no GitHub em github.com/farion1231/cc-switch) atua nessa conversão: inicializa um proxy local que redireciona as requisições do Codex para as chaves cadastradas, trazendo modelos pré-configurados do DeepSeek e de outros provedores.

Painel de controle principal do CC Switch

Após configurar o utilitário, selecione a opção de cadastrar novos provedores (Add Provider):

Tela de criação de novos mapeamentos no CC Switch

Selecione o Codex no painel do aplicativo e aponte para o provedor de destino no menu lateral. O proxy converterá os pacotes de rede locais de forma transparente.

Catálogo de provedores pré-configurados no CC Switch

A lista exibe APIs populares como o DeepSeek e o OpenRouter prontas para uso, simplificando o processo de integração.

Analogia: contratação de tradutores. O Codex emite pacotes em Responses API; se o DeepSeek processa apenas chamadas em Chat Completions, o proxy local funciona como o tradutor intermediário que alinha a comunicação das duas pontas.

Comparativo de escolha das rotas:

Critério técnicoMétodo 1: Edição do config.tomlMétodo 2: Utilidades de proxy (CC Switch)
Conformidade oficial✅ Utiliza os parâmetros do escopo nativo do Codex❌ Projeto secundário da comunidade
Resolução de protocolos⚠️ Depende da compatibilidade da API de destino✅ O proxy realiza a tradução interna de pacotes
Nível de facilidadeExige edição manual de blocos TOMLConfiguração simplificada por painel visual
Transparência do códigoTotal controle visual das chamadas locaisCamada intermediária que adiciona complexidade a depurações
Portabilidade de APIsConfiguração fixa por provedorAlternância ágil entre múltiplos serviços cadastrados
Público indicadoDesenvolvedores focados em arquitetura de sistemasUsuários que priorizam agilidade de uso

Caso queira estudar os fluxos de chamadas da CLI, priorize o Método 1; para configurar de forma rápida sem tratar dos parâmetros internos, adote o Método 2.

💡 Resumo em uma frase: A edição manual (Método 1) é nativa e expõe as configurações de rede, mas depende de conformidade da API; o uso de proxies (Método 2) traduz as chamadas localmente, facilitando a integração.


04 Prática: Estruturando o arquivo config.toml

Abaixo, fornecemos o bloco de exemplo para o Método 1. A validade da comunicação final dependerá da conformidade da versão da API de destino.

Localização do arquivo: ~/.codex/config.toml no macOS/Linux, e C:\Users\SeuUsuario\.codex\config.toml no Windows. Crie o arquivo caso ele não exista no diretório.

Passo 1: Obtenha a Chave de API do DeepSeek

  1. Acesse o portal do DeepSeek e autentique sua conta.
  2. Acesse a área de credenciais, gere um novo token de API e salve-o em local seguro.

🔑 Trate suas chaves com o mesmo rigor de segurança de senhas. Evite registrá-las em formato de texto no arquivo de configuração; usaremos variáveis de ambiente globais para referenciá-las.

Passo 2: Mapeie a chave nas variáveis do sistema

Cadastre o token gerado em uma nova variável de ambiente global (indicamos o nome DEEPSEEK_API_KEY):

macOS / Linux:

bash
export DEEPSEEK_API_KEY=<你的 DeepSeek API Key>

Windows (PowerShell):

powershell
$env:DEEPSEEK_API_KEY="<你的 DeepSeek API Key>"

As atribuições acionadas diretamente no terminal duram apenas na sessão ativa do console. Para persistir as variáveis do sistema, registre a instrução nos perfis globais do terminal (.zshrc no macOS ou .bashrc no Linux) ou adicione pelo menu de propriedades do Windows.

Passo 3: Cadastre o provedor no arquivo config.toml

Insira as declarações de escopo no arquivo local de configuração:

toml
# 顶层:告诉 Codex 这次用我们自定义的提供商和模型
model_provider = "deepseek"
model = "<DeepSeek 的模型名,以官方文档为准>"

# 自定义一个名为 deepseek 的模型提供商
[model_providers.deepseek]
name = "DeepSeek"
base_url = "<DeepSeek 的 API base_url,以官方文档为准>"
env_key = "DEEPSEEK_API_KEY"   # 引用上一步的环境变量名
# wire_api 不写则默认为 responses(官方唯一支持的值)

Detalhamento dos parâmetros cadastrados:

  • model_provider = "deepseek": Indica ao terminal para desativar a rota nativa da OpenAI, utilizando o bloco deepseek cadastrado.
  • model = "...": Mapeia o identificador do modelo de destino. Consulte a documentação oficial da API do DeepSeek para nomes de modelos válidos.
  • [model_providers.deepseek]: Define a seção de escopo do provedor. A chave interna deve coincidir com a propriedade informada na raiz.
  • base_url: Endpoint de requisições fornecido pelo DeepSeek.
  • env_key = "DEEPSEEK_API_KEY": Referência da variável de ambiente cadastrada no Passo 2 que contém as chaves.

⚠️ Mantivemos as variáveis em formato de placeholders devido à volatilidade das builds e URLs dos provedores. A validação real da comunicação dependerá do alinhamento dos cabeçalhos com o protocolo Responses API do Codex.

Nota: identificadores padrão de sistema (openai, ollama, lmstudio) são palavras reservadas e não devem ser substituídas (detalhado na documentação de Configuration Reference). Adote nomes personalizados.

💡 Resumo em uma frase: A alteração manual consiste em exportar a chave na variável do sistema, criar o bloco model_providers e apontar o model_provider ativo na raiz. A sintaxe de gravação é rígida.


05 Validação e Testes de Comunicação

Realize os testes abaixo para validar a comunicação antes de processar tarefas reais.

O fluxo divide-se em duas etapas:

1. Status de ativação do modelo

Inicialize o Codex e rode o comando de barra /model na sessão ativa. O terminal listará o modelo de linguagem configurado (detalhado na documentação oficial de Models).

bash
codex

Digite no prompt interativo:

text
/model

Também é possível forçar o modelo diretamente na inicialização do console via codex -m <Modelo> (especificado na documentação oficial de Models).

2. Validação prática do endpoint

Envie uma instrução simples para validar se a API retorna as respostas corretamente:

text
你好,用一句话回复确认你能正常工作。

Diagnóstico de saídas de teste:

Retorno no terminalCausa provávelAção recomendada
Resposta em texto limpo✅ Conexão estabelecida com sucessoA configuração está pronta para uso
Erro de credenciais (401 Unauthorized)A chave de API está incorreta ou as variáveis de ambiente não foram carregadas na sessão ativaValide o identificador cadastrado na chave env_key, reinicie a variável do sistema e abra uma nova janela de terminal
Falha estrutural de requisição (400 Bad Request)Incompatibilidade com o protocolo da Responses APIO endpoint do provedor de destino não aceita a Responses API do Codex. Alterne para o Método 2 (uso de proxies locais)
Erro de modelo desconhecidoO identificador do modelo na chave model está incorreto ou desatualizadoConsulte os modelos de linguagem válidos no site do provedor de destino

Retornos de erro 400 sinalizam que o endpoint rejeitou o formato de chamada Responses API exigido pelo Codex. Se essa ocorrência persistir, a rota direta do Método 1 deve ser substituída pela tradução de chamadas do proxy local do Método 2.

Tentar depurar chamadas de rede incompatíveis manualmente na CLI consome muito tempo. Alterne para o CC Switch ou mantenha o processamento na OpenAI oficial para agilizar o fluxo.

💡 Resumo em uma frase: Verifique as configurações ativas com /model e faça um teste prático de prompt. Falhas 401 representam problemas de chaves; erros 400 sinalizam incompatibilidades de protocolo da API de destino.


06 Parâmetros Operacionais: Ajustando a dedução da IA

Configurada a conexão com provedores compatíveis, ajuste as propriedades de processamento para otimizar os tokens.

O parâmetro model_reasoning_effort no config.toml gerencia a complexidade das rotas de raciocínio da IA, com os perfis minimal, low, medium, high e xhigh (especificado na documentação oficial de Configuration Reference):

toml
model_reasoning_effort = "medium"

Analogia: dedicação e foco na resolução de testes. Níveis baixos como low realizam processamentos rápidos voltados a tarefas superficiais de código; níveis como high forçam a IA a criar loops de auditoria profunda antes de responder. Manter o esforço alto em todas as chamadas consome cotas de forma acelerada.

Recomenda-se manter o processamento em medium para a rotina de desenvolvimento, aumentando a profundidade apenas em depurações estruturais complexas.

Particularidades operacionais: funções baseadas em serviços integrados da OpenAI (como o utilitário de pesquisas na web web_search da documentação oficial de Configuration Reference) perdem a integridade ou ficam inativas ao apontar para APIs de terceiros. Tenha em mente essas limitações.

💡 Resumo em uma frase: Configure model_reasoning_effort em medium para tarefas comuns e reserve o nível high para processamentos complexos de arquitetura. Atente-se a recursos nativos que perdem a funcionalidade com chaves de terceiros.


07 Resumo

A conexão do Codex com APIs de terceiros é uma funcionalidade experimental sujeita a particularidades de protocolos de rede.

Revisão dos pontos principais:

Tópico essencialDiretriz e Ações
Diferença de protocolosO Codex consome chamadas exclusivas sob a Responses API da OpenAI, divergindo dos padrões do Claude Code
Viabilidade de usoEvite duplicar gastos se possuir assinaturas do ChatGPT Plus ativas ou trabalhar com refatorações complexas
Opções de rotasMétodo 1 (TOML manual no config.toml) ou Método 2 (uso de proxies locais como o CC Switch)
Definições do provedorMapeamento no escopo model_providers integrado a variáveis globais de chaves via env_key
ValidaçãoChecagem visual com /model e prompts práticos de teste. Falhas 400 apontam incompatibilidade de protocolo
OtimizaçãoAjuste do nível de raciocínio da IA via parâmetro model_reasoning_effort

Com essas etapas consolidadas, você está pronto para gerenciar as permissões e parâmetros de endpoints de terceiros no Codex, depurando erros de rede associados a cabeçalhos e otimizando o consumo de tokens.

Regra técnica final: O fator determinante para conexões com provedores externos reside na compatibilidade das chamadas de API de destino com a Responses API do Codex. Compreender essas diretrizes agiliza a resolução de problemas.


O próximo artigo 06 · Executando a Primeira Tarefa inicializa a aplicação prática das ferramentas. Independentemente do provedor de modelos selecionado, guiaremos a execução de refatorações, correções de bugs e buscas em repositórios locais para entender a dinâmica de trabalho do assistente.


Leituras Recomendadas