---
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. 按內部優先順序排列的第一個可用模型。
