---
title: 模型
description: 配置 LLM 提供商和模型。
---

OpenCode 使用 [AI SDK](https://ai-sdk.dev/) 和 [Models.dev](https://models.dev) 支持 **75+ LLM 提供商**，并支持运行本地模型。

---

## 提供商

大多数热门提供商已默认预加载。如果你通过 `/connect` 命令添加了提供商的凭据，它们将在你启动 OpenCode 时自动可用。

了解更多关于[提供商](/docs/providers)的信息。

---

## 选择模型

配置好提供商后，你可以通过输入以下命令来选择想要使用的模型：

```bash frame="none"
/models
```

---

## 推荐模型

市面上有非常多的模型，每周都有新模型发布。

:::tip
建议使用我们推荐的模型。
:::

然而，真正擅长代码生成和工具调用的模型只有少数几个。

以下是与 OpenCode 配合良好的几个模型，排名不分先后（此列表并非详尽无遗，也不一定是最新的）：

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

---

## 设置默认模型

要将某个模型设为默认模型，可以在 OpenCode 配置中设置 `model` 字段。

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

这里完整的 ID 格式为 `provider_id/model_id`。例如，如果你使用 [OpenCode Zen](/docs/zen)，则 GPT 5.1 Codex 对应的值为 `opencode/gpt-5.1-codex`。

如果你配置了[自定义提供商](/docs/providers#custom)，`provider_id` 是配置中 `provider` 部分的键名，`model_id` 是 `provider.models` 中的键名。

---

## 配置模型

你可以通过配置文件全局配置模型的选项。

```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,
            },
          },
        },
      },
    },
  },
}
```

这里我们为两个内置模型配置了全局设置：通过 `openai` 提供商访问的 `gpt-5`，以及通过 `anthropic` 提供商访问的 `claude-sonnet-4-20250514`。
内置的提供商和模型名称可以在 [Models.dev](https://models.dev) 上查阅。

你还可以为使用中的任何代理配置这些选项。代理配置会覆盖此处的全局选项。[了解更多](/docs/agents/#additional)。

你也可以定义扩展内置变体的自定义变体。变体允许你为同一个模型配置不同的设置，而无需创建重复的条目：

```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",
            },
          },
        },
      },
    },
  },
}
```

---

## 变体

许多模型支持具有不同配置的多种变体。OpenCode 为热门提供商内置了默认变体。

### 内置变体

OpenCode 为许多提供商提供了默认变体：

**Anthropic**：

- `high` - 高思考预算（默认）
- `max` - 最大思考预算

**OpenAI**：

因模型而异，但大致如下：

- `none` - 无推理
- `minimal` - 极少推理
- `low` - 低推理
- `medium` - 中等推理
- `high` - 高推理
- `xhigh` - 超高推理

**Google**：

- `low` - 较低推理/Token 预算
- `high` - 较高推理/Token 预算

:::tip
此列表并不全面，许多其他提供商也有内置的默认变体。
:::

### 自定义变体

你可以覆盖现有变体或添加自己的变体：

```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,
            },
          },
        },
      },
    },
  },
}
```

### 切换变体

使用快捷键 `variant_cycle` 可以快速在变体之间切换。[了解更多](/docs/keybinds)。

---

## 加载模型

OpenCode 启动时，会按以下优先顺序加载模型：

1. `--model` 或 `-m` 命令行标志。格式与配置文件中相同：`provider_id/model_id`。

2. OpenCode 配置中的 model 字段。

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

   格式为 `provider/model`。

3. 上次使用的模型。

4. 按内部优先级排列的第一个可用模型。
