主题
Provider 配置
OpenCode 通过 AI SDK 和 Models.dev 支持 75+ LLM 提供商,包括云服务和本地模型。本文档介绍如何配置和使用不同的模型提供商。
快速配置
使用 /connect 命令
最简单的配置方式是使用内置命令:
bash
opencode
# 在交互界面中输入
/connect这将引导你完成认证配置,API 密钥会安全存储在 ~/.local/share/opencode/auth.json。
查看可用模型
bash
# 命令行
opencode models
# 或在交互界面中
/models推荐的提供商
OpenCode Zen(推荐新手)
OpenCode 团队精选的模型,开箱即用:
bash
/connect
# 选择 "OpenCode Zen"Anthropic Claude
通过 Claude Pro/Max 订阅或 API 密钥使用:
json
{
"provider": {
"anthropic": {
"options": {
"apiKey": "{env:ANTHROPIC_API_KEY}"
}
}
},
"model": "anthropic/claude-sonnet-4-5"
}可用模型:
anthropic/claude-opus-4-5- 最强大的推理模型anthropic/claude-sonnet-4-5- 平衡性能和速度anthropic/claude-haiku-4-5- 快速响应
OpenAI
json
{
"provider": {
"openai": {
"options": {
"apiKey": "{env:OPENAI_API_KEY}",
"baseURL": "https://api.openai.com/v1"
}
}
},
"model": "openai/gpt-4o"
}可用模型:
openai/gpt-4o- 最新多模态模型openai/gpt-4o-mini- 快速经济openai/o1- 推理模型openai/o1-mini- 轻量推理
Google Gemini
json
{
"provider": {
"google": {
"options": {
"apiKey": "{env:GOOGLE_GENERATIVE_AI_API_KEY}"
}
}
},
"model": "google/gemini-2.0-flash"
}可用模型:
google/gemini-2.0-flash- 快速多模态google/gemini-1.5-pro- 长上下文
云平台提供商
Amazon Bedrock
json
{
"provider": {
"bedrock": {
"options": {
"region": "us-east-1",
"accessKeyId": "{env:AWS_ACCESS_KEY_ID}",
"secretAccessKey": "{env:AWS_SECRET_ACCESS_KEY}"
}
}
}
}Azure OpenAI
json
{
"provider": {
"azure": {
"options": {
"apiKey": "{env:AZURE_OPENAI_API_KEY}",
"baseURL": "https://your-resource.openai.azure.com/openai/deployments/your-deployment"
}
}
}
}Google Vertex AI
json
{
"provider": {
"vertex": {
"options": {
"project": "your-gcp-project",
"location": "us-central1"
}
}
}
}本地模型
Ollama
json
{
"provider": {
"ollama": {
"options": {
"baseURL": "http://localhost:11434/v1"
},
"models": {
"llama3.2": {
"name": "Llama 3.2"
},
"codellama": {
"name": "Code Llama"
}
}
}
},
"model": "ollama/llama3.2"
}LM Studio
json
{
"provider": {
"lmstudio": {
"npm": "@ai-sdk/openai-compatible",
"options": {
"baseURL": "http://localhost:1234/v1"
}
}
}
}llama.cpp
json
{
"provider": {
"llamacpp": {
"npm": "@ai-sdk/openai-compatible",
"options": {
"baseURL": "http://localhost:8080/v1"
}
}
}
}自定义 OpenAI 兼容提供商
对于任何 OpenAI 兼容的 API 服务:
json
{
"provider": {
"my-provider": {
"npm": "@ai-sdk/openai-compatible",
"name": "我的提供商",
"options": {
"baseURL": "https://api.example.com/v1",
"apiKey": "{env:MY_PROVIDER_API_KEY}"
},
"models": {
"model-id": {
"name": "模型显示名称"
}
}
}
}
}国内代理服务示例
json
{
"provider": {
"proxy": {
"npm": "@ai-sdk/openai-compatible",
"name": "API 代理",
"options": {
"baseURL": "https://api.your-proxy.com/v1",
"apiKey": "{env:PROXY_API_KEY}"
},
"models": {
"gpt-4o": { "name": "GPT-4o" },
"claude-3-5-sonnet": { "name": "Claude 3.5 Sonnet" }
}
}
}
}Provider 配置选项
基本选项
| 选项 | 类型 | 说明 |
|---|---|---|
npm | string | AI SDK 包名(自定义提供商需要) |
name | string | 提供商显示名称 |
options | object | 提供商特定配置 |
models | object | 模型列表和配置 |
options 常用字段
| 字段 | 说明 |
|---|---|
baseURL | API 端点 URL |
apiKey | API 密钥(支持 {env:VAR} 语法) |
headers | 自定义请求头 |
models 配置
json
{
"models": {
"model-id": {
"name": "显示名称",
"limit": {
"context": 128000,
"output": 4096
}
}
}
}| 字段 | 说明 |
|---|---|
name | 模型显示名称 |
limit.context | 最大输入 token 数 |
limit.output | 最大输出 token 数 |
禁用自动加载的提供商
某些提供商会根据环境变量自动加载,可以禁用:
json
{
"disabled_providers": ["provider-name"]
}切换模型
交互模式
bash
# 查看可用模型
/models
# 切换模型
/model anthropic/claude-sonnet-4-5
/model openai/gpt-4o命令行
bash
# 指定模型启动
opencode --model anthropic/claude-sonnet-4-5
# 指定提供商
opencode models anthropic模型选择建议
| 任务类型 | 推荐模型 |
|---|---|
| 代码生成 | Claude Sonnet 4.5, GPT-4o |
| 代码审查 | Claude Opus 4.5, GPT-4o |
| 文档编写 | Claude Sonnet 4.5, Gemini Pro |
| 快速问答 | Claude Haiku 4.5, GPT-4o-mini |
| 复杂推理 | Claude Opus 4.5, o1 |
| 本地运行 | Llama 3.2, Code Llama |
完整配置示例
json
{
"$schema": "https://opencode.ai/config.json",
"model": "anthropic/claude-sonnet-4-5",
"small_model": "anthropic/claude-haiku-4-5",
"provider": {
"anthropic": {
"options": {
"apiKey": "{env:ANTHROPIC_API_KEY}"
}
},
"openai": {
"options": {
"apiKey": "{env:OPENAI_API_KEY}"
}
},
"ollama": {
"options": {
"baseURL": "http://localhost:11434/v1"
},
"models": {
"llama3.2": { "name": "Llama 3.2" },
"codellama": { "name": "Code Llama" }
}
}
},
"agent": {
"review": {
"model": "anthropic/claude-opus-4-5"
},
"quick": {
"model": "anthropic/claude-haiku-4-5"
}
}
}常见问题
API 连接失败
- 检查
baseURL是否正确 - 检查 API 密钥是否有效
- 检查网络代理设置
bash
export HTTPS_PROXY="http://127.0.0.1:7890"模型不可用
确保提供商已正确配置且模型 ID 正确:
bash
# 查看已配置的模型
opencode modelsToken 限制错误
检查模型的上下文长度限制:
json
{
"models": {
"model-id": {
"limit": {
"context": 128000,
"output": 4096
}
}
}
}下一步
- 配置详解 - 了解完整配置结构
- Agents 代理系统 - 为不同代理配置不同模型
- MCP 服务 - 扩展工具能力