Claude Code com DeepSeek Flash ou Pro: configuração, testes e preços
Guia completo para conectar o Claude Code ao DeepSeek, escolher Flash ou Pro, inserir a chave com segurança, validar a rota, corrigir erros e comparar preços atuais.
Conteúdo

O Claude Code pode apontar diretamente para o endpoint compatível com Anthropic do DeepSeek, sem proxy adicional. Para a maior parte do trabalho, comece com o perfil oficial atual deepseek-flash[1m]; mova apenas o agente principal para deepseek-v4-pro quando uma refatoração difícil, uma decisão de arquitetura ou uma investigação longa justificar o custo maior.
Há duas armadilhas. O exemplo atual do DeepSeek força Flash até na rota Opus e substitui o mapeamento automático. Além disso, um nome de modelo não suportado cai silenciosamente em deepseek-flash. Portanto, uma resposta normal prova conectividade, não que o Pro processou a solicitação.
Escolha o perfil de modelos antes de alterar a configuração
Em 27 de setembro de 2026, o guia do DeepSeek para Claude Code usa um perfil econômico totalmente em Flash. O guia de compatibilidade Anthropic informa que nomes iniciados por claude-opus vão para deepseek-v4-pro, enquanto claude-sonnet e claude-haiku vão para deepseek-flash.
| Perfil | Modelo principal / Opus | Sonnet | Haiku e subagentes | Melhor uso |
|---|---|---|---|---|
| Padrão oficial, prioridade à velocidade | deepseek-flash[1m] | deepseek-flash[1m] | deepseek-flash | Código diário, leitura de repositório e muitas tarefas pequenas |
| Pro na linha principal | deepseek-v4-pro | deepseek-flash[1m] | deepseek-flash | Arquitetura, refatoração difícil e diagnóstico crítico |
| Mapeamento automático de nomes Claude | claude-opus* → deepseek-v4-pro | claude-sonnet* → deepseek-flash | claude-haiku* → deepseek-flash | Apenas quando você sabe qual nome o cliente envia |
Variáveis explícitas têm prioridade. Ao definir ANTHROPIC_DEFAULT_OPUS_MODEL=deepseek-flash[1m], escolher Opus no Claude Code ainda leva a solicitação para Flash.
1. Instale o Claude Code e verifique primeiro o CLI
Use Node.js 18 ou mais recente; no Windows, instale também Git for Windows. Confira a versão antes de configurar o provedor para não confundir instalação local com falha de endpoint.
npm install -g @anthropic-ai/claude-code
claude --version
IFS= read -rs ANTHROPIC_AUTH_TOKEN
export ANTHROPIC_AUTH_TOKEN
export ANTHROPIC_BASE_URL="https://api.deepseek.com/anthropic"
export ANTHROPIC_MODEL="deepseek-flash[1m]"
export ANTHROPIC_DEFAULT_OPUS_MODEL="deepseek-flash[1m]"
export ANTHROPIC_DEFAULT_SONNET_MODEL="deepseek-flash[1m]"
export ANTHROPIC_DEFAULT_HAIKU_MODEL="deepseek-flash"
export CLAUDE_CODE_SUBAGENT_MODEL="deepseek-flash"
export CLAUDE_CODE_EFFORT_LEVEL="max"
export CLAUDE_CODE_AUTO_COMPACT_WINDOW="786432"
IFS= read -rs ANTHROPIC_AUTH_TOKEN espera a API Key sem exibi-la. Cole a chave, pressione Enter e a linha seguinte a exportará para o shell atual. Não coloque uma chave real em comando, histórico, script ou repositório.
No PowerShell, leia o segredo com segurança e exponha-o somente ao processo atual:
npm install -g @anthropic-ai/claude-code
claude --version
$secure = Read-Host -AsSecureString
$ptr = [Runtime.InteropServices.Marshal]::SecureStringToBSTR($secure)
try {
$env:ANTHROPIC_AUTH_TOKEN = [Runtime.InteropServices.Marshal]::PtrToStringBSTR($ptr)
} finally {
[Runtime.InteropServices.Marshal]::ZeroFreeBSTR($ptr)
}
$env:ANTHROPIC_BASE_URL="https://api.deepseek.com/anthropic"
$env:ANTHROPIC_MODEL="deepseek-flash[1m]"
$env:ANTHROPIC_DEFAULT_OPUS_MODEL="deepseek-flash[1m]"
$env:ANTHROPIC_DEFAULT_SONNET_MODEL="deepseek-flash[1m]"
$env:ANTHROPIC_DEFAULT_HAIKU_MODEL="deepseek-flash"
$env:CLAUDE_CODE_SUBAGENT_MODEL="deepseek-flash"
$env:CLAUDE_CODE_EFFORT_LEVEL="max"
$env:CLAUDE_CODE_AUTO_COMPACT_WINDOW="786432"
As variáveis valem para o Claude Code aberto por esse terminal. Primeiro valide a sessão temporária; depois persista apenas configurações não secretas em um perfil protegido e guarde a chave em um cofre apropriado.
2. Use Pro apenas no fluxo que precisa de raciocínio profundo
A página atual de modelos e preços lista deepseek-v4-pro como ID exato, atualmente DeepSeek-V4-Pro-0813. A integração atual demonstra [1m] apenas com Flash, não deepseek-v4-pro[1m]. Por isso, use o ID documentado na tabela em vez de criar um sufixo.
export ANTHROPIC_MODEL="deepseek-v4-pro"
export ANTHROPIC_DEFAULT_OPUS_MODEL="deepseek-v4-pro"
export ANTHROPIC_DEFAULT_SONNET_MODEL="deepseek-flash[1m]"
export ANTHROPIC_DEFAULT_HAIKU_MODEL="deepseek-flash"
export CLAUDE_CODE_SUBAGENT_MODEL="deepseek-flash"
A sessão principal e Opus passam a usar Pro; Sonnet, Haiku e subagentes continuam em Flash. Leituras, buscas e pequenas tarefas delegadas podem multiplicar chamadas, então mantê-las em Flash ajuda a concentrar o gasto onde ele traz mais valor.
O que [1m] significa — e o que não significa
A documentação atual da DeepSeek não define [1m] em uma frase separada. Ela mostra o sufixo no Flash principal e nos overrides de Opus/Sonnet, mantém Haiku e CLAUDE_CODE_SUBAGENT_MODEL como deepseek-flash e publica contexto de 1M na tabela de modelos. Em conjunto, a interpretação mais segura é tratar [1m] como a notação do Claude Code para solicitar a rota de contexto de um milhão de tokens somente nos modelos em que a integração a exibe; não é outro modelo, outro preço nem um milhão de tokens de saída.
Limites importantes:
- o output máximo publicado é 384K, não 1M;
CLAUDE_CODE_AUTO_COMPACT_WINDOW=786432deixa margem antes do limite de contexto;- a cobrança usa
deepseek-flashedeepseek-v4-pro; não acrescente o sufixo a um ID que a página atual não demonstra.
3. Faça um teste pequeno antes de executar uma tarefa longa
Abra um projeto descartável ou de baixo risco:
test -n "${ANTHROPIC_AUTH_TOKEN:-}"
test "$ANTHROPIC_BASE_URL" = "https://api.deepseek.com/anthropic"
claude --version
cd /path/to/your/project
claude
Peça algo observável e somente leitura: “Leia package.json ou pyproject.toml, liste os scripts e não altere arquivos.” Sucesso significa resposta normal e leitura concluída, sem 401, 402, 429, erro de conexão ou modelo. A interação é síncrona; não há job ID nem polling, e o resultado aparece na sessão.
Se o Claude Code falhar, isole endpoint e cliente com o padrão oficial do SDK Anthropic e salve a resposta:
python3 -m pip install anthropic
python3 - <<'PY'
import os
from pathlib import Path
import anthropic
client = anthropic.Anthropic(
base_url=os.environ["ANTHROPIC_BASE_URL"],
api_key=os.environ["ANTHROPIC_AUTH_TOKEN"],
)
message = client.messages.create(
model="deepseek-flash",
max_tokens=200,
messages=[{"role": "user", "content": "Reply with: endpoint OK"}],
)
text = "\n".join(block.text for block in message.content if block.type == "text")
Path("deepseek-smoke.txt").write_text(text, encoding="utf-8")
print("saved deepseek-smoke.txt")
PY
Se deepseek-smoke.txt for criado e o Claude Code ainda falhar, procure variáveis conflitantes, outro arquivo de configuração ou processo antigo. Se o SDK também falhar, verifique Base URL, chave, saldo e status do serviço.
O DeepSeek documenta que nomes não suportados caem em deepseek-flash. O check do SDK comprova o transporte, enquanto a tarefa read-only do Claude Code também verifica uma chamada básica de tool; nenhum dos dois comprova a identidade do modelo. Antes de comparar qualidade ou custo do Pro, consulte os dados de request, uso ou cobrança que o provedor disponibilizar. Se eles não mostrarem o modelo, não trate uma resposta correta como prova de uso do Pro.
Tools, thinking e pesquisa web funcionam dentro de limites
A compatibilidade com Anthropic Messages cobre estruturas centrais, mas não torna o comportamento idêntico ao Claude. Na tabela de compatibilidade, estes pontos importam para o Claude Code:
| Capacidade | Status | Consequência |
|---|---|---|
tools, tool_use, tool_result | Campos centrais suportados | Há base de protocolo para arquivos e comandos locais |
tool_choice | Suportado; disable_parallel_tool_use ignorado | Não dependa do flag para serialização estrita |
| Web Search no Claude Code | Suporte nativo | Resumir resultados gera chamadas LLM e tokens adicionais |
cache_control Anthropic | Ignorado | Não deduza cache hit real dessas diretivas |
| Thinking | Suportado; budget_tokens ignorado e effort aceito | O perfil usa CLAUDE_CODE_EFFORT_LEVEL=max; o budget do Claude não controla custo aqui |
Blocos document e search_result | Não suportados | Teste em pequena escala os fluxos que dependem deles |
code_execution_tool_result e mcp_tool_use | Não suportados | Execução server-side e blocos MCP específicos não são equivalentes |
tool_result.is_error | Ignorado | Middleware não deve comunicar falha apenas por esse campo |
O guia do DeepSeek diz que a API fornece Web Search ao Claude Code. Quando o modelo decide pesquisar, chamadas extras resumem o conteúdo encontrado. Inclua pesquisa, contexto longo, ciclos de tools e retries na estimativa de custo.
Corrija o problema pelo sintoma
| Sintoma | Verifique primeiro | Correção e reteste |
|---|---|---|
| 401 / authentication failure | Chave errada, espaços ou variável ausente no shell | Digite novamente de forma oculta, reinicie e repita a leitura curta |
| 402 / insufficient balance | Saldo do DeepSeek | Recarregue e repita a mesma solicitação curta |
| 400 / 422 | Campo, ID ou middleware que reescreve o corpo | Restaure variáveis oficiais; cliente próprio de Thinking + tools deve devolver todo reasoning_content |
| 429 | Taxa e sessões paralelas | Reduza concorrência e use backoff |
| 500 / 503 | Falha ou sobrecarga do provedor | Aguarde, tente novamente e registre o horário se persistir |
| Responde, mas não parece Pro | Erro no nome ou fallback | Use deepseek-v4-pro exato e confirme modelo/cobrança no painel |
| Configuração não muda | Processo antigo ou outra camada de settings | Feche tudo, abra novo terminal, redefina variáveis e reinicie |
| Web Search não é acionado | O modelo pode julgar a pesquisa desnecessária | Peça informação web atual explicitamente; isso não indica falha da conexão |
A página oficial de erros separa 401, 402, 429, 500 e 503. Altere um item por vez e repita sempre o mesmo teste curto.
Preços de DeepSeek e BetterToken verificados em 27/09/2026
Os valores são USD por 1 milhão de tokens. O DeepSeek usa peak/off-peak; o catálogo BetterToken não replica essa divisão horária. Antes de uma execução grande, reveja os preços oficiais do DeepSeek e a única página de preços da BetterToken.
DeepSeek oficial
| ID / versão atual | Faixa | Input sem cache | Input com cache | Output |
|---|---|---|---|---|
deepseek-flash / DeepSeek-V4.1-Flash | Off-peak | $0.15 | $0.003 | $0.60 |
deepseek-flash / DeepSeek-V4.1-Flash | Peak | $0.30 | $0.006 | $1.20 |
deepseek-v4-pro / DeepSeek-V4-Pro-0813 | Off-peak | $0.66 | $0.022 | $1.98 |
deepseek-v4-pro / DeepSeek-V4-Pro-0813 | Peak | $1.32 | $0.044 | $3.96 |
Peak ocorre de segunda a sexta, 01:00–04:00 e 06:00–10:00 UTC, exceto feriados públicos chineses; o restante é off-peak. O changelog de 10 de setembro informa que deepseek-flash chama V4.1 Flash e nomes antigos deepseek-v4-flash são temporariamente roteados para ela.
Catálogo público BetterToken
| ID BetterToken / modelo atual | Tipos de endpoint | Input | Cache hit | Output |
|---|---|---|---|---|
deepseek-flash / Flash mais recente, hoje V4.1 Flash | Anthropic, OpenAI | $0.132 | $0.00264 | $0.528 |
deepseek-pro / Pro mais recente, hoje V4-Pro-0813 | OpenAI | $0.5808 | $0.01936 | $1.7424 |
deepseek-v4-pro-0813 / V4-Pro-0813 | Anthropic, OpenAI | $0.5896 | $0.0176 | $1.7644 |
deepseek-pro custa um pouco menos, mas aparece apenas para OpenAI. Nome ou preço parecido não o torna válido no Anthropic Messages do Claude Code. Para Pro via BetterToken, valide deepseek-v4-pro-0813, que declara Anthropic.
Exemplo com 1 milhão de tokens de input sem cache e 200 mil de output, sem pesquisa ou retries:
- Flash: cerca de $0.27 no DeepSeek off-peak, $0.54 no peak e $0.2376 no catálogo BetterToken.
- Pro: cerca de $1.056 no DeepSeek off-peak, $2.112 no peak e $0.9425 no Pro compatível com Anthropic da BetterToken.
É um retrato de 27/09/2026, não promessa de que a BetterToken sempre será mais barata. Contexto, tools, pesquisa, retries e reajustes alteram o total.
Avalie a rota BetterToken sem inventar o mapping
O catálogo público da BetterToken marca deepseek-flash e deepseek-v4-pro-0813 como compatíveis com Anthropic, enquanto deepseek-pro é somente OpenAI. Isso permite comparar preços e identificar IDs candidatos, mas não confirma sozinho um mapping do Claude Code.
O guia atual da BetterToken para Claude Code documenta https://bettertoken.ai sem /v1, autenticação, reinício e mappings para Claude, Kimi e GLM. Ele não fornece um perfil específico para DeepSeek. Para o provider Claude, também orienta a não definir ANTHROPIC_MODEL nem ANTHROPIC_DEFAULT_*_MODEL manualmente. Não deduza nem persista um mapping DeepSeek apenas pelo catálogo de preços.
Se o Setup atual da BetterToken ou uma documentação mais nova mostrar um perfil DeepSeek, use o ID exato exibido e repita a tarefa read-only e o SDK smoke test anteriores. Para Pro, considere apenas deepseek-v4-pro-0813, que declara Anthropic; não substitua pelo deepseek-pro, restrito ao OpenAI. Até que o mapping específico esteja documentado ou confirmado na conta, o endpoint direto da DeepSeek é a configuração conhecida.
Para avaliar essa rota, confira os preços atuais e depois crie uma conta e API Key.
Qual rota escolher
- Maioria das tarefas: endpoint direto DeepSeek com
deepseek-flash[1m]; é o padrão atual e mantém iterações econômicas. - Trabalho difícil e valioso: main thread e Opus em
deepseek-v4-pro; Sonnet, Haiku e subagentes em Flash. Confirme que não houve fallback antes de escalar. - Um saldo ou vários provedores: avalie BetterToken somente quando o Setup atual mostrar um perfil DeepSeek. Use
supported_endpoint_typescomo filtro inicial e confirme o mapping, o ID exato e o preço do dia. - Blocos específicos Anthropic ou paridade comportamental: use Claude. Compatibilidade de transporte não garante comportamento nem ferramentas idênticas.
Antes de usar em um repositório importante, feche o ciclo: versão visível, chave nunca exibida, Base URL exata, tarefa de leitura concluída e identidade do modelo confirmada pelos dados disponíveis ou marcada claramente como não confirmada.