OpenCode
Aponte o provedor Anthropic do OpenCode para a OneProvider com a mesma chave e, se quiser, direcione também os modelos gpt-*. Config de exemplo.
O OpenCode encaminha modelos da Anthropic e da OpenAI por provedores plugáveis. Aponte o bloco anthropic para a OneProvider e pronto.
Todos os modelos, recursos e preços Índice da documentação para agentes de IA:https://oneprovider.dev/docs/llms.txt Antes de começar: uma chave do seu painel Abra o seu painel: o bot do Telegram @oneprovider_robot (Painel) ou app.oneprovider.dev . Toque em “Emitir chave”, dê um nome a ela (por exemplo, este cliente) e um limite de gastos, e copie a chave. É no mesmo lugar que você recarrega o saldo. Mais sobre o painel e as chaves . Configuração
Caminho da configuração: ~/.config/opencode/opencode.json (ou opencode.jsonc). Crie o arquivo se ele não existir.
{
"provider": {
"anthropic": {
"options": {
"baseURL": "https://api.oneprovider.dev/v1",
"apiKey": "sk-your-key-here"
},
"npm": "@ai-sdk/anthropic"
}
},
"$schema": "https://opencode.ai/config.json"
} A chave de API pode ser definida direto no arquivo (como acima) ou ficar fora dele: o comando /connect dentro do OpenCode (ou opencode auth login no terminal) a salva separadamente (na 1.x, em ~/.local/share/opencode/auth.json), e a configuração guarda só o baseURL.
Jeitos mais simples
- Por projeto. Coloque o mesmo JSON em
opencode.jsonna raiz do projeto: ele vale só ali e é mesclado sobre o arquivo global. - Chave de uma variável de ambiente. Escreva
"apiKey": "{env:ONEPROVIDER_KEY}"e executeexport ONEPROVIDER_KEY=sk-your-key-here. O arquivo não guarda nenhum segredo e pode ir para o commit. Se a variável não estiver definida, entra uma string vazia.
Máquina remota, CI, contêiner
Não precisa copiar o ~/.config por SSH. Mantenha no repositório o opencode.json com {env:ONEPROVIDER_KEY} e defina ONEPROVIDER_KEY nessa máquina (um secret do CI, docker run -e, export). No OpenCode 1.x você também pode passar a configuração inteira em uma só variável, OPENCODE_CONFIG_CONTENT: JSON inline, aplicado depois de todos os arquivos de configuração, sem gravar nada em disco. OPENCODE_CONFIG=/path/to/config.json aponta para um arquivo de configuração em outro lugar.
export OPENCODE_CONFIG_CONTENT='{"provider":{"anthropic":{"npm":"@ai-sdk/anthropic","options":{"baseURL":"https://api.oneprovider.dev/v1","apiKey":"sk-your-key-here"}}}}'
opencode OpenCode 1.x e OpenCode 2
Veja a sua versão com opencode --version: o número começa com 1 ( OpenCode 1.x , o que o instalador entrega por padrão) ou com 2 ( OpenCode 2 ). A configuração desta página está no formato 1.x (provider, npm, options), e o OpenCode 2 a lê dos mesmos lugares, sem mudanças. O formato nativo da 2 é opcional; ele grava as mesmas configurações com providers, package, settings:
{
"providers": {
"anthropic": {
"package": "aisdk:@ai-sdk/anthropic",
"settings": { "baseURL": "https://api.oneprovider.dev/v1", "apiKey": "sk-your-key-here" }
},
"openai": {
"package": "aisdk:@ai-sdk/openai",
"settings": { "baseURL": "https://api.oneprovider.dev/v1", "apiKey": "sk-your-key-here" }
}
}
} Não aponte o OpenCode 1.x para um arquivo reescrito no formato 2: as duas versões leem os mesmos arquivos. OPENCODE_CONFIG e OPENCODE_CONFIG_CONTENT estão documentados para a 1.x; no OpenCode 2, use o opencode.json do projeto e a variável ONEPROVIDER_KEY em uma máquina remota.
Encaminhando também os modelos gpt-*
A mesma chave também serve para os modelos GPT — adicione um segundo bloco de provedor. Os dois ficam no mesmo arquivo; escolha o modelo como provider/model-id.
{
"provider": {
"anthropic": { "options": { "baseURL": "https://api.oneprovider.dev/v1", "apiKey": "sk-your-key-here" }, "npm": "@ai-sdk/anthropic" },
"openai": { "options": { "baseURL": "https://api.oneprovider.dev/v1", "apiKey": "sk-your-key-here" }, "npm": "@ai-sdk/openai" }
}
} Modelo padrão Depois de salvar, execute /models dentro do OpenCode para definir um padrão — claude-sonnet-5-5 para a Anthropic, gpt-6.1-terra para a OpenAI. Qual modelo escolher
Use anthropic/claude-sonnet-5-5 como modelo do dia a dia: preço e qualidade equilibrados. Troque para anthropic/claude-opus-5-5 em trabalho de arquitetura e refatorações grandes, e use anthropic/claude-haiku-5-5 quando a velocidade importa mais que a profundidade. Para modelos GPT use o bloco openai: openai/gpt-6.1-terra é o padrão equilibrado e openai/gpt-6.1-sol o nível de ponta. Abra /models para escolher; um modelo barato também serve para a configuração small_model do OpenCode, usada em títulos e tarefas curtas. Os IDs estão na página de modelos e os valores na página de preços .
Erros comuns e soluções
404 “The requested API endpoint does not exist”
No OpenCode, o provedor @ai-sdk/anthropic espera o baseURL com /v1: https://api.oneprovider.dev/v1. Não acrescente /messages por conta própria e não use aqui só o host.
401 Invalid API key
A chave na configuração está cortada ou entre aspas. Você também pode executar /connect e colá-la lá (o OpenCode 1.x a guarda em ~/.local/share/opencode/auth.json); depois remova apiKey da configuração.
A configuração não carrega
Aspas “inteligentes” de um mensageiro ou do Notion quebram o JSON. Confira o arquivo com jq . ~/.config/opencode/opencode.json ou use opencode.jsonc se quiser comentários.
O modelo não está na lista
Escolha-o exatamente como provider/model-id, por exemplo anthropic/claude-sonnet-5-5, e confira se o bloco de provedor correspondente existe no arquivo.
429 “Insufficient balance”
O saldo ou o limite de gastos da chave acabou. Recarregue o saldo do painel; tentar de novo não resolve.
O streaming é cortado
Desligue VPN ou proxies VLESS: eles seguram o SSE em buffer e quebram o HTTP/2.
Perguntas frequentes
Onde fica o arquivo de configuração?
~/.config/opencode/opencode.json (ou opencode.jsonc). Um projeto também pode ter o seu próprio opencode.json.
Como mantenho a chave fora do arquivo?
O OpenCode substitui variáveis de ambiente: escreva "apiKey": "{env:ONEPROVIDER_KEY}" e exporte a variável no seu shell.
Como uso em uma máquina remota ou no CI?
Sem copiar arquivos por SSH: mantenha no repositório o opencode.json com {env:ONEPROVIDER_KEY} e defina ONEPROVIDER_KEY nessa máquina, ou (OpenCode 1.x) passe a configuração inteira na variável OPENCODE_CONFIG_CONTENT. Veja “Máquina remota, CI, contêiner” acima.
Posso usar o Claude e o GPT juntos?
Pode. Adicione o bloco openai desta página ao lado do anthropic; uma chave serve para os dois.
Preciso de uma conta Claude ou OpenAI?
Não, a chave da OneProvider é a única credencial.
Respostas rápidas
Qual base URL devo usar?
O Claude Code e os SDKs da Anthropic usam https://api.oneprovider.dev. Os SDKs da OpenAI e os clientes compatíveis com a OpenAI usam https://api.oneprovider.dev/v1. Uma única chave funciona nos dois; a lista de modelos está na página de modelos e os preços, na página de preços .
Como me autentico?
Envie a chave sk-… pura em x-api-key ou em Authorization: Bearer: um dos dois, nunca ambos. Guarde a chave em uma variável de ambiente, não em um arquivo que vai para o commit. Mais sobre autenticação .
Onde consigo uma chave?
Abra o seu painel no bot do Telegram @oneprovider_robot ou em app.oneprovider.dev, recarregue o saldo e toque em “Emitir chave”. Cada chave pode ter o seu próprio limite de gastos. Painel e chaves de API .
O que significam 401, 404 e 429?
401: a chave está ausente, foi digitada errado ou enviada no cabeçalho errado; cole a chave inteira, sem aspas nem espaços. 404: em geral, uma base URL errada, por exemplo um /v1 ausente ou duplicado. 429 com “Insufficient balance”: o saldo do painel ou o limite de gastos da chave acabou, então recarregue em vez de tentar de novo; qualquer outro 429 é um limite de requisições, então aguarde o tempo de Retry-After. Detalhes: códigos de erro e solução de problemas .
Por que os streams são cortados ou reiniciados?
VPNs e proxies VLESS costumam armazenar SSE em buffer ou quebrar a negociação do HTTP/2. A OneProvider não tem restrições regionais e não armazena streams em buffer; desative o proxy e tente de novo.
Onde pergunto se isso não bastar?
Escreva para @Oneproviderhelpbot no Telegram ou abra “Suporte” no painel web, informando o código de status HTTP e a mensagem de erro exata. Como funciona o suporte .
Última atualização: 2026-11-08 Encontrou um erro? @Oneproviderhelpbot