Skip to content

模型

配置 LLM 提供商和模型。

OpenCode 使用 AI SDKModels.dev 来支持 75+ 个 LLM 提供商,并支持运行本地模型。


提供商

大多数流行提供商已默认预载。如果您已通过 /connect 命令添加了提供商的凭据,它们将在您启动 OpenCode 时可用。

了解更多关于 提供商 的信息。


选择模型

配置好提供商后,您可以通过输入以下命令来选择所需的模型:

/models

推荐模型

目前市面上有很多模型,每周都有新模型发布。

然而,只有少数模型既擅长编写代码又擅长工具调用。

以下是几个与 OpenCode 配合良好的模型,排名不分先后。(这不是一个详尽的列表,也不一定是最新的):

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

设置默认模型

要将其中一个模型设置为默认模型,您可以在 OpenCode 配置中设置 model 键。

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

这里的完整 ID 格式为 provider_id/model_id。例如,如果您使用的是 OpenCode Zen,则 GPT 5.1 Codex 的 ID 为 opencode/gpt-5.1-codex

如果您配置了 自定义提供商,则 provider_id 是配置中 provider 部分的键,而 model_idprovider.models 中的键。


加载模型

当 OpenCode 启动时,它按以下优先级顺序检查模型:

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

  2. OpenCode 配置中的模型列表。

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

    此处的格式为 provider/model

  3. 上次使用的模型。

  4. 使用内部优先级的第一个模型。


配置模型

您可以通过配置全局配置模型的选项。

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

切换变体

你可以使用 variant_cycle 按键绑定(默认:ctrl+t)快速循环切换当前模型的可用变体。


附加配置

某些模型可能需要附加配置,例如特定的环境变量或请求头。这些可以在 OpenCode 配置的 provider 部分中进行配置。了解更多

在这里,我们正在为两个内置模型配置全局设置:通过 openai 提供商访问时的 gpt-5,以及通过 anthropic 提供商访问时的 claude-sonnet-4-5-20250929。 内置的提供商和模型名称可以在 Models.dev 上找到。

您也可以为您正在使用的任何智能体配置这些选项。智能体配置会覆盖此处的任何全局选项。了解更多

您还可以定义扩展内置变体的自定义变体。变体允许您为同一模型配置不同的设置,而无需创建重复条目:

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

变体

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

内置变体

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

Anthropic:

  • high - 高思考预算 (默认)
  • max - 最大思考预算

OpenAI:

因模型而异,但大致包括:

  • none - 无推理
  • minimal - 极小推理努力
  • low - 低推理努力
  • medium - 中等推理努力
  • high - 高推理努力
  • xhigh - 超高推理努力

Google:

  • low - 较低的努力/token 预算
  • high - 较高的努力/token 预算

自定义变体

您可以覆盖现有变体或添加自己的变体:

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

循环切换变体

使用快捷键 variant_cycle 快速在变体之间切换。了解更多


加载模型

当 OpenCode 启动时,它会按照以下优先级顺序检查模型:

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

  2. OpenCode 配置中的模型列表。

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

    这里的格式是 provider/model

  3. 上次使用的模型。

  4. 使用内部优先级的第一个模型。