Saltar al contenido principal
OpenCode (GitHub) es un agente de programación de IA de terminal de código abierto que funciona con muchos proveedores.
Protocolo: compatible con OpenAI
  • URL base: https://api.orcarouter.ai/v1 (incluye /v1)
Los modelos de razonamiento de Claude sobre el protocolo de OpenAI rechazan temperature != 1 (400 temperature may only be set to 1 when thinking is enabled). Usa un modelo sin razonamiento, o activa reasoningEffort — consulta Activar pensamiento.

Instalación

npm install -g opencode-ai

Configuración

Archivo de configuración: ~/.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"
}
Sustituye por un modelo específico si lo prefieres, p. ej. google/gemini-2.5-flash o anthropic/claude-opus-4.8. Los IDs de modelo siempre usan el formato vendor/model.

Ejecución

opencode run "Reply with exactly: OK"
Salida esperada: OK.

Notas

  • La URL base debe incluir /v1.
  • Las referencias de modelo usan el formato provider/model. Como el proveedor se llama orcarouter y el ID del modelo también lleva un prefijo vendor, la referencia tiene tres segmentos: orcarouter/orcarouter/auto (o orcarouter/anthropic/claude-opus-4.8 para un modelo específico).
Extensión de VS Code: la extensión oficial de VS Code de OpenCode (sst-dev.opencode) ejecuta la CLI dentro del editor y comparte el mismo opencode.json — no hay ninguna configuración de endpoint independiente dentro del editor. Configúralo una vez como se indica arriba y la extensión lo detectará.

Activar pensamiento / razonamiento

Configura reasoningEffort en las options del modelo:
"models": {
  "anthropic/claude-sonnet-4.6": {
    "name": "Sonnet 4.6",
    "options": { "reasoningEffort": "high" }
  }
}
Activar reasoningEffort también esquiva la advertencia de temperature anterior — con el pensamiento activado, temperature = 1 es legal, así que el 400 desaparece. Para control nativo de Anthropic, el proveedor @ai-sdk/anthropic acepta thinking: { type: "enabled", budgetTokens: N }.