Source: https://aiprimetech.io/pt/learn/use-claude-api-with-opencode/ [Início](/pt/) / [Aprenda](/pt/learn/) / Configuração do OpenCode para Claude: configuração de opencode.json, modelos e erros comuns # Configuração do OpenCode para Claude: configuração do opencode.json, modelos e erros comuns OpenCode lê suas configurações de opencode.json. Para executá-lo com Claude por este gateway, você altera um único valor, o campo do provedor Anthropic baseURL, e fornece uma chave. Abaixo estão duas configurações funcionais, os ajustes de modelo e contexto que importam e as correções para os erros que usuários do OpenCode encontram neste gateway, extraídos dos nossos próprios logs de solicitações. ## Onde fica opencode.json OpenCode mescla uma configuração global com uma configuração por projeto: ~/.config/opencode/opencode.json para as configurações que você deseja usar em todos os lugares, e opencode.json na raiz de um projeto para esse repositório. Adicionar a linha $schema oferece preenchimento automático e validação na maioria dos editores. Mantenha a chave fora do arquivo. Coloque-a em uma variável de ambiente e faça referência a ela como {env:AIPRIME_API_KEY}. As chaves que você adiciona com /connect dentro do OpenCode são armazenadas em ~/.local/share/opencode/auth.json; opencode auth list mostra o que está armazenado ali. terminalCopiar ``` export AIPRIME_API_KEY=your_gateway_key # add to ~/.bashrc or ~/.zshrc opencode auth list # credentials OpenCode already knows about ``` ## Opção 1: aponte o provedor Anthropic integrado para o gateway A menor alteração: mantenha o próprio provedor Anthropic do OpenCode e sua lista de modelos e substitua o destino das solicitações. opencode.jsonCopiar ``` { "$schema": "https://opencode.ai/config.json", "provider": { "anthropic": { "options": { "baseURL": "https://aiprimetech.io/v1", "apiKey": "{env:AIPRIME_API_KEY}" } } }, "model": "anthropic/claude-sonnet-5", "small_model": "anthropic/claude-haiku-4-5" } ``` O baseURL deve terminar em /v1. O provedor Anthropic do OpenCode é o componente do AI SDK @ai-sdk/anthropic, cujo padrão é https://api.anthropic.com/v1; ele acrescenta /messages ao que você fornecer. Sem /v1 a solicitação chega ao site e retorna HTML, que o OpenCode apresenta como um erro de análise. ## Opção 2: um provedor personalizado com sua própria lista de modelos Uma entrada de provedor separada mantém o gateway independente de qualquer login da Anthropic, permite listar exatamente os modelos que você quer no seletor e definir limites de contexto por modelo. opencode.jsonCopiar ``` { "$schema": "https://opencode.ai/config.json", "provider": { "aiprime": { "npm": "@ai-sdk/anthropic", "name": "AI Prime Tech", "options": { "baseURL": "https://aiprimetech.io/v1", "apiKey": "{env:AIPRIME_API_KEY}" }, "models": { "claude-sonnet-5": { "name": "Claude Sonnet 5", "limit": { "context": 200000, "output": 64000 } }, "claude-opus-5-5": { "name": "Claude Opus 5.5", "limit": { "context": 200000, "output": 64000 } }, "claude-haiku-4-5": { "name": "Claude Haiku 4.5", "limit": { "context": 200000, "output": 32000 } } } } }, "model": "aiprime/claude-sonnet-5", "small_model": "aiprime/claude-haiku-4-5" } ``` Prefira @ai-sdk/anthropic para Claude: usa a API Messages nativa, de modo que o cache de prompts e o raciocínio funcionam como a Anthropic os projetou. O gateway também oferece o formato da OpenAI, então @ai-sdk/openai-compatible com a mesma https://aiprimetech.io/v1 URL base também funciona, e esse é o caminho a usar para modelos GPT com a mesma chave. ## Modelos e limites de contexto | ID do modelo | Use para | claude-sonnet-5 | Padrão para programação e trabalho com agentes: rápido, eficiente e de preço intermediário. | claude-opus-5-5 | Raciocínio mais complexo, grandes refatorações e execuções longas de agentes. | claude-fable-5-1 | O mais capaz e mais caro; reserve-o para as tarefas mais difíceis. | claude-haiku-4-5 | Barato e rápido: títulos, resumos, classificação e pequenas etapas. model é o que o agente principal usa; small_model cuida de tarefas auxiliares de baixo custo, como títulos de sessões. O limit.context número informa ao OpenCode quando compactar a sessão. Se uma sessão longa falhar com prompt is too long, reduza esse valor (200000 é um valor seguro) para que o OpenCode resuma mais cedo, em vez de enviar mais do que o endpoint aceita. Os IDs dos modelos são strings exatas. Nomes antigos como claude-3-5-sonnet-20241022 ou versões com data não são disponibilizados; use os IDs acima ou a lista no seu painel. ## Verifique a chave e a URL antes de iniciar o OpenCode Uma solicitação pelo terminal informa se a chave e a URL estão corretas, independentemente da configuração do OpenCode: terminalCopiar ``` curl -s https://aiprimetech.io/v1/messages \ -H "x-api-key: $AIPRIME_API_KEY" \ -H "anthropic-version: 2023-06-01" \ -H "content-type: application/json" \ -d '{"model":"claude-haiku-4-5","max_tokens":20,"messages":[{"role":"user","content":"ping"}]}' ``` Uma resposta JSON com um content array significa que está tudo certo do lado do gateway e que qualquer problema restante está em opencode.json. Invalid API key significa que a variável está vazia ou contém a chave errada. ## Solução de problemas: erros encontrados por usuários do OpenCode Estes são os erros mais frequentes ao usar o OpenCode neste gateway, com a solução para cada um. | O que você vê | Causa | Correção | Um erro de análise de JSON, com a resposta começando por < | baseURL sem /v1: a solicitação chegou ao site, não à API | Termine baseURL por /v1 | 404 page not found | /v1 duas vezes, de modo que o caminho se torna /v1/v1/messages | Use exatamente https://aiprimetech.io/v1 | Invalid API key | A variável não foi exportada no shell a partir do qual o OpenCode foi iniciado, ou outra chave está sendo usada | echo $AIPRIME_API_KEY, opencode auth list, reinicie o OpenCode | Modelo não compatível / modelo não encontrado | Um ID que o endpoint não disponibiliza, geralmente um nome antigo com data | Use um ID da tabela acima | prompt is too long: N tokens > N tokens | A sessão ultrapassou o limite aceito pelo modelo | /compact, e reduza limit.context | Concurrency limit exceeded for user | Subagentes em paralelo excedem o limite de simultaneidade da sua chave | Execute menos subagentes ao mesmo tempo ou peça ao suporte um limite maior de simultaneidade | Insufficient account balance | O saldo está zerado | [Adicionar créditos](/pt/topup/) e tente novamente | No available accounts ou This request could not be completed | Problema temporário de capacidade no serviço de origem | Envie a mensagem novamente; troque de modelo se o problema persistir Para erros que vêm do lado do modelo, e não do cliente, consulte [guia de erros da API do Claude](/pt/learn/claude-api-errors-troubleshooting/). ## Perguntas frequentes Onde fica o arquivo de configuração do OpenCode? Globalmente, em ~/.config/opencode/opencode.json, e por projeto, como opencode.json na raiz do repositório. O OpenCode mescla os dois. Como usar Claude no OpenCode com uma chave de API? Defina provider.anthropic.options.baseURL como a URL do gateway terminada em /v1 e apiKey como {env:YOUR_VAR}, ou adicione um provedor personalizado com npm @ai-sdk/anthropic e escolha o modelo com model: provider/model-id. Por que o OpenCode falha com um erro de análise ou uma resposta que começa com '<'? Falta /v1 na baseURL, então as solicitações chegam ao site em vez da API. @ai-sdk/anthropic espera o prefixo completo, por exemplo, https://aiprimetech.io/v1. O OpenCode pode usar um login do Claude Pro ou Max? A documentação do OpenCode observa que a Anthropic proíbe plugins Pro/Max de terceiros e que o OpenCode deixou de incluí-los em 1.3.0. Uma chave de API é a forma compatível de acesso. Comece a usar o Claude em minutos Obtenha uma chave de API — sem precisar de conta na Anthropic nem de lista de espera.[Obtenha sua chave de API](/register) AI Prime Tech é um gateway de API independente. Não tem afiliação com a Anthropic, não é endossado por ela e não é seu revendedor. Claude e os nomes dos modelos relacionados são marcas comerciais de seus respectivos proprietários. ## Mais guias da API do Claude [Como obter uma chave de API do Claude](/pt/learn/how-to-get-a-claude-api-key/)[Preços da API Claude explicados](/pt/learn/claude-api-pricing-explained/)[A maneira mais barata de usar a API do Claude](/pt/learn/cheapest-way-to-use-claude-api/)[Cursor ilimitado com a API do Claude](/learn/use-claude-api-with-cursor/)[Acesso ilimitado ao Claude Code](/pt/learn/use-claude-api-with-claude-code/)[Gateway da API do Claude vs. acesso direto à Anthropic](/pt/learn/claude-api-vs-anthropic-direct/)[Como usar Claude por meio de uma API compatível com OpenAI](/pt/learn/openai-compatible-claude-api/)[Modelos Claude explicados: uma comparação entre Claude Opus, Sonnet, Haiku e Fable — todos os modelos da API Claude, nomes e preços dos modelos Anthropic (2026)](/pt/learn/claude-api-models-compared/)[Pagamento da API do Claude com criptomoedas](/pt/learn/claude-api-with-crypto-payment/)[Acesso à API do Claude sem lista de espera](/pt/learn/claude-api-without-waitlist/)[Como reduzir o uso de tokens do Claude](/pt/learn/how-to-reduce-claude-token-usage/)[Cline ilimitado com a API do Claude](/pt/learn/use-claude-api-with-cline/)[Roo Code ilimitado com a API do Claude](/pt/learn/use-claude-api-with-roo-code/)[Claude ilimitado nas IDEs da JetBrains](/pt/learn/use-claude-api-with-jetbrains/)[Aider ilimitado com a API do Claude](/pt/learn/use-claude-api-with-aider/)[Claude ilimitado no VS Code](/pt/learn/use-claude-api-with-vscode/)[Como executar um agente Hermes ilimitado no Claude](/pt/learn/run-hermes-agent-with-claude-api/)[Executando OpenClaw ilimitado com Claude](/pt/learn/run-openclaw-with-claude-api/)[O que significa uma API compatível com a Anthropic](/pt/learn/anthropic-compatible-api/)[Chave de API do Claude Code — ANTHROPIC_API_KEY: como obtê-la, configurá-la e quando usar claude setup-token em seu lugar](/pt/learn/claude-code-api-key-setup/)[Custos da API do Claude Code — Preços e como reduzi-los](/pt/learn/claude-code-api-costs/)[Erros da API Claude explicados: erro de servidor 500, sobrecarga 529, limite de requisições 429, requisição inválida 400 — e a correção para cada um](/pt/learn/claude-api-errors-troubleshooting/)[Como comprar créditos da API do Claude — e por que um crédito do Claude é melhor do que qualquer oferta de "comprar conta do Claude"](/pt/learn/buy-claude-api-credits/)[API Claude gratuita: existe uma chave de API Claude gratuita e o que realmente é gratuito em 2026?](/pt/learn/claude-api-free-trial/)[API do Claude vs assinatura Claude Pro/Max — Qual escolher](/pt/learn/claude-api-vs-subscription/)[Como executar a CLI do Codex no Claude](/pt/learn/use-claude-api-with-codex/)[Conectando Claude ao n8n](/pt/learn/use-claude-api-with-n8n/)[Roteando LiteLLM para Claude](/pt/learn/use-claude-api-with-litellm/)[Usando Claude no Kilo Code](/pt/learn/use-claude-api-with-kilo-code/)[Integre Claude ao GitHub Copilot](/pt/learn/use-claude-api-with-github-copilot/)[Conecte o Zed ao Claude por meio do gateway](/pt/learn/use-claude-api-with-zed/)[Conecte o Cherry Studio ao Claude](/pt/learn/use-claude-api-with-cherry-studio/)[ChatAnthropic no LangChain: importação, base_url, streaming, ferramentas e erros](/pt/learn/use-claude-api-with-langchain/)[SDK de Python da Anthropic: instale, defina base_url, use streaming e trate erros](/pt/learn/anthropic-python-sdk/)[Claude com o Vercel AI SDK: baseURL de createAnthropic, streaming e correções](/pt/learn/use-claude-api-with-vercel-ai-sdk/)[Execute o Factory Droid com o Claude](/pt/learn/use-claude-api-with-factory-droid/)[A API do Claude Code, explicada](/pt/learn/claude-code-api/)[Como integrar a API do Claude à sua aplicação](/pt/learn/claude-api-integration/)[Como obter uso ilimitado do Claude — e por que não existe "Claude Code crackeado"](/pt/learn/get-unlimited-claude-usage/)