Voltar ao blog

Ferramentas e integraçõesGuia

Conecte o OpenHands à CheapTokens: modelo, Base URL, chave

Preencha três campos em OpenHands Settings > LLM (Advanced) para rodar o agente em um modelo CheapTokens e aprenda a identificar as três falhas comuns.

Por CheapTokens TeamPublicado em 4 min de leitura

Campos de configuração do OpenHands com uma Base URL e um id de modelo CheapTokens
Nesta página
  1. Antes de abrir Settings
  2. Os três campos
  3. Verifique as peças fora do OpenHands primeiro
  4. Como fica um campo errado
  5. Quanto custa uma sessão
  6. Já usa o OpenHands com outro provedor?

Você pode rodar o OpenHands em um modelo CheapTokens preenchendo três campos em Settings > LLM depois de ativar Advanced: Custom Model (openai/deepseek-ai/DeepSeek-V4-Flash-0731), Base URL (https://api.cheaptokens.dev/v1) e API Key. É toda a configuração. O resto desta página explica o que cada campo significa e como fica quando um deles está errado.

Os nomes dos campos e a regra da string de modelo vêm da página de docs do OpenHands sobre endpoints compatíveis com OpenAI (verificada em 8 de novembro de 2026; a página não tem data nem versão). A versão mais recente do OpenHands nessa data é a v1.37.0 (6 de novembro de 2026). Se um rótulo na sua build parecer um pouco diferente, guie-se pela posição: modelo, base URL, chave.

Antes de abrir Settings#

Três coisas à mão economizam uma ida e volta: a chave, o id do modelo e acesso a Settings.

Lista de verificação

Pronto para configurar?

Novo em chaves e base URLs? O que é base_url e como trocar cobre isso em poucos minutos, e listar modelos com GET /v1/models mostra como procurar um id por conta própria.

Os três campos#

Abra Settings > LLM e ative Advanced. O campo Base URL fica sob o toggle Advanced.

Os três valores para OpenHands Settings > LLM (Advanced)
Diagrama dos valores, não uma captura de tela: o que vai em cada um dos três campos. A chave é um placeholder.

Os docs descrevem a regra do modelo assim: Custom Model é openai/ seguido do nome do modelo, e se você passar por um proxy que tem seu próprio prefixo, openai/<proxy-prefix>/<model-name>. A parte depois de openai/ é o nome do modelo. Para a CheapTokens o id é deepseek-ai/DeepSeek-V4-Flash-0731, então a string completa é openai/deepseek-ai/DeepSeek-V4-Flash-0731.

Campo Valor
Custom Model openai/deepseek-ai/DeepSeek-V4-Flash-0731
Base URL https://api.cheaptokens.dev/v1
API Key sua chave CheapTokens

Por que este modelo para um agente? O DeepSeek-V4-Flash tem janela de contexto de 380K e até 32.768 tokens de saída por resposta, e um único preço a qualquer hora, então uma sessão longa não fica mais cara no horário de pico. Um agente de código reenvia muito contexto a cada passo, e é para isso que serve a janela.

Prefere GLM? Use openai/zai-org/GLM-5.3-Flash (contexto de 390K, até 8.192 tokens de saída) no mesmo campo e não mude mais nada. Mesmo saldo, mesma chave, mesma Base URL.

Verifique as peças fora do OpenHands primeiro#

Antes de culpar o agente, envie uma requisição com a mesma URL, chave e id. Se isso funcionar, qualquer problema restante está em como você digitou os campos.

bash
curl https://api.cheaptokens.dev/v1/chat/completions \
  -H "Authorization: Bearer $CHEAPTOKENS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"model":"deepseek-ai/DeepSeek-V4-Flash-0731","messages":[{"role":"user","content":"Say ready"}],"max_tokens":20}'

Repare no que falta: não há openai/ no valor de model. Esse prefixo é para o OpenHands, não para a API. A resposta traz um bloco usage com prompt_tokens e completion_tokens — os mesmos dois números que você verá depois somando ao longo de uma sessão de agente.

Comparar

A string de modelo: um prefixo, dois resultados

Só o id

deepseek-ai/DeepSeek-V4-Flash-0731 — a forma para curl e para a API.

Com o prefixo

openai/deepseek-ai/DeepSeek-V4-Flash-0731 — a forma para o campo Custom Model.

Como fica um campo errado#

Cada um dos três campos pode ser a causa:

Para onde aponta cada erro: chave, Base URL, string de modelo
Sintoma para campo: 401 aponta para a chave, 404 para a Base URL ou a string de modelo.
  • Chave errada. A API responde 401 — a chave está ausente, digitada errado ou tem um espaço no final por causa da cópia.
  • Base URL errada. A requisição vai para o lugar errado e você recebe um 404 ou um erro de conexão. O endereço deve terminar em /v1 e não conter caminho extra.
  • String de modelo errada. Ou falta o prefixo, ou o id depois dele não é o id completo (a API aceita apenas o gateway_id completo, não um id curto como deepseek-v4-flash-0731).

O raciocínio completo sobre 401 versus 404 está em API 401 ou 404: chave, base URL ou id de modelo errados.

Experimente você mesmoTeste: a chave está certa, a URL está certa, o agente ainda falha no primeiro passo. Qual campo você abre?Mostrar resposta

O campo Custom Model. Verifique se ele começa com openai/ e se o id depois dele está escrito exatamente como na tabela acima. Chave e URL são os fáceis de verificar com curl.

Quanto custa uma sessão#

Um agente cobra pelo contexto inteiro a cada passo, não pela sua tarefa de uma linha. Digamos que o OpenHands trabalhe em um bug por 40 passos, com cerca de 30.000 tokens enviados e 1.500 escritos de volta por passo. Um passo no DeepSeek-V4-Flash é $0.0006; quarenta deles estão abaixo, ao lado dos outros modelos e do OpenRouter.

Modelo Por solicitação 40 solicitações OpenRouter, 40 solicitações
GLM-5.3-Flash $0.00066 $0.0264 $0.0452
DeepSeek-V4-Flash $0.0006 $0.024 $0.0924
MiniMax-M2.7 $0.0017 $0.069 $0.828

30.000 tokens de entrada e 1.500 tokens de saída por solicitação. Os preços por 1M de tokens são atuais e mudam junto com nossas tarifas; a coluna OpenRouter mostra preços de referência para a mesma carga de trabalho.

No total, com entrada e saída contadas juntas, o DeepSeek-V4-Flash sai mais barato que o OpenRouter para esta carga de trabalho. As premissas são suas para mudar: uma correção curta pode levar 10 passos, um refactor grande 100. Os preços atuais estão na página de preços, e a página do modelo é DeepSeek barato.

Já usa o OpenHands com outro provedor?#

Então você só troca três valores: Custom Model, Base URL, API Key. Nada mais no projeto muda, e você pode voltar da mesma forma. O passo a passo de conexão para a API em si está na documentação da CheapTokens; uma configuração semelhante em outra ferramenta é conectar o Aider.