OpenCode 作为一款现代化的 AI 编程助手,其核心优势之一在于对模型提供商的广泛支持。基于 AI SDK 和 Models.dev,OpenCode 原生支持 75 个以上的 LLM 提供商,涵盖云端商业模型、开源自托管模型以及本地运行模型。本文将从零开始,详细讲解如何在 OpenCode 中接入和配置各种模型提供商,帮助你选择最适合自己的 AI 编程底座。
OpenCode 的模型架构分为三层:
Provider(提供商):定义 API 的接入方式和认证逻辑
Model(模型):具体的模型实例,如 GPT-5、Claude Sonnet 4.5
Variant(变体):同一模型的不同配置参数组合
这种分层设计使得 OpenCode 极其灵活——你可以同时接入多个提供商,在不同任务中切换使用不同的模型,甚至为同一个模型配置多个变体以应对不同场景。
OpenCode 支持的提供商可分为以下几类:
使用 /connect 命令是添加提供商最便捷的方式。该命令会将 API Key 存储在 ~/.local/share/opencode/auth.json 中,OpenCode 启动时自动加载。
/connect
执行后会出现交互式界面,选择你的目标提供商。以 OpenAI 为例:
┌ Select auth method │ ChatGPT Plus/Pro │ Manually enter API Key └
选择 ChatGPT Plus/Pro 会自动打开浏览器进行 OAuth 认证;选择 Manually enter API Key 则可直接粘贴已有的 API Key。
对于 GitHub Copilot 用户,流程类似:
/connect # 选择 GitHub Copilot # 访问 github.com/login/device 输入设备码完成授权
认证完成后,运行 /models 即可查看该提供商下可用的模型列表。
在 opencode.json 或 opencode.jsonc 中,你可以精细控制每个提供商的行为。
最简单的配置就是设置默认模型:
{
"$schema": "https://opencode.ai/config.json",
"model": "anthropic/claude-sonnet-4-20250514"
}
格式为 provider_id/model_id。对于 OpenCode Zen,则使用 opencode/gpt-5.1-codex。
当需要通过代理或自定义端点访问 API 时,可以设置 baseURL:
{
"provider": {
"anthropic": {
"options": {
"baseURL": "https://api.anthropic.com/v1"
}
}
}
}
当一个提供商暴露了大量你不需要的模型时,可以使用 blacklist 或 whitelist 过滤:
{
"provider": {
"anthropic": {
"blacklist": ["claude-opus-4-20250514"]
}
}
}
whitelist 则相反——只保留列出的模型:
{
"provider": {
"anthropic": {
"whitelist": ["claude-sonnet-4-20250514"]
}
}
}
两者可以组合使用:先 whitelist 缩小范围,再用 blacklist 从中剔除。
不同模型支持不同的推理参数。OpenCode 允许为每个模型单独配置:
{
"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
}
}
}
}
}
}
}
变体是 OpenCode 的一个特色功能。它允许你为同一个模型定义多组配置参数,通过快捷键快速切换:
{
"provider": {
"opencode": {
"models": {
"gpt-5": {
"variants": {
"high": {
"reasoningEffort": "high",
"textVerbosity": "low",
"reasoningSummary": "auto"
},
"low": {
"reasoningEffort": "low",
"textVerbosity": "low",
"reasoningSummary": "auto"
}
}
}
}
}
}
}
OpenCode 为流行提供商预置了默认变体:
high(高思考预算,默认)、max(最大思考预算)none、minimal、low、medium、high、xhighlow、high使用快捷键 variant_cycle 可在变体间快速循环切换。
对于注重隐私或需要离线使用的场景,OpenCode 支持多种本地运行方案。
Ollama 是最流行的本地 LLM 运行工具之一,OpenCode 对其有自动配置支持。也可以手动配置:
{
"provider": {
"ollama": {
"npm": "@ai-sdk/openai-compatible",
"name": "Ollama (local)",
"options": {
"baseURL": "http://localhost:11434/v1"
},
"models": {
"qwen3-coder": {
"name": "Qwen3 Coder (local)"
}
}
}
}
}
注意事项:如果工具调用(tool calls)效果不佳,可以尝试增加 Ollama 的 num_ctx 参数,建议设置在 16k-32k 范围。
{
"provider": {
"lmstudio": {
"npm": "@ai-sdk/openai-compatible",
"name": "LM Studio (local)",
"options": {
"baseURL": "http://127.0.0.1:1234/v1"
},
"models": {
"google/gemma-3n-e4b": {
"name": "Gemma 3n-e4b (local)"
}
}
}
}
}
{
"provider": {
"llama.cpp": {
"npm": "@ai-sdk/openai-compatible",
"name": "llama-server (local)",
"options": {
"baseURL": "http://127.0.0.1:8080/v1"
},
"models": {
"qwen3-coder:a3b": {
"name": "Qwen3-Coder (local)",
"limit": {
"context": 128000,
"output": 65536
}
}
}
}
}
}
所有本地方案都遵循相同的模式:使用 @ai-sdk/openai-compatible 作为 npm 包,设置本地服务的 baseURL,然后注册模型。这意味着任何提供 OpenAI 兼容 API 的本地推理引擎都可以接入 OpenCode。
除了内置的 75+ 提供商,你还可以创建自定义提供商。这在对接企业内部 API 或小众推理服务时非常有用:
{
"provider": {
"my-custom-provider": {
"npm": "@ai-sdk/openai-compatible",
"name": "My Company AI",
"apiKeyEnv": "MY_COMPANY_API_KEY",
"options": {
"baseURL": "https://ai.mycompany.com/v1"
},
"models": {
"my-model-v1": {
"name": "My Custom Model v1"
}
}
}
}
}
配置项说明:
npm:AI SDK 的 provider 包名,兼容 OpenAI API 的用 @ai-sdk/openai-compatiblename:UI 中显示的名称apiKeyEnv:API Key 的环境变量名options.baseURL:API 端点地址models:该提供商下可用的模型列表当 OpenCode 启动时,按以下顺序确定使用的模型:
命令行参数:--model 或 -m 标志,格式为 provider_id/model_id
配置文件:opencode.json 中的 model 字段
上次使用的模型:自动记忆上一次会话的选择
内部优先级:按内置优先级选择第一个可用模型
# 命令行指定模型 opencode --model openai/gpt-5 # 或简写 opencode -m anthropic/claude-sonnet-4-20250514
OpenCode 官方推荐以下模型(2026 年 7 月):
| 模型 | 提供商 | 适用场景 |
|------|--------|---------|
| GPT 5.2 | OpenAI | 通用编程,复杂推理 |
| GPT 5.1 Codex | OpenAI | 代码生成优化 |
| Claude Opus 4.5 | Anthropic | 深度分析,长上下文 |
| Claude Sonnet 4.5 | Anthropic | 日常编程,性价比高 |
| Minimax M2.1 | MiniMax | 代码理解与重构 |
| Gemini 3 Pro | Google | 多模态场景 |
选型建议:
{
"$schema": "https://opencode.ai/config.json",
"model": "opencode/gpt-5.1-codex",
"provider": {
"opencode": {
"models": {
"gpt-5.1-codex": {
"variants": {
"high": { "reasoningEffort": "high" },
"low": { "reasoningEffort": "low" }
}
}
}
},
"ollama": {
"npm": "@ai-sdk/openai-compatible",
"name": "Local Models",
"options": { "baseURL": "http://localhost:11434/v1" },
"models": {
"qwen3-coder": { "name": "Qwen3 Coder (本地)" }
}
}
}
}
这样配置后,通过 /models 命令即可在两个提供商之间自由切换——联网时使用 GPT 5.1 Codex 处理复杂任务,离线时切换到本地的 Qwen3 Coder。
{
"provider": {
"openrouter": {
"models": {
"moonshotai/kimi-k2": {
"options": {
"provider": {
"order": ["baseten"],
"allow_fallbacks": false
}
}
}
}
}
}
}
API Key 安全:OpenCode 将凭据加密存储在 auth.json,切勿将其提交到版本控制系统
模型上下文窗口:本地模型通常上下文窗口较小,处理大文件时注意设置合理的 limit
工具调用兼容性:部分本地模型的工具调用能力较弱,选择模型时优先考虑 Qwen-Coder、DeepSeek-Coder 等经过优化的模型
网络代理:在中国大陆使用海外 API 时,需配合网络代理配置
成本控制:利用变体系统,日常编码使用低推理预算的变体,复杂任务切换到高推理预算
使用共享会话:开启 session sharing 可以跨设备同步对话历史
OpenCode 的模型提供商系统是其最强大的特性之一。75+ 内置提供商、灵活的变体机制、完善的本地模型支持,让开发者可以根据自己的需求、预算和隐私要求,自由组合不同的 AI 模型。无论是使用 Claude 进行深度代码审查,还是通过 Ollama 在离线环境中使用 Qwen Coder,OpenCode 都提供了统一而优雅的配置体验。
最佳的实践是:不要只依赖单一模型。利用 OpenCode 的多提供商支持,为不同任务选择最合适的模型,才能最大化 AI 编程助手的生产力。