mirror of
https://gitea.toothfairyai.com/ToothFairyAI/tf_code.git
synced 2026-04-08 01:39:12 +00:00
224 lines
5.2 KiB
Plaintext
224 lines
5.2 KiB
Plaintext
---
|
||
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 配置。
|
||
|
||
```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),則您將使用 `opencode/gpt-5.1-codex` 來表示 GPT 5.1 Codex。
|
||
|
||
如果您配置了 [自定義供應商](/docs/providers#custom),則 `provider_id` 是配置中 `provider` 部分的鍵,`model_id` 是 `provider.models` 中的鍵。
|
||
|
||
---
|
||
|
||
## 配置模型
|
||
|
||
您可以透過 config.json 全局配置模型的選項。
|
||
|
||
```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,
|
||
},
|
||
},
|
||
},
|
||
},
|
||
},
|
||
},
|
||
}
|
||
```
|
||
|
||
在這裡,我們為兩個內建模型配置全局設定:`gpt-5`(透過 `openai` 供應商存取時)和 `claude-sonnet-4-20250514`(透過 `anthropic` 供應商存取時)。
|
||
內建供應商和模型名稱可以在 [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` - 降低工作量/Tokens 預算
|
||
- `high` - 更高的工作量/Tokens 預算
|
||
|
||
:::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 配置中的模型列表。
|
||
|
||
```json title="opencode.json"
|
||
{
|
||
"$schema": "https://opencode.ai/config.json",
|
||
"model": "anthropic/claude-sonnet-4-20250514"
|
||
}
|
||
```
|
||
|
||
這裡的格式是 `provider/model`。
|
||
|
||
3. 最後使用的模型。
|
||
|
||
4. 第一個模型使用內部優先順序。
|