提供商
OpenCode 通过 AI SDK 和 Models.dev 支持 75+ LLM 提供商,可以集成众多语言模型服务和本地模型。
配置流程
- 使用
/connect命令添加 API 密钥 - 在 OpenCode 配置中配置提供商
- 凭证存储在
~/.local/share/opencode/auth.json
提供商目录
以下是支持的提供商快速参考:
| 提供商 | 配置方式 | 主要特性 |
|---|---|---|
| Anthropic | OAuth 或 API 密钥 | 支持 Claude Pro/Max |
| OpenAI | ChatGPT Plus/Pro 或 API 密钥 | GPT-4o、o1 模型 |
| GitHub Copilot | 设备码认证 | Pro+ 订阅模型 |
| Google Vertex AI | 服务账号或 gcloud 认证 | 40+ 模型 |
| Amazon Bedrock | AWS 凭证/配置文件 | 支持 VPC 端点 |
| Azure OpenAI | API 密钥 + 资源名称 | 自定义部署 |
| Groq | API 密钥 | 高速推理 |
| DeepSeek | API 密钥 | 推理模型 |
| OpenRouter | API 密钥 | 多提供商路由 |
| GitLab Duo | API 密钥 | GitLab 集成 |
| Ollama | 本地配置 | 本地运行模型 |
| LM Studio | 本地配置 | 本地模型管理 |
其他提供商包括:302.AI、Baseten、Cerebras、Cloudflare AI Gateway、Cortecs、Deep Infra、Firmware、Fireworks AI、Hugging Face、Helicone、IO.NET、Moonshot AI、MiniMax、Nebius Token Factory、OVHcloud AI Endpoints、SAP AI Core、Scaleway、Together AI、Venice AI、Vercel AI Gateway、xAI、Z.AI、ZenMux。
Base URL 配置
你可以通过设置 baseURL 选项来自定义任何提供商的基础 URL。这在使用代理服务或自定义端点时非常有用。
{
"$schema": "https://opencode.ai/config.json",
"provider": {
"anthropic": {
"options": {
"baseURL": "https://api.anthropic.com/v1"
}
}
}
}OpenCode Zen
OpenCode Zen 是由 OpenCode 团队提供的模型列表,这些模型经过测试和验证,可以良好运行。
- 运行
/connect,选择 opencode - 访问 opencode.ai/auth 进行认证
- 复制并粘贴你的 API 密钥
- 使用
/models查看推荐模型
热门提供商
Anthropic
- 运行
/connect并选择 Anthropic - 选择 Claude Pro/Max 进行浏览器认证
- 通过
/models命令访问模型
OpenAI
- 在 platform.openai.com/api-keys 创建 API 密钥
- 运行
/connect并搜索 OpenAI - 输入 API 密钥
- 使用
/models选择模型
Groq
Groq 为各种模型提供高速推理。
- 在 console.groq.com 创建 API 密钥
- 运行
/connect并搜索 Groq - 输入 API 密钥
- 使用
/models选择模型
{
"$schema": "https://opencode.ai/config.json",
"provider": {
"groq": {
"options": {
"apiKey": "{env:GROQ_API_KEY}"
}
}
}
}DeepSeek
DeepSeek 提供强大的推理模型。
- 在 platform.deepseek.com 创建 API 密钥
- 运行
/connect并搜索 DeepSeek - 输入 API 密钥
- 使用
/models选择模型
{
"$schema": "https://opencode.ai/config.json",
"provider": {
"deepseek": {
"options": {
"apiKey": "{env:DEEPSEEK_API_KEY}"
}
}
}
}GitHub Copilot
GitHub Copilot 集成需要 Pro+ 订阅。
- 运行
/connect并选择 GitHub Copilot - 完成设备码认证
- 通过
/models命令访问模型
{
"$schema": "https://opencode.ai/config.json",
"provider": {
"github-copilot": {
"models": {
"gpt-4o": {
"name": "GPT-4o (Copilot)"
}
}
}
}
}GitLab Duo
GitLab Duo 提供与 GitLab 集成的 AI 功能。
{
"$schema": "https://opencode.ai/config.json",
"provider": {
"gitlab-duo": {
"options": {
"apiKey": "{env:GITLAB_API_KEY}"
}
}
}
}OpenRouter
{
"provider": {
"openrouter": {
"models": {
"moonshotai/kimi-k2": {
"options": {
"provider": {
"order": ["baseten"],
"allow_fallbacks": false
}
}
}
}
}
}
}Ollama(本地)
{
"provider": {
"ollama": {
"npm": "@ai-sdk/openai-compatible",
"name": "Ollama (local)",
"options": {
"baseURL": "http://localhost:11434/v1"
},
"models": {
"llama2": {
"name": "Llama 2"
}
}
}
}
}LM Studio(本地)
{
"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)"
}
}
}
}
}Amazon Bedrock
{
"provider": {
"amazon-bedrock": {
"options": {
"region": "us-east-1",
"profile": "my-aws-profile"
}
}
}
}认证优先级
使用 Amazon Bedrock 时,认证遵循以下优先级顺序:
- Bearer Token - 如果设置了
AWS_BEARER_TOKEN_BEDROCK(通过/connect或环境变量),它优先于所有其他方法 - AWS 凭证链 - 标准 AWS 凭证解析:
- AWS 配置文件配置
- 访问密钥(
AWS_ACCESS_KEY_ID、AWS_SECRET_ACCESS_KEY) - IAM 角色
- EKS IRSA(服务账号的 IAM 角色)
Azure OpenAI
- 在 Azure 门户创建 Azure OpenAI 资源
- 在 Azure AI Foundry 部署模型
- 运行
/connect并搜索 Azure - 设置
AZURE_RESOURCE_NAME环境变量
自定义提供商配置
对于 OpenAI 兼容的提供商:
{
"provider": {
"myprovider": {
"npm": "@ai-sdk/openai-compatible",
"name": "My AI Provider",
"options": {
"baseURL": "https://api.myprovider.com/v1",
"apiKey": "{env:MY_API_KEY}"
},
"models": {
"my-model": {
"name": "My Model",
"limit": {
"context": 200000,
"output": 65536
}
}
}
}
}
}环境变量语法
使用 {env:VARIABLE_NAME} 语法在配置中引用环境变量:
{
"provider": {
"myprovider": {
"options": {
"apiKey": "{env:MY_PROVIDER_API_KEY}"
}
}
}
}这样可以将敏感凭证保存在配置文件之外。
模型限制
limit 字段帮助 OpenCode 了解模型的上下文窗口和输出限制:
{
"provider": {
"myprovider": {
"models": {
"my-model": {
"name": "My Model",
"limit": {
"context": 200000,
"output": 65536
}
}
}
}
}
}context:模型可处理的最大输入 token 数output:模型可生成的最大输出 token 数
自定义请求头
你可以为 API 请求添加自定义请求头:
{
"provider": {
"myprovider": {
"options": {
"headers": {
"Authorization": "Bearer custom-token",
"X-Custom-Header": "value"
}
}
}
}
}故障排除
- 检查认证: 运行
opencode auth list验证凭证 - 自定义提供商问题:
- 验证
/connect和配置中的提供商 ID 是否匹配 - 确认正确的 npm 包
- 检查
options.baseURL中的 API 端点
- 验证