Português
Documentação
Modelos

Modelos

Configurando um provedor de LLM e um modelo.

O OpenCode usa o AI SDK (opens in a new tab) e o Models.dev (opens in a new tab) para suportar mais de 75 provedores de LLM e também suporta a execução de modelos locais.


Provedores

A maioria dos provedores populares vem pré-carregada por padrão. Se você adicionou as credenciais de um provedor através do comando /connect, elas estarão disponíveis quando você iniciar o OpenCode.

Saiba mais sobre provedores.


Selecionar um modelo

Depois de configurar seu provedor, você pode selecionar o modelo que quiser digitando:

/models

Modelos recomendados

Existem muitos modelos por aí, com novos saindo toda semana.

Dica: Considere usar um dos modelos que recomendamos.

No entanto, apenas alguns deles são bons tanto em gerar código quanto em chamar ferramentas.

Aqui estão vários modelos que funcionam bem com o OpenCode, em nenhuma ordem específica. (Esta não é uma lista exaustiva, nem necessariamente atualizada):

  • GPT 5.2
  • GPT 5.1 Codex
  • Claude Opus 4.5
  • Claude Sonnet 4.5
  • Minimax M2.1
  • Gemini 3 Pro

Definir um padrão

Para definir um destes como o modelo padrão, você pode definir a chave model na sua config do OpenCode.

opencode.json
{
  "$schema": "https://opencode.ai/config.json",
  "model": "lmstudio/google/gemma-3n-e4b"
}

Aqui o ID completo é provider_id/model_id. Por exemplo, se você está usando o OpenCode Zen, usaria opencode/gpt-5.1-codex para o GPT 5.1 Codex.

Se você configurou um provedor personalizado, o provider_id é a chave da parte provider da sua config, e o model_id é a chave de provider.models.


Configurar modelos

Você pode configurar globalmente as opções de um modelo através da config.

opencode.jsonc
{
  "$schema": "https://opencode.ai/config.json",
  "provider": {
    "openai": {
      "models": {
        "gpt-5": {
          "options": {
            "reasoningEffort": "high",
            "textVerbosity": "low",
            "reasoningSummary": "auto",
            "include": ["reasoning.encrypted_content"],
          },
        },
      },
    },
    "anthropic": {
      "models": {
        "claude-sonnet-4-5-20250929": {
          "options": {
            "thinking": {
              "type": "enabled",
              "budgetTokens": 16000,
            },
          },
        },
      },
    },
  },
}

Aqui estamos configurando definições globais para dois modelos integrados: gpt-5 quando acessado via provedor openai, e claude-sonnet-4-20250514 quando acessado via provedor anthropic. Os nomes dos provedores e modelos integrados podem ser encontrados no Models.dev (opens in a new tab).

Você também pode configurar essas opções para qualquer agente que estiver usando. A config do agente sobrescreve qualquer opção global aqui. Saiba mais.

Você também pode definir variantes personalizadas que estendem as integradas. As variantes permitem configurar definições diferentes para o mesmo modelo sem criar entradas duplicadas:

opencode.jsonc
{
  "$schema": "https://opencode.ai/config.json",
  "provider": {
    "opencode": {
      "models": {
        "gpt-5": {
          "variants": {
            "high": {
              "reasoningEffort": "high",
              "textVerbosity": "low",
              "reasoningSummary": "auto",
            },
            "low": {
              "reasoningEffort": "low",
              "textVerbosity": "low",
              "reasoningSummary": "auto",
            },
          },
        },
      },
    },
  },
}

Variantes

Muitos modelos suportam várias variantes com configurações diferentes. O OpenCode vem com variantes padrão integradas para os provedores populares.

Variantes integradas

O OpenCode vem com variantes padrão para muitos provedores:

Anthropic:

  • high - Orçamento de raciocínio alto (padrão)
  • max - Orçamento de raciocínio máximo

OpenAI:

Varia por modelo, mas aproximadamente:

  • none - Sem raciocínio
  • minimal - Esforço mínimo de raciocínio
  • low - Esforço baixo de raciocínio
  • medium - Esforço médio de raciocínio
  • high - Esforço alto de raciocínio
  • xhigh - Esforço extra alto de raciocínio

Google:

  • low - Esforço/orçamento de tokens menor
  • high - Esforço/orçamento de tokens maior

Dica: Esta lista não é completa. Muitos outros provedores também têm padrões integrados.

Variantes personalizadas

Você pode sobrescrever variantes existentes ou adicionar as suas próprias:

opencode.jsonc
{
  "$schema": "https://opencode.ai/config.json",
  "provider": {
    "openai": {
      "models": {
        "gpt-5": {
          "variants": {
            "thinking": {
              "reasoningEffort": "high",
              "textVerbosity": "low",
            },
            "fast": {
              "disabled": true,
            },
          },
        },
      },
    },
  },
}

Alternar variantes

Use o atalho variant_cycle para alternar rapidamente entre variantes. Saiba mais.


Carregando modelos

Quando o OpenCode é iniciado, ele procura por modelos na seguinte ordem de prioridade:

  1. A flag de linha de comando --model ou -m. O formato é o mesmo do arquivo de config: provider_id/model_id.

  2. A lista de modelos na config do OpenCode.

    opencode.json
    {
      "$schema": "https://opencode.ai/config.json",
      "model": "anthropic/claude-sonnet-4-20250514"
    }

    O formato aqui é provider/model.

  3. O último modelo usado.

  4. O primeiro modelo, usando uma prioridade interna.