OpenCode 模型提供商选择与配置完全指南:从入门到精通的模型选型策略

OpenCode 模型提供商选择与配置完全指南:从入门到精通的模型选型策略

引言

OpenCode 作为一款开源的 AI 编程助手,其最大的优势之一就是支持 75+ LLM 提供商。这意味着你不必被绑定在单一模型或提供商上,而是可以根据任务需求、预算限制和性能要求,灵活切换不同的模型。然而,面对如此众多的选择,很多新手用户反而会感到困惑:到底该用哪个模型?怎么配置?如何切换?本文将从零开始,详解 OpenCode 的模型提供商体系,帮你做出最佳选择。

OpenCode 的模型生态概览

OpenCode 基于 AI SDK 和 Models.dev 构建,支持市面上几乎所有主流 LLM 提供商。这些提供商大致可以分为三类:

云端商业提供商:OpenAI、Anthropic、Google、DeepSeek 等,提供最强大的模型,按量付费。

聚合平台:OpenRouter、OpenCode Zen 等,聚合多家模型,提供统一的接口和计费。

本地运行:Ollama、LM Studio、llama.cpp 等,可在本地运行开源模型,数据不出本机。

这种三层架构让 OpenCode 既能调用云端最强模型完成复杂任务,也能使用本地模型处理敏感数据或离线场景。

快速开始:第一个模型提供商配置

如果你只是想快速用起来,推荐以下两种方式。

方式一:OpenCode Zen(推荐新手)

OpenCode Zen 是官方团队精选的模型列表,经过测试和验证,保证与 OpenCode 的最佳兼容性。

# 在 TUI 中运行
/connect
# 选择 OpenCode Zen,然后访问 https://opencode.ai/auth 获取 API Key
# 粘贴 API Key 即可

完成后运行 /models 即可看到所有可用模型。Zen 的优势在于"开箱即用"——所有模型都已预配置好,你只需要挑选即可。

方式二:直接使用 API Key

如果你已有某个提供商的 API Key,同样通过 /connect 命令配置:

/connect
# 搜索你的提供商,如 OpenAI、Anthropic、DeepSeek 等
# 粘贴 API Key

配置完成后,同样通过 /models 选择模型。

主流模型提供商深度对比

OpenAI

OpenAI 提供 GPT 系列模型,是目前最成熟的编程模型之一。

推荐模型:GPT 5.2、GPT 5.1 Codex

适用场景:通用编程任务、复杂重构、代码生成

配置方式

/connect
# 选择 OpenAI
# 支持 ChatGPT Plus/Pro 账号登录(推荐)或手动输入 API Key

高级配置

{
  "$schema": "https://opencode.ai/config.json",
  "provider": {
    "openai": {
      "models": {
        "gpt-5": {
          "options": {
            "reasoningEffort": "high",
            "textVerbosity": "low"
          }
        }
      }
    }
  }
}

OpenAI 模型支持 reasoningEffort 参数,可在 noneminimallowmediumhighxhigh 之间调节推理深度。

Anthropic

Anthropic 的 Claude 系列模型在编程和工具调用方面表现出色。

推荐模型:Claude Sonnet 4.5、Claude Opus 4.5

适用场景:复杂推理、长上下文任务、架构设计

配置方式

/connect
# 选择 Anthropic
# 支持 Claude Pro/Max 账号登录或手动输入 API Key

高级配置

Claude 支持 Thinking 模式(扩展思考),适合需要深度推理的复杂编程任务:

{
  "$schema": "https://opencode.ai/config.json",
  "provider": {
    "anthropic": {
      "models": {
        "claude-sonnet-4-5-20250929": {
          "options": {
            "thinking": {
              "type": "enabled",
              "budgetTokens": 16000
            }
          }
        }
      }
    }
  }
}

Google

Google 的 Gemini 系列模型性价比突出。

推荐模型:Gemini 3.1 Pro、Gemini 3.5 Flash

适用场景:日常编程、代码审查、文档生成

配置方式
需要 Google Cloud 项目并启用 Vertex AI API:

export GOOGLE_APPLICATION_CREDENTIALS=/path/to/service-account.json
export GOOGLE_CLOUD_PROJECT=your-project-id
export VERTEX_LOCATION=global
opencode

DeepSeek

DeepSeek 是目前性价比极高的编程模型提供商。

推荐模型:DeepSeek V4 Pro、DeepSeek V4 Flash

适用场景:日常编码、预算有限的高频使用

配置方式

/connect
# 搜索 DeepSeek
# 粘贴从 platform.deepseek.com 获取的 API Key

OpenRouter

如果你不想绑定单一提供商,OpenRouter 提供了一站式解决方案。

/connect
# 搜索 OpenRouter
# 粘贴 API Key

你还可以在配置中精确指定路由策略:

{
  "$schema": "https://opencode.ai/config.json",
  "provider": {
    "openrouter": {
      "models": {
        "moonshotai/kimi-k2": {
          "options": {
            "provider": {
              "order": ["baseten"],
              "allow_fallbacks": false
            }
          }
        }
      }
    }
  }
}

本地模型:Ollama、LM Studio、llama.cpp

对于数据隐私敏感或离线场景,本地模型是绝佳选择。以 Ollama 为例:

{
  "$schema": "https://opencode.ai/config.json",
  "provider": {
    "ollama": {
      "npm": "@ai-sdk/openai-compatible",
      "name": "Ollama (local)",
      "options": {
        "baseURL": "http://localhost:11434/v1"
      },
      "models": {
        "qwen3-coder:a3b": {
          "name": "Qwen3-Coder (local)"
        }
      }
    }
  }
}

LM Studio 和 llama.cpp 的配置方式类似,只需修改端口号即可:

  • LM Studio 默认端口:http://127.0.0.1:1234/v1
  • llama.cpp 默认端口:http://127.0.0.1:8080/v1

> 提示:本地模型推荐选择 Qwen3-Coder、DeepSeek-Coder 等专门针对代码优化的模型,工具调用效果更好。

配置详解:从入门到进阶

模型选择与默认模型

通过 /models 命令可以交互式选择当前会话的模型。要设置默认模型,在 opencode.json 中配置:

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

格式为 provider_id/model_id。对于自定义提供商,provider_id 是配置中的键名。

模型加载优先级

OpenCode 按以下顺序加载模型:

命令行参数 --model-m

配置文件中的 model 字段

上次使用的模型(自动记住)

内部优先级排名的第一个模型

这意味着你可以在不同项目中使用不同的默认模型,非常灵活。

模型白名单与黑名单

当提供商暴露了太多模型时,你可以用白名单/黑名单精简选择范围:

{
  "$schema": "https://opencode.ai/config.json",
  "provider": {
    "anthropic": {
      "whitelist": ["claude-sonnet-4-20250514"],
      "blacklist": ["claude-opus-4-20250514"]
    }
  }
}
  • whitelist:只显示列表中的模型,其余隐藏
  • blacklist:隐藏列表中的模型
  • 两者可组合使用:先 whitelist 缩小范围,再用 blacklist 排除

自定义 Base URL

如果你使用代理服务或自定义端点,可以设置 baseURL

{
  "$schema": "https://opencode.ai/config.json",
  "provider": {
    "anthropic": {
      "options": {
        "baseURL": "https://your-proxy.com/v1"
      }
    }
  }
}

模型变体(Variants)

一个模型可以有多种配置变体,适用于不同场景。以 OpenAI 为例,内置了 nonelowmediumhighxhigh 等推理力度变体。

你可以自定义变体:

{
  "$schema": "https://opencode.ai/config.json",
  "provider": {
    "opencode": {
      "models": {
        "gpt-5": {
          "variants": {
            "deep-think": {
              "reasoningEffort": "high",
              "textVerbosity": "low"
            },
            "quick": {
              "reasoningEffort": "none",
              "textVerbosity": "high"
            }
          }
        }
      }
    }
  }
}

使用快捷键绑定 variant_cycle 可以在变体间快速切换,方便在不同任务间灵活调整。

自定义提供商

如果 OpenCode 没有预置你需要的提供商,可以自己添加。任何兼容 OpenAI API 的服务都可以接入:

{
  "$schema": "https://opencode.ai/config.json",
  "provider": {
    "my-custom-provider": {
      "npm": "@ai-sdk/openai-compatible",
      "name": "My Custom API",
      "options": {
        "baseURL": "https://my-api.example.com/v1"
      },
      "models": {
        "my-model-1": {
          "name": "My Model 1"
        }
      }
    }
  }
}

关键是使用 @ai-sdk/openai-compatible 包,它让任何 OpenAI 兼容的 API 都能被 OpenCode 识别。

实战模型推荐方案

方案一:预算优先

适合个人开发者或预算有限的团队:

| 场景 | 推荐模型 | 提供商 | 成本 |
|------|----------|--------|------|
| 日常编码 | DeepSeek V4 Flash | OpenCode Zen | $0.14/$0.28 每百万 token |
| 快速迭代 | GPT 5.4 Nano | OpenCode Zen | $0.20/$1.25 每百万 token |
| 复杂任务 | Claude Sonnet 4.5 | Anthropic | $3/$15 每百万 token |

方案二:性能优先

适合追求最佳编码体验的团队:

| 场景 | 推荐模型 | 提供商 |
|------|----------|--------|
| 代码生成 | GPT 5.2 Codex | OpenAI |
| 架构设计 | Claude Opus 4.5 | Anthropic |
| 代码审查 | Claude Sonnet 4.5 | Anthropic |
| 文档编写 | Gemini 3.1 Pro | Google |

方案三:数据安全优先

适合处理敏感代码的企业:

使用 Ollama 或 LM Studio 在本地运行模型,数据完全不出本机。推荐模型:

  • Qwen3-Coder
  • DeepSeek-Coder 系列

配置示例:

{
  "$schema": "https://opencode.ai/config.json",
  "provider": {
    "ollama": {
      "npm": "@ai-sdk/openai-compatible",
      "name": "Local Models",
      "options": {
        "baseURL": "http://localhost:11434/v1"
      },
      "models": {
        "qwen3-coder:a3b": {
          "name": "Qwen3-Coder"
        },
        "deepseek-coder-v2": {
          "name": "DeepSeek Coder V2"
        }
      }
    }
  },
  "model": "ollama/qwen3-coder:a3b"
}

方案四:混合策略

利用 OpenCode 的多提供商支持和 Agent 系统,为不同子任务分配不同的模型:

{
  "$schema": "https://opencode.ai/config.json",
  "model": "opencode/gpt-5.1-codex",
  "agent": {
    "debug-agent": {
      "model": "anthropic/claude-sonnet-4-20250514"
    },
    "review-agent": {
      "model": "google/gemini-3.1-pro"
    },
    "refactor-agent": {
      "model": "openai/gpt-5"
    }
  }
}

常见问题与故障排除

连接失败

如果遇到连接问题,首先检查网络环境。OpenCode 支持通过环境变量配置代理:

# HTTP 代理
export HTTP_PROXY=http://127.0.0.1:10809
export HTTPS_PROXY=http://127.0.0.1:10809

# 或 SOCKS 代理
export ALL_PROXY=socks5://127.0.0.1:10808

工具调用失败

如果模型能回答问题但无法使用工具,通常是模型本身不支持或配置问题:

  • 本地模型:增加 num_ctx 参数,建议 16k-32k
  • 云端模型:确认使用的是较新版本的模型

API Key 管理

API Key 通过 /connect 命令配置后,存储在 ~/.local/share/opencode/auth.json 中。如果 Key 过期或需要更换,重新运行 /connect 即可覆盖。

模型速度与成本

如果觉得响应太慢或花费太高:

  • 切换到更小的模型变体(如 GPT 5.4 Nano 替代 GPT 5.2)
  • 使用推理力度较低的变体(如 nonelow
  • 考虑使用 OpenCode Zen 的免费模型(如 DeepSeek V4 Flash Free)

总结

OpenCode 的模型提供商系统是其最强大的特性之一。通过灵活配置,你可以在不同提供商和模型之间自由切换,找到最适合自己工作流和预算的方案。

核心要点:

新手推荐 OpenCode Zen,开箱即用,无需纠结配置

灵活切换 通过 /models 随时更换模型,无需重启

按需配置 利用 Variants 为同一模型设置不同推理力度

本地也可 Ollama/LM Studio 支持完全离线的编码助手

混合方案 Agent 系统支持不同任务使用不同模型

无论你是追求极致性能、控制成本,还是注重数据安全,OpenCode 的模型体系都能满足你的需求。开始你的模型探索之旅吧,让最适合的 AI 模型为你服务!