Skip to content

OpenCode 通过 AI SDK 和 Models.dev 支持 75+ AI Provider。本文整理了主流 Provider 的接入步骤,包括 Anthropic、OpenAI、Amazon Bedrock、GitHub Copilot、Ollama 本地模型,以及如何接入任意 OpenAI 兼容接口。所有凭证通过 /connect 命令交互式配置。

OpenCode 通过 AI SDKModels.dev 支持 75+ LLM Provider,也支持本地模型。

添加 Provider 的基本流程:

  1. 使用 /connect 命令添加 API 密钥
  2. 在 OpenCode 配置文件中(如需要)自定义 Provider 设置

凭证存储在 ~/.local/share/opencode/auth.json


OpenCode Zen(新手推荐)

OpenCode 官方提供的精选模型列表,经过测试和验证,开箱即用。

  1. 在 TUI 中运行 /connect,选择 OpenCode Zen
  2. 在浏览器中登录 opencode.ai,添加账单信息并复制 API Key
  3. 在 TUI 中运行 /models 查看推荐模型列表

OpenCode Go

低成本订阅计划(首月 $5,此后 $10/月),提供精选开源编码模型访问。详见 OpenCode Go


主流 Provider 接入指南

Anthropic

  1. 运行 /connect,选择 Anthropic
  2. 选择 Manually enter API KeyClaude Pro/Max OAuth 方式
  3. 运行 /models 查看 Claude 系列模型

注意:Anthropic 明确禁止通过第三方插件使用 Claude Pro/Max 订阅。如需使用订阅,请使用 ChatGPT Plus 或 GitHub Copilot(两者均支持)。


OpenAI

  1. 运行 /connect,选择 OpenAI
  2. 选择 ChatGPT Plus/Pro OAuth 方式(使用浏览器认证),或选择 Manually enter API Key
  3. 运行 /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"
      }
    }
  }
}

可用选项:regionprofileendpoint(VPC 端点)。

认证优先级:Bearer Token > AWS 凭证链(Profile、Access Keys、IAM 角色、Web Identity Token)


GitHub Copilot

  1. 运行 /connect,搜索 GitHub Copilot
  2. 访问 github.com/login/device 输入授权码
  3. 运行 /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 路由配置
DeepSeekDeepSeek Reasoner 等推理模型
Groq超快推理速度
Cloudflare AI Gateway统一 Billing,无需多个 API Key
Azure OpenAI企业级 Azure 部署
GitLab Duo通过 GitLab Premium/Ultimate 访问
xAIGrok 系列模型
Moonshot AIKimi K2 模型
Cerebras快速推理,Qwen 3 Coder 480B

自定义 OpenAI 兼容 Provider

接入任意未列出的 OpenAI 兼容接口:

  1. 运行 /connect,滚动到 Other,输入自定义 Provider ID 和 API Key
  2. 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/openai
  • apiKey:支持 {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"
      }
    }
  }
}

故障排除

  1. 运行 opencode auth list 确认凭证已正确添加(不适用于 Amazon Bedrock 等使用环境变量的 Provider)
  2. 自定义 Provider 检查:
    • Provider ID 与 /connect 中输入的一致
    • npm 字段正确(通常为 @ai-sdk/openai-compatible
    • options.baseURL 为正确的 API 端点

常见问题

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 区域会自动将请求路由到最近的区域,提升可用性,且不额外收费。只有当你有数据驻留合规要求时才需要指定特定区域。