File size: 5,991 Bytes
3e05655 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 | ---
title: Modelos
description: Configurando um provedor e modelo LLM.
---
O opencode usa o [AI SDK](https://ai-sdk.dev/) e [Models.dev](https://models.dev) para suportar **75+ provedores LLM** e suporta a execução de modelos locais.
---
## Provedores
Os provedores mais populares são pré-carregados por padrão. Se você adicionou as credenciais para um provedor através do comando `/connect`, elas estarão disponíveis quando você iniciar o opencode.
Saiba mais sobre [provedores](/docs/providers).
---
## Selecionando um modelo
Depois de configurar seu provedor, você pode selecionar o modelo que deseja digitando:
```bash frame="none"
/models
```
---
## Modelos recomendados
Existem muitos modelos disponíveis, com novos modelos sendo lançados toda semana.
:::tip
Considere usar um dos modelos que recomendamos.
:::
No entanto, há apenas alguns deles que 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
---
## Definindo um padrão
Para definir um desses como o modelo padrão, você pode definir a chave `model` na sua configuração do opencode.
```json title="opencode.json" {3}
{
"$schema": "https://opencode.ai/config.json",
"model": "lmstudio/google/gemma-3n-e4b"
}
```
Aqui, o ID completo é `provider_id/model_id`. Por exemplo, se você estiver usando [OpenCode Zen](/docs/zen), você usaria `opencode/gpt-5.1-codex` para GPT 5.1 Codex.
Se você configurou um [provedor personalizado](/docs/providers#custom), o `provider_id` é a chave da parte `provider` da sua configuração, e o `model_id` é a chave de `provider.models`.
---
## Configurando modelos
Você pode configurar globalmente as opções de um modelo através da configuração.
```jsonc title="opencode.jsonc" {7-12,19-24}
{
"$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 as configurações globais para dois modelos integrados: `gpt-5` quando acessado via o provedor `openai`, e `claude-sonnet-4-20250514` quando acessado via o provedor `anthropic`.
Os nomes dos provedores e modelos integrados podem ser encontrados em [Models.dev](https://models.dev).
Você também pode configurar essas opções para quaisquer agentes que estiver usando. A configuração do agente substitui quaisquer opções globais aqui. [Saiba mais](/docs/agents/#additional).
Você também pode definir variantes personalizadas que estendem as integradas. As variantes permitem que você configure diferentes configurações para o mesmo modelo sem criar entradas duplicadas:
```jsonc title="opencode.jsonc" {6-21}
{
"$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 diferentes configurações. O opencode vem com variantes padrão integradas para provedores populares.
### Variantes integradas
O opencode vem com variantes padrão para muitos provedores:
**Anthropic**:
- `high` - Orçamento de pensamento alto (padrão)
- `max` - Orçamento de pensamento máximo
**OpenAI**:
Varia por modelo, mas aproximadamente:
- `none` - Sem raciocínio
- `minimal` - Esforço de raciocínio mínimo
- `low` - Baixo esforço de raciocínio
- `medium` - Esforço de raciocínio médio
- `high` - Alto esforço de raciocínio
- `xhigh` - Esforço de raciocínio extra alto
**Google**:
- `low` - Orçamento de esforço/token mais baixo
- `high` - Orçamento de esforço/token mais alto
:::tip
Esta lista não é abrangente. Muitos outros provedores também têm padrões integrados.
:::
### Variantes personalizadas
Você pode substituir variantes existentes ou adicionar as suas:
```jsonc title="opencode.jsonc" {7-18}
{
"$schema": "https://opencode.ai/config.json",
"provider": {
"openai": {
"models": {
"gpt-5": {
"variants": {
"thinking": {
"reasoningEffort": "high",
"textVerbosity": "low",
},
"fast": {
"disabled": true,
},
},
},
},
},
},
}
```
### Ciclo de variantes
Use a tecla de atalho `variant_cycle` para alternar rapidamente entre variantes. [Saiba mais](/docs/keybinds).
---
## Carregando modelos
Quando o opencode é iniciado, ele verifica modelos na seguinte ordem de prioridade:
1. A flag de linha de comando `--model` ou `-m`. O formato é o mesmo que no arquivo de configuração: `provider_id/model_id`.
2. A lista de modelos na configuração do opencode.
```json title="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.
|