Appearance
OpenCode 通过 AI SDK 和 Models.dev 支持 75+ AI Provider。本文整理了主流 Provider 的接入步骤,包括 Anthropic、OpenAI、Amazon Bedrock、GitHub Copilot、Ollama 本地模型,以及如何接入任意 OpenAI 兼容接口。所有凭证通过 /connect 命令交互式配置。
OpenCode 通过 AI SDK 和 Models.dev 支持 75+ LLM Provider,也支持本地模型。
添加 Provider 的基本流程:
- 使用
/connect命令添加 API 密钥 - 在 OpenCode 配置文件中(如需要)自定义 Provider 设置
凭证存储在 ~/.local/share/opencode/auth.json。
OpenCode Zen(新手推荐)
OpenCode 官方提供的精选模型列表,经过测试和验证,开箱即用。
- 在 TUI 中运行
/connect,选择OpenCode Zen - 在浏览器中登录 opencode.ai,添加账单信息并复制 API Key
- 在 TUI 中运行
/models查看推荐模型列表
OpenCode Go
低成本订阅计划(首月 $5,此后 $10/月),提供精选开源编码模型访问。详见 OpenCode Go。
主流 Provider 接入指南
Anthropic
- 运行
/connect,选择 Anthropic - 选择 Manually enter API Key 或 Claude Pro/Max OAuth 方式
- 运行
/models查看 Claude 系列模型
注意:Anthropic 明确禁止通过第三方插件使用 Claude Pro/Max 订阅。如需使用订阅,请使用 ChatGPT Plus 或 GitHub Copilot(两者均支持)。
OpenAI
- 运行
/connect,选择 OpenAI - 选择 ChatGPT Plus/Pro OAuth 方式(使用浏览器认证),或选择 Manually enter API Key
- 运行
/models选择模型
Amazon Bedrock
方式一:环境变量
bash
# 使用 Access Key
AWS_ACCESS_KEY_ID=XXX AWS_SECRET_ACCESS_KEY=YYY opencode
# 使用命名 Profile
AWS_PROFILE=my-profile opencode
# 使用 Bedrock Bearer Token
AWS_BEARER_TOKEN_BEDROCK=XXX opencode方式二:配置文件(推荐)
json
{
"$schema": "https://opencode.ai/config.json",
"provider": {
"amazon-bedrock": {
"options": {
"region": "us-east-1",
"profile": "my-aws-profile"
}
}
}
}可用选项:region、profile、endpoint(VPC 端点)。
认证优先级:Bearer Token > AWS 凭证链(Profile、Access Keys、IAM 角色、Web Identity Token)
GitHub Copilot
- 运行
/connect,搜索 GitHub Copilot - 访问 github.com/login/device 输入授权码
- 运行
/models选择模型
部分模型需要 Pro+ 订阅。
Google Vertex AI
设置环境变量:
bash
export GOOGLE_APPLICATION_CREDENTIALS=/path/to/service-account.json
export GOOGLE_CLOUD_PROJECT=your-project-id
export VERTEX_LOCATION=global # 推荐 global,改善可用性然后运行 /models 选择模型。
提示:
global区域提升可用性且不额外收费;如有数据驻留要求,使用区域端点(如us-central1)。
本地模型(Ollama)
json
{
"$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" }
}
}
}
}提示:如果 Tool Call 不正常,尝试增大 Ollama 的
num_ctx(建议 16k-32k 起步)。
Ollama 也支持自动配置,查看 Ollama 集成文档。
本地模型(LM Studio)
json
{
"$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)" }
}
}
}
}其他热门 Provider
以下 Provider 均通过 /connect 命令交互式配置,步骤类似:
| Provider | 特色 |
|---|---|
| OpenRouter | 聚合多家 Provider,支持 Provider 路由配置 |
| DeepSeek | DeepSeek Reasoner 等推理模型 |
| Groq | 超快推理速度 |
| Cloudflare AI Gateway | 统一 Billing,无需多个 API Key |
| Azure OpenAI | 企业级 Azure 部署 |
| GitLab Duo | 通过 GitLab Premium/Ultimate 访问 |
| xAI | Grok 系列模型 |
| Moonshot AI | Kimi K2 模型 |
| Cerebras | 快速推理,Qwen 3 Coder 480B |
自定义 OpenAI 兼容 Provider
接入任意未列出的 OpenAI 兼容接口:
- 运行
/connect,滚动到 Other,输入自定义 Provider ID 和 API Key - 在
opencode.json中配置:
json
{
"$schema": "https://opencode.ai/config.json",
"provider": {
"myprovider": {
"npm": "@ai-sdk/openai-compatible",
"name": "My AI Provider",
"options": {
"baseURL": "https://api.myprovider.com/v1",
"apiKey": "{env:MY_API_KEY}",
"headers": {
"Authorization": "Bearer custom-token"
}
},
"models": {
"my-model-name": {
"name": "My Model",
"limit": {
"context": 200000,
"output": 65536
}
}
}
}
}
}配置说明:
npm:@ai-sdk/openai-compatible(/v1/chat/completions);如使用/v1/responses接口,改用@ai-sdk/openaiapiKey:支持{env:VAR_NAME}语法引用环境变量limit.context/limit.output:帮助 OpenCode 计算剩余上下文
自定义 Base URL
为任何 Provider 覆盖默认 API 端点,适用于代理或自定义部署:
json
{
"$schema": "https://opencode.ai/config.json",
"provider": {
"anthropic": {
"options": {
"baseURL": "https://api.anthropic.com/v1"
}
}
}
}故障排除
- 运行
opencode auth list确认凭证已正确添加(不适用于 Amazon Bedrock 等使用环境变量的 Provider) - 自定义 Provider 检查:
- Provider ID 与
/connect中输入的一致 npm字段正确(通常为@ai-sdk/openai-compatible)options.baseURL为正确的 API 端点
- Provider ID 与
常见问题
Q: 我的 Claude Pro 订阅可以用吗?
A: Anthropic 明确禁止通过 API 使用 Claude Pro/Max 订阅。如果需要使用 Claude,请用 API Key 或 OpenCode Zen。
Q: 如何同时使用多个 Provider?
A: 直接在 OpenCode 中配置多个 Provider 即可。通过 /models 命令随时切换不同 Provider 的模型。
Q: 为什么建议使用 global 区域而不是具体区域用于 Vertex AI?
A: global 区域会自动将请求路由到最近的区域,提升可用性,且不额外收费。只有当你有数据驻留合规要求时才需要指定特定区域。