Saltar para o conteúdo principal
O OpenCode (GitHub) é um agente de codificação de IA de terminal de código aberto que funciona com muitos provedores.
Protocolo: compatível com OpenAI
  • Base URL: https://api.orcarouter.ai/v1 (inclui /v1)
Modelos de raciocínio Claude sobre o protocolo OpenAI rejeitam temperature != 1 (400 temperature may only be set to 1 when thinking is enabled). Use um modelo sem raciocínio, ou ative reasoningEffort — veja Ativar thinking.

Instalação

npm install -g opencode-ai

Configuração

Arquivo de configuração: ~/.config/opencode/opencode.json.
{
  "$schema": "https://opencode.ai/config.json",
  "provider": {
    "orcarouter": {
      "npm": "@ai-sdk/openai-compatible",
      "name": "OrcaRouter",
      "options": { "baseURL": "https://api.orcarouter.ai/v1", "apiKey": "sk-orca-..." },
      "models": { "orcarouter/auto": { "name": "OrcaRouter Auto" } }
    }
  },
  "model": "orcarouter/orcarouter/auto"
}
Troque por um modelo específico se preferir, por exemplo google/gemini-2.5-flash ou anthropic/claude-opus-4.8. Os IDs de modelos sempre usam o formato vendor/model.

Execução

opencode run "Reply with exactly: OK"
Saída esperada: OK.

Notas

  • A base URL deve incluir /v1.
  • As referências de modelos usam o formato provider/model. Como o provedor é nomeado orcarouter e o ID do modelo também carrega um prefixo vendor, a referência tem três segmentos: orcarouter/orcarouter/auto (ou orcarouter/anthropic/claude-opus-4.8 para um modelo específico).
Extensão para VS Code: a extensão oficial do OpenCode para VS Code (sst-dev.opencode) executa a CLI dentro do editor e compartilha o mesmo opencode.json — não há uma configuração de endpoint separada dentro do editor. Configure-a uma vez como acima e a extensão a utilizará.

Ativar thinking / raciocínio

Defina reasoningEffort nas options do modelo:
"models": {
  "anthropic/claude-sonnet-4.6": {
    "name": "Sonnet 4.6",
    "options": { "reasoningEffort": "high" }
  }
}
Ativar reasoningEffort também contorna o aviso de temperature acima — com o thinking ativado, temperature = 1 é legal, então o 400 desaparece. Para controle nativo da Anthropic, o provedor @ai-sdk/anthropic aceita thinking: { type: "enabled", budgetTokens: N }.