跳转到内容

模型

配置 LLM 提供商与模型。

OpenCode 基于 AI SDKModels.dev,支持 75+ 个 LLM 提供商,同时也支持运行本地模型。


提供商

大多数主流提供商在 OpenCode 中是预置的。如果你通过 /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

设置默认模型

要将其中某个模型设为默认,可以在配置中设置 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_id 则来自 provider.models 中的键名。


配置模型

你可以在配置中为模型设置全局选项:

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

上例中,我们分别为内置的 openai/gpt-5anthropic/claude-sonnet-4-5-20250929 配置了全局选项。

内置提供商与模型的 ID 可以在 Models.dev 上查到。

这些全局设置也可以在 Agent 层覆盖:在 Agent 配置中为某个 Agent 指定模型选项时,会覆盖这里的全局配置。详见 Agents 文档

你还可以在此基础上扩展出“变体(variants)”,为同一个底层模型定义多套不同配置:

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

变体(Variants)

很多模型都支持多种“变体”配置,OpenCode 也为常见提供商内置了一些默认变体。

内置变体

Anthropic

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

OpenAI(不同模型略有差异,大致为):

  • none —— 无推理
  • minimal —— 极少推理
  • low —— 低推理强度
  • medium —— 中等推理强度
  • high —— 高推理强度
  • xhigh —— 超高推理强度

Google

  • low —— 低预算/低强度
  • high —— 高预算/高强度

自定义变体

你可以覆盖已有变体,或添加新的变体:

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

在 TUI 中切换变体

你可以使用 variant_cycle 这一快捷键在同一模型的不同变体之间快速切换,具体按键见 快捷键文档


模型加载优先级

OpenCode 启动时,会按以下优先级决定使用哪个模型:

  1. CLI 中显式传入的 --model-m 参数,格式为 provider_id/model_id

  2. 配置文件中的默认模型:

    opencode.json
    {
    "$schema": "https://opencode.ai/config.json",
    "model": "anthropic/claude-sonnet-4-5-20250514"
    }
  3. 上一次会话中使用的模型;

  4. 若以上都未指定,则按内部优先级选择一个可用模型。