模型提供商 (Providers)
OpenCode 通过 AI SDK 和 Models.dev 支持 75+ 家 LLM 提供商,同时兼容本地模型运行。以下是详细的配置与使用说明。
核心操作步骤
添加提供商
- 使用
/connect命令添加提供商的 API 密钥; - 在 OpenCode 配置中自定义提供商参数。
凭证存储
通过
/connect 命令添加的 API 密钥,将存储在 ~/.local/share/opencode/auth.json 路径下。配置自定义
可通过配置文件
opencode.json 的 provider 字段自定义提供商参数,示例如下:{
"$schema": "https://opencode.ai/config.json",
"provider": {
"anthropic": {
"options": {
"baseURL": "https://api.anthropic.com/v1"
}
}
}
}
基础 URL 自定义
通过
baseURL 选项可自定义任何提供商的 API 基础地址,适用于代理服务或自定义端点场景。OpenCode Zen (推荐新手使用)
OpenCode Zen 是由 OpenCode 团队提供的一系列经过测试验证的模型集合。
[!TIP] 关于 OpenCode Zen 的更多高级配置和详细模型列表,请参阅 OpenCode Zen 枢纽页。
配置步骤
- 运行
/connect命令,选择opencode; - 访问 opencode.ai/auth 登录并添加账单信息,复制 API 密钥;
- 在终端粘贴 API 密钥;
- 运行
/models命令查看推荐模型列表。
该功能完全可选,使用方式与其他提供商一致。
各提供商详细配置
302.AI
- 访问 302.AI 控制台,注册账号并生成 API 密钥;
- 运行
/connect命令,搜索并选择 302.AI; - 输入 302.AI 的 API 密钥;
- 运行
/models命令选择所需模型。
Amazon Bedrock
前置要求
需在 Amazon Bedrock 控制台的模型目录中,申请获取目标模型的访问权限。
认证配置(任选一种方式)
- 环境变量(快速开始) 运行 OpenCode 时设置以下任一环境变量:
# 方式 1:使用 AWS 访问密钥
AWS_ACCESS_KEY_ID=XXX AWS_SECRET_ACCESS_KEY=YYY opencode
# 方式 2:使用命名 AWS 配置文件
AWS_PROFILE=my-profile opencode
# 方式 3:使用 Bedrock Bearer 令牌
AWS_BEARER_TOKEN_BEDROCK=XXX opencode
也可将环境变量添加到 bash 配置文件(~/.bash_profile):
export AWS_PROFILE=my-dev-profile
export AWS_REGION=us-east-1
- 配置文件(推荐) 针对项目专属或持久化配置,可使用 opencode.json 文件:
{
"$schema": "https://opencode.ai/config.json",
"provider": {
"amazon-bedrock": {
"options": {
"region": "us-east-1",
"profile": "my-aws-profile"
}
}
}
}
可用配置选项
region:AWS 区域(例如 us-east-1、eu-west-1);profile:来自 ~/.aws/credentials 的 AWS 命名配置文件;endpoint:VPC 端点的自定义端点 URL(等同于通用的 baseURL 选项)。
[!NOTE] 配置文件中的选项优先级高于环境变量。
高级配置:VPC 端点
若使用 VPC 端点访问 Bedrock,配置示例如下:
{
"$schema": "https://opencode.ai/config.json",
"provider": {
"amazon-bedrock": {
"options": {
"region": "us-east-1",
"profile": "production",
"endpoint": "https://bedrock-runtime.us-east-1.vpce-xxxxx.amazonaws.com"
}
}
}
}
认证方式
AWS_ACCESS_KEY_ID/AWS_SECRET_ACCESS_KEY:在 AWS 控制台创建 IAM 用户并生成访问密钥;AWS_PROFILE:使用 ~/.aws/credentials 中的命名配置文件,需先通过aws configure --profile my-profile或aws sso login完成配置;AWS_BEARER_TOKEN_BEDROCK:从 Amazon Bedrock 控制台生成长期 API 密钥;AWS_WEB_IDENTITY_TOKEN_FILE/AWS_ROLE_ARN:适用于 EKS IRSA(服务账号的 IAM 角色)或其他支持 OIDC 联合身份验证的 Kubernetes 环境,相关环境变量会由 Kubernetes 在使用服务账号注解时自动注入。
认证优先级
- Bearer 令牌(通过
/connect命令或AWS_BEARER_TOKEN_BEDROCK环境变量设置); - AWS 凭证链(配置文件、访问密钥、共享凭证、IAM 角色、Web 身份令牌(EKS IRSA)、实例元数据)。
[!NOTE] 当设置了 Bearer 令牌时,其优先级高于所有 AWS 凭证方式(包括已配置的配置文件)。
最终步骤
运行
/models 命令选择所需模型。Anthropic
- 推荐注册 Claude Pro 或 Max 账号;
- 注册完成后,运行
/connect命令并选择 Anthropic; - 选择认证方式:
- Claude Pro/Max:选择该选项后,浏览器会自动打开并要求完成身份验证;
- Create an API Key:若无 Pro/Max 订阅,可选择该选项,浏览器打开后登录 Anthropic 并获取验证码,将验证码粘贴到终端;
- Manually enter API Key:若已有 API 密钥,直接粘贴到终端;
- 运行
/models命令,即可使用所有 Anthropic 模型。
Azure OpenAI
注意事项
若出现 “I’m sorry, but I cannot assist with that request” 错误,需将 Azure 资源的内容过滤器从
DefaultV2 改为 Default。配置步骤
- 在 Azure 门户创建 Azure OpenAI 资源,获取:
- 资源名称(API 端点:
https://RESOURCE_NAME.openai.azure.com/); - API 密钥(
KEY 1或KEY 2);
- 资源名称(API 端点:
- 在 Azure AI Foundry 部署模型(部署名称需与模型名称一致);
- 运行
/connect命令,搜索并选择 Azure; - 输入 API 密钥;
- 设置资源名称环境变量:
AZURE_RESOURCE_NAME=XXX opencode
或添加到 bash 配置文件:
# ~/.bash_profile
export AZURE_RESOURCE_NAME=XXX
- 运行
/models命令选择模型。
Azure Cognitive Services
- 在 Azure 门户创建资源,获取:
- 资源名称(API 端点:
https://AZURE_COGNITIVE_SERVICES_RESOURCE_NAME.cognitvieservices.azure.com/); - API 密钥(
KEY 1或KEY 2);
- 资源名称(API 端点:
- 在 Azure AI Foundry 部署模型(部署名称需与模型名称一致);
- 运行
/connect命令,搜索并选择 Azure Cognitive Services; - 输入 API 密钥;
- 设置资源名称环境变量:
AZURE_COGNITIVE_SERVICES_RESOURCE_NAME=XXX opencode
或添加到 bash 配置文件:
# ~/.bash_profile
export AZURE_COGNITIVE_SERVICES_RESOURCE_NAME=XXX
- 运行
/models命令选择模型。
Baseten
- 访问 Baseten platform,创建账号并生成 API 密钥;
- 运行
/connect命令,搜索并选择 Baseten; - 输入 API 密钥;
- 运行
/models命令选择模型。
Cerebras
- 访问 Cerebras 控制台,创建账号并生成 API 密钥;
- 运行
/connect命令,搜索并选择 Cerebras; - 输入 API 密钥;
- 运行
/models命令选择模型(如 Qwen 3 Coder 480B)。
Cloudflare AI Gateway
Cloudflare AI Gateway 支持通过统一端点访问 OpenAI、Anthropic 等多个提供商模型,并支持统一计费。
配置步骤
- 访问 Cloudflare 控制台,导航至 AI > AI Gateway,创建网关;
- 设置环境变量:
# ~/.bash_profile
export CLOUDFLARE_ACCOUNT_ID=你的32位账号ID
export CLOUDFLARE_GATEWAY_ID=你的网关ID
- 运行
/connect命令,搜索并选择 Cloudflare AI Gateway; - 输入 API 令牌(或通过环境变量
CLOUDFLARE_API_TOKEN设置); - 运行
/models命令选择模型。
模型自定义配置
{
"$schema": "https://opencode.ai/config.json",
"provider": {
"cloudflare-ai-gateway": {
"models": {
"openai/gpt-4o": {},
"anthropic/claude-sonnet-4": {}
}
}
}
}
Cortecs
- 访问 Cortecs 控制台,创建账号并生成 API 密钥;
- 运行
/connect命令,搜索并选择 Cortecs; - 输入 API 密钥;
- 运行
/models命令选择模型(如 Kimi K2 Instruct)。
DeepSeek
- 访问 DeepSeek 控制台,创建账号并点击 "Create new API key" 生成密钥;
- 运行
/connect命令,搜索并选择 DeepSeek; - 输入 API 密钥;
- 运行
/models命令选择模型(如 DeepSeek Reasoner)。
Deep Infra
- 访问 Deep Infra 控制台,创建账号并生成 API 密钥;
- 运行
/connect命令,搜索并选择 Deep Infra; - 输入 API 密钥;
- 运行
/models命令选择模型。
Firmware
- 访问 Firmware 控制台,创建账号并生成 API 密钥;
- 运行
/connect命令,搜索并选择 Firmware; - 输入 API 密钥;
- 运行
/models命令选择模型。
Fireworks AI
- 访问 Fireworks AI 控制台,创建账号并点击 "Create API Key" 生成密钥;
- 运行
/connect命令,搜索并选择 Fireworks AI; - 输入 API 密钥;
- 运行
/models命令选择模型 (如 Kimi K2 Instruct)。
GitLab Duo
GitLab Duo 基于 Anthropic 代理提供 AI 聊天功能,支持工具调用。
认证方式
- 运行
/connect命令,选择 GitLab; - 选择认证方式:
OAuth(推荐):浏览器跳转授权;Personal Access Token:手动创建并输入。
个人访问令牌创建步骤
- 进入 GitLab 用户设置 > 访问令牌;
- 点击 "Add new token",名称设为
OpenCode,权限勾选api; - 复制令牌 (以
glpat-开头) 并在终端输入。
可用模型
duo-chat-haiku-4-5(默认):快速响应;duo-chat-sonnet-4-5:平衡性能;duo-chat-opus-4-5:复杂分析场景。
自托管 GitLab 配置
- 设置环境变量:
export GITLAB_INSTANCE_URL=https://gitlab.company.com
export GITLAB_TOKEN=glpat-...
# 如需自定义 AI 网关
export GITLAB_AI_GATEWAY_URL=https://ai-gateway.company.com
- 管理员需启用:
- Duo Agent Platform (用户/群组/实例级别);
- 功能标志:
agent_platform_claude_code、third_party_agents_enabled。
- OAuth 配置:
- 创建应用,回调 URL 设为
http://127.0.0.1:8080/callback; - 权限勾选:
api、read_user、read_repository; - 设置环境变量
GITLAB_OAUTH_CLIENT_ID=你的应用ID。
- 创建应用,回调 URL 设为
GitLab API 工具 (可选)
如需访问 GitLab 工具 (合并请求、问题、流水线等),需添加插件配置:
{
"$schema": "https://opencode.ai/config.json",
"plugin": ["@gitlab/opencode-gitlab-plugin"]
}
GitHub Copilot
注意事项
- 部分模型需 Pro+ 订阅;
- 部分模型需在 GitHub Copilot 设置中手动启用。
配置步骤
- 运行
/connect命令,搜索并选择 GitHub Copilot; - 访问 github.com/login/device,输入终端显示的验证码 (如 8F43-6FCF);
- 完成授权后,运行
/models命令选择模型。
Google Vertex AI
前置要求
- 启用 Vertex AI API 的 Google Cloud 项目。
配置步骤
- 设置环境变量:
# 运行时设置
GOOGLE_APPLICATION_CREDENTIALS=/path/to/service-account.json GOOGLE_CLOUD_PROJECT=你的项目ID opencode
或添加到 bash 配置文件:
# ~/.bash_profile
export GOOGLE_APPLICATION_CREDENTIALS=/path/to/service-account.json
export GOOGLE_CLOUD_PROJECT=你的项目ID
export VERTEX_LOCATION=global # 可选,默认 global
- 认证方式 (任选一种):
- 服务账号 JSON 密钥文件 (通过
GOOGLE_APPLICATION_CREDENTIALS指定); - gcloud CLI 认证:
gcloud auth application-default login。
- 服务账号 JSON 密钥文件 (通过
- 运行
/models命令选择模型。
[!TIP]global区域可提高可用性,减少错误,无额外成本;区域端点 (如us-central1) 满足数据驻留要求。
- 运行
/models命令选择所需模型。
Groq
- 访问 Groq 控制台,点击“Create API Key”生成并复制 API 密钥;
- 运行
/connect命令,搜索并选择 Groq; - 输入 Groq 的 API 密钥;
- 运行
/models命令选择所需模型。
Hugging Face
Hugging Face Inference Providers 支持访问 17 种以上提供商的开源模型。
配置步骤
- 前往 Hugging Face 设置页面,创建具有 Inference Providers 调用权限的令牌;
- 运行
/connect命令,搜索并选择 Hugging Face; - 输入 Hugging Face 令牌;
- 运行
/models命令选择模型(例如 Kimi-K2-Instruct、GLM-4.6)。
Helicone
Helicone 是 LLM 可观测性平台,提供日志记录、监控和分析。
配置步骤
- 访问 Helicone 平台,创建账号并从控制台生成 API 密钥;
- 运行
/connect命令,搜索并选择 Helicone; - 输入 API 密钥;
- 运行
/models命令选择模型。
高级配置
{
"$schema": "https://opencode.ai/config.json",
"provider": {
"helicone": {
"npm": "@ai-sdk/openai-compatible",
"name": "Helicone",
"options": {
"baseURL": "https://ai-gateway.helicone.ai",
"headers": {
"Helicone-Cache-Enabled": "true",
"Helicone-User-Id": "opencode"
}
},
"models": {
"gpt-4o": {
"name": "GPT-4o"
},
"claude-sonnet-4-20250514": {
"name": "Claude Sonnet 4"
}
}
}
}
}
常用请求头
| 请求头 | 描述 |
|---|---|
Helicone-Cache-Enabled | 启用响应缓存(true/false) |
Helicone-User-Id | 按用户跟踪指标 |
Helicone-Property-[Name] | 添加自定义属性(如 Helicone-Property-Environment) |
Helicone-Prompt-Id | 关联请求与提示词版本 |
会话跟踪插件
- 安装插件:
npm install -g opencode-helicone-session; - 配置启用:
{
"plugin": ["opencode-helicone-session"]
}
llama.cpp (本地模型)
{
"$schema": "https://opencode.ai/config.json",
"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: a3b-30b (local)",
"limit": {
"context": 128000,
"output": 65536
}
}
}
}
}
}
IO.NET
- 访问 IO.NET 控制台,创建账号并生成 API 密钥;
- 运行
/connect命令,搜索并选择 IO.NET; - 输入 API 密钥;
- 运行
/models命令选择模型(支持 17 种优化模型)。
LM Studio (本地模型)
{
"$schema": "https://opencode.ai/config.json",
"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)"
}
}
}
}
}
Moonshot AI (Kimi K2)
- 访问 Moonshot AI 控制台,创建账号并点击 "Create API key" 生成密钥;
- 运行
/connect命令,搜索并选择 Moonshot AI; - 输入 API 密钥;
- 运行
/models命令选择 Kimi K2 模型。
MiniMax
- 访问 MiniMax API 控制台,创建账号并生成 API 密钥;
- 运行
/connect命令,搜索并选择 MiniMax; - 输入 API 密钥;
- 运行
/models命令选择模型 (如 M2.1)。
Nebius Token Factory
- 访问 Nebius Token Factory 控制台,创建账号并点击 "Add Key" 生成密钥;
- 运行
/connect命令,搜索并选择 Nebius Token Factory; - 输入 API 密钥;
- 运行
/models命令选择模型 (如 Kimi K2 Instruct)。
Ollama (本地模型)
配置参考
{
"$schema": "https://opencode.ai/config.json",
"provider": {
"ollama": {
"npm": "@ai-sdk/openai-compatible",
"name": "Ollama (local)",
"options": {
"baseURL": "http://localhost:11434/v1"
},
"models": {
"llama2": {
"name": "Llama 2"
}
}
}
}
}
[!TIP] 工具调用异常时,可尝试增加 Ollama 的num_ctx参数 (建议 16k - 32k)。
Ollama Cloud
- 访问 https://ollama.com/ 注册账号;
- 导航至 Settings > Keys,点击 "Add API Key" 生成密钥;
- 运行
/connect命令,搜索并选择 Ollama Cloud; - 输入 API 密钥;
- 本地拉取模型信息:
ollama pull gpt-oss:20b-cloud; - 运行
/models命令选择模型。
OpenAI
- 运行
/connect命令,选择 OpenAI; - 选择认证方式:
ChatGPT Plus/Pro:浏览器跳转认证;Manually enter API Key:手动输入已有的 API 密钥;
- 运行
/models命令查看可用模型。
OpenRouter
- 访问 OpenRouter 控制台,点击 "Create API Key" 生成密钥;
- 运行
/connect命令,搜索并选择 OpenRouter; - 输入 API 密钥;
- 运行
/models命令选择模型 (默认预加载多个模型)。
模型自定义配置
{
"$schema": "https://opencode.ai/config.json",
"provider": {
"openrouter": {
"models": {
"somecoolnewmodel": {},
"moonshotai/kimi-k2": {
"options": {
"provider": {
"order": ["baseten"],
"allow_fallbacks": false
}
}
}
}
}
}
}
SAP AI Core
SAP AI Core 支持访问 40+ 种模型 (OpenAI、Anthropic、Google 等)。
配置步骤
- 访问 SAP BTP 控制台,导航至 SAP AI Core 服务实例,创建服务密钥 (包含
clientid、clientsecret、url、serviceurls.AI_API_URL); - 运行
/connect命令,搜索并选择 SAP AI Core; - 输入服务密钥 JSON (或通过环境变量
AICORE_SERVICE_KEY设置); - (可选) 设置部署 ID 和资源组:
AICORE_DEPLOYMENT_ID=你的部署ID AICORE_RESOURCE_GROUP=你的资源组 opencode
- 运行
/models命令选择模型。
OVHcloud AI Endpoints
- 访问 OVHcloud 面板,导航至 Public Cloud > AI & Machine Learning > AI Endpoints;
- 在 API Keys 标签页点击 "Create a new API key" 生成密钥;
- 运行
/connect命令,搜索并选择 OVHcloud AI Endpoints; - 输入 API 密钥;
- 运行
/models命令选择模型 (如 gpt-oss-120b)。
Scaleway
- 访问 Scaleway 控制台 IAM 设置,生成 API 密钥;
- 运行
/connect命令,搜索并选择 Scaleway; - 输入 API 密钥;
- 运行
/models命令选择模型 (如 devstral-2-123b-instruct-2512、gpt-oss-120b)。
Together AI
- 访问 Together AI 控制台,创建账号并点击 "Add Key" 生成密钥;
- 运行
/connect命令,搜索并选择 Together AI; - 输入 API 密钥;
- 运行
/models命令选择模型 (如 Kimi K2 Instruct)。
Venice AI
- 访问 Venice AI 控制台,创建账号并生成 API 密钥;
- 运行
/connect命令,搜索并选择 Venice AI; - 输入 API 密钥;
- 运行
/models命令选择模型 (如 Llama 3.3 70B)。
Vercel AI Gateway
Vercel AI Gateway 支持通过统一端点访问多个提供商模型,且按标价计费。
配置步骤
- 访问 Vercel 控制台,导航至 AI Gateway 标签页,创建 API 密钥;
- 运行
/connect命令,搜索并选择 Vercel AI Gateway; - 输入 API 密钥;
- 运行
/models命令选择模型。
路由配置
{
"$schema": "https://opencode.ai/config.json",
"provider": {
"vercel": {
"models": {
"anthropic/claude-sonnet-4": {
"options": {
"order": ["anthropic", "vertex"],
"only": ["anthropic"], // 限制仅使用指定提供商
"zeroDataRetention": true // 仅使用零数据保留政策的提供商
}
}
}
}
}
}
常用路由选项
| 选项 | 描述 |
|---|---|
order | 尝试使用的提供商顺序 |
only | 限制仅使用指定提供商 |
zeroDataRetention | 仅使用符合零数据留存政策的提供商 |
xAI
- 访问 xAI 控制台,创建账号并生成 API 密钥;
- 运行
/connect命令,搜索并选择 xAI; - 输入 API 密钥;
- 运行
/models命令选择模型 (如 Grok Beta)。
Z.AI
- 访问 Z.AI API 控制台,创建账号并点击 "Create a new API key" 生成密钥;
- 运行
/connect命令,搜索并选择 Z.AI; - 若订阅了 GLM Coding Plan,选择对应选项;
- 输入 API 密钥;
- 运行
/models命令选择模型 (如 GLM-4.7)。
ZenMux
- 访问 ZenMux 控制台,点击 "Create API Key" 生成并复制 API 密钥;
- 运行
/connect命令,搜索并选择 ZenMux; - 输入 API 密钥;
- 运行
/models命令选择模型 (默认预加载多个模型)。
模型自定义配置
{
"$schema": "https://opencode.ai/config.json",
"provider": {
"zenmux": {
"models": {
"somecoolnewmodel": {}
}
}
}
}
自定义提供商 (OpenAI 兼容)
支持添加任何未在
/connect 列表中的 OpenAI 兼容提供商:配置步骤
- 运行
/connect命令,选择 "Other"; - 输入提供商唯一 ID (如
myprovider); - 输入 API 密钥;
- 创建或修改
opencode.json:
{
"$schema": "https://opencode.ai/config.json",
"provider": {
"myprovider": {
"npm": "@ai-sdk/openai-compatible",
"name": "我的 AI 提供商",
"options": {
"baseURL": "https://api.myprovider.com/v1",
"apiKey": "{env:ANTHROPIC_API_KEY}", // 支持环境变量引用
"headers": {
"Authorization": "Bearer custom-token"
}
},
"models": {
"my-model-name": {
"name": "我的模型",
"limit": {
"context": 200000,
"output": 65536
}
}
}
}
}
}
- 运行
/models命令查看自定义模型。
故障排除
- 检查凭证:运行
opencode auth list确认提供商凭证已添加 (不适用于依赖环境变量的提供商如 Amazon Bedrock); - 自定义提供商配置检查:
/connect命令中使用的提供商 ID 需与配置文件一致;- 确保使用正确的 npm 包 (如 Cerebras 用
@ai-sdk/cerebras,其他 OpenAI 兼容提供商用@ai-sdk/openai-compatible); - 验证
options.baseURL中的 API 端点是否正确。