Buckets:
| title: 提供商 | |
| description: 在 OpenCode 中使用任意 LLM 提供商。 | |
| import config from "../../../../config.mjs" | |
| export const console = config.console | |
| OpenCode 使用 [AI SDK](https://ai-sdk.dev/) 和 [Models.dev](https://models.dev),支持 **75+ LLM 提供商**,同时也支持运行本地模型。 | |
| 要添加提供商,你需要: | |
| 1. 使用 `/connect` 命令添加提供商的 API 密钥。 | |
| 2. 在 OpenCode 配置中设置该提供商。 | |
| ### 凭据 | |
| 使用 `/connect` 命令添加提供商的 API 密钥后,凭据会存储在 | |
| `~/.local/share/opencode/auth.json` 中。 | |
| ### 配置 | |
| 你可以通过 OpenCode 配置中的 `provider` 部分来自定义提供商。 | |
| #### 自定义 Base URL | |
| 你可以通过设置 `baseURL` 选项来自定义任何提供商的 Base URL。这在使用代理服务或自定义端点时非常有用。 | |
| ```json title="opencode.json" {6} | |
| { | |
| "$schema": "https://opencode.ai/config.json", | |
| "provider": { | |
| "anthropic": { | |
| "options": { | |
| "baseURL": "https://api.anthropic.com/v1" | |
| } | |
| } | |
| } | |
| } | |
| ``` | |
| ## OpenCode Zen | |
| OpenCode Zen 是由 OpenCode 团队提供的模型列表,这些模型已经过测试和验证,能够与 OpenCode 良好配合使用。[了解更多](/docs/zen)。 | |
| :::tip | |
| 如果你是新用户,我们建议从 OpenCode Zen 开始。 | |
| ::: | |
| 1. 在 TUI 中执行 `/connect` 命令,选择 opencode,然后前往 [opencode.ai/auth](https://opencode.ai/auth)。 | |
| ```txt | |
| /connect | |
| ``` | |
| 2. 登录后添加账单信息,然后复制你的 API 密钥。 | |
| 3. 粘贴你的 API 密钥。 | |
| ```txt | |
| ┌ API key | |
| │ | |
| │ | |
| └ enter | |
| ``` | |
| 4. 在 TUI 中执行 `/models` 查看我们推荐的模型列表。 | |
| ```txt | |
| /models | |
| ``` | |
| 它的使用方式与 OpenCode 中的其他提供商完全相同,且完全可选。 | |
| ## 目录 | |
| 下面我们来详细了解一些提供商。如果你想将某个提供商添加到列表中,欢迎提交 PR。 | |
| :::note | |
| 没有看到你想要的提供商?欢迎提交 PR。 | |
| ::: | |
| ### 302.AI | |
| 1. 前往 [302.AI 控制台](https://302.ai/),创建账户并生成 API 密钥。 | |
| 2. 执行 `/connect` 命令并搜索 **302.AI**。 | |
| ```txt | |
| /connect | |
| ``` | |
| 3. 输入你的 302.AI API 密钥。 | |
| ```txt | |
| ┌ API key | |
| │ | |
| │ | |
| └ enter | |
| ``` | |
| 4. 执行 `/models` 命令选择模型。 | |
| ```txt | |
| /models | |
| ``` | |
| ### Amazon Bedrock | |
| 要在 OpenCode 中使用 Amazon Bedrock: | |
| 1. 前往 Amazon Bedrock 控制台中的**模型目录**,申请访问你想要使用的模型。 | |
| :::tip | |
| 你需要先在 Amazon Bedrock 中获得对目标模型的访问权限。 | |
| ::: | |
| 2. 使用以下方法之一**配置身份验证**: | |
| *** | |
| #### 环境变量(快速上手) | |
| 运行 opencode 时设置以下环境变量之一: | |
| ```bash | |
| # Option 1: Using AWS access keys | |
| AWS_ACCESS_KEY_ID=XXX AWS_SECRET_ACCESS_KEY=YYY opencode | |
| # Option 2: Using named AWS profile | |
| AWS_PROFILE=my-profile opencode | |
| # Option 3: Using Bedrock bearer token | |
| AWS_BEARER_TOKEN_BEDROCK=XXX opencode | |
| ``` | |
| 或者将它们添加到你的 bash 配置文件中: | |
| ```bash title="~/.bash_profile" | |
| export AWS_PROFILE=my-dev-profile | |
| export AWS_REGION=us-east-1 | |
| ``` | |
| *** | |
| #### 配置文件(推荐) | |
| 如需项目级别或持久化的配置,请使用 `opencode.json`: | |
| ```json title="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` 选项的别名) | |
| :::tip | |
| 配置文件中的选项优先级高于环境变量。 | |
| ::: | |
| *** | |
| #### 进阶:VPC 端点 | |
| 如果你使用 Bedrock 的 VPC 端点: | |
| ```json title="opencode.json" | |
| { | |
| "$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" | |
| } | |
| } | |
| } | |
| } | |
| ``` | |
| :::note | |
| `endpoint` 选项是通用 `baseURL` 选项的别名,使用了 AWS 特有的术语。如果同时指定了 `endpoint` 和 `baseURL`,则 `endpoint` 优先。 | |
| ::: | |
| *** | |
| #### 认证方式 | |
| - **`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 会自动注入这些环境变量。 | |
| *** | |
| #### 认证优先级 | |
| Amazon Bedrock 使用以下认证优先级: | |
| 1. **Bearer Token** - `AWS_BEARER_TOKEN_BEDROCK` 环境变量或通过 `/connect` 命令获取的 Token | |
| 2. **AWS 凭证链** - 配置文件、访问密钥、共享凭证、IAM 角色、Web Identity Token(EKS IRSA)、实例元数据 | |
| :::note | |
| 当设置了 Bearer Token(通过 `/connect` 或 `AWS_BEARER_TOKEN_BEDROCK`)时,它的优先级高于所有 AWS 凭证方式,包括已配置的配置文件。 | |
| ::: | |
| 3. 执行 `/models` 命令选择你想要的模型。 | |
| ```txt | |
| /models | |
| ``` | |
| :::note | |
| 对于自定义推理配置文件,请在 key 中使用模型名称和提供商名称,并将 `id` 属性设置为 ARN。这可以确保正确的缓存行为: | |
| ```json title="opencode.json" | |
| { | |
| "$schema": "https://opencode.ai/config.json", | |
| "provider": { | |
| "amazon-bedrock": { | |
| // ... | |
| "models": { | |
| "anthropic-claude-sonnet-4.5": { | |
| "id": "arn:aws:bedrock:us-east-1:xxx:application-inference-profile/yyy" | |
| } | |
| } | |
| } | |
| } | |
| } | |
| ``` | |
| ::: | |
| ### Anthropic | |
| 1. 注册完成后,执行 `/connect` 命令并选择 Anthropic。 | |
| ```txt | |
| /connect | |
| ``` | |
| 2. 你可以选择 **Claude Pro/Max** 选项,浏览器会自动打开并要求你进行身份验证。 | |
| ```txt | |
| ┌ Select auth method | |
| │ | |
| │ Claude Pro/Max | |
| │ Create an API Key | |
| │ Manually enter API Key | |
| └ | |
| ``` | |
| 3. 现在使用 `/models` 命令即可看到所有 Anthropic 模型。 | |
| ```txt | |
| /models | |
| ``` | |
| :::info | |
| 在 OpenCode 中使用 Claude Pro/Max 订阅不是 [Anthropic](https://anthropic.com) 官方支持的用法。 | |
| ::: | |
| ##### 使用 API 密钥 | |
| 如果你没有 Pro/Max 订阅,也可以选择 **Create an API Key**。浏览器会自动打开并要求你登录 Anthropic,然后会提供一个代码供你粘贴到终端中。 | |
| 如果你已经有 API 密钥,可以选择 **Manually enter API Key** 并将其粘贴到终端中。 | |
| ### Atomic Chat | |
| 你可以通过 [Atomic Chat](https://atomic.chat) 配置 opencode 以使用本地模型。Atomic Chat 是一款桌面应用程序,它在 OpenAI 兼容的 API 服务器后面运行本地 LLM(默认端点 `http://127.0.0.1:1337/v1`)。 | |
| ```json title="opencode.json" "atomic-chat" {5, 6, 8, 10-14} | |
| { | |
| "$schema": "https://opencode.ai/config.json", | |
| "provider": { | |
| "atomic-chat": { | |
| "npm": "@ai-sdk/openai-compatible", | |
| "name": "Atomic Chat (local)", | |
| "options": { | |
| "baseURL": "http://127.0.0.1:1337/v1" | |
| }, | |
| "models": { | |
| "<your-model-id>": { | |
| "name": "<your-model-name>" | |
| } | |
| } | |
| } | |
| } | |
| } | |
| ``` | |
| 在此示例中: | |
| - `atomic-chat` 是自定义的提供商 ID。可以是任何你想要的字符串。 | |
| - `npm` 指定此提供商使用的包。这里使用 `@ai-sdk/openai-compatible` 来连接任何 OpenAI 兼容的 API。 | |
| - `name` 是提供商在界面中显示的名称。 | |
| - `options.baseURL` 是本地服务器的端点。根据你的 Atomic Chat 设置修改主机和端口。 | |
| - `models` 是模型 ID 到其显示名称的映射。每个 ID 必须与 `GET /v1/models` 返回的 `id` 匹配——运行 `curl http://127.0.0.1:1337/v1/models` 可列出 Atomic Chat 当前已加载的 ID。 | |
| :::tip | |
| 如果工具调用工作不佳,请选择一个对 tool calling 支持较好的已加载模型(例如 Qwen-Coder 或 DeepSeek-Coder 的变体)。 | |
| ::: | |
| ### Azure OpenAI | |
| :::note | |
| 如果遇到 "I'm sorry, but I cannot assist with that request" 错误,请尝试将 Azure 资源中的内容过滤器从 **DefaultV2** 更改为 **Default**。 | |
| ::: | |
| 1. 前往 [Azure 门户](https://portal.azure.com/)并创建 **Azure OpenAI** 资源。你需要: | |
| - **资源名称**:这会成为你的 API 端点的一部分(`https://RESOURCE_NAME.openai.azure.com/`) | |
| - **API 密钥**:资源中的 `KEY 1` 或 `KEY 2` | |
| 2. 前往 [Azure AI Foundry](https://ai.azure.com/) 并部署一个模型。 | |
| :::note | |
| 部署名称必须与模型名称一致,OpenCode 才能正常工作。 | |
| ::: | |
| 3. 执行 `/connect` 命令并搜索 **Azure**。 | |
| ```txt | |
| /connect | |
| ``` | |
| 4. 输入你的 API 密钥。 | |
| ```txt | |
| ┌ API key | |
| │ | |
| │ | |
| └ enter | |
| ``` | |
| 5. 将资源名称设置为环境变量: | |
| ```bash | |
| AZURE_RESOURCE_NAME=XXX opencode | |
| ``` | |
| 或者添加到你的 bash 配置文件中: | |
| ```bash title="~/.bash_profile" | |
| export AZURE_RESOURCE_NAME=XXX | |
| ``` | |
| 6. 执行 `/models` 命令选择你已部署的模型。 | |
| ```txt | |
| /models | |
| ``` | |
| ### Azure Cognitive Services | |
| 1. 前往 [Azure 门户](https://portal.azure.com/)并创建 **Azure OpenAI** 资源。你需要: | |
| - **资源名称**:这会成为你的 API 端点的一部分(`https://AZURE_COGNITIVE_SERVICES_RESOURCE_NAME.cognitiveservices.azure.com/`) | |
| - **API 密钥**:资源中的 `KEY 1` 或 `KEY 2` | |
| 2. 前往 [Azure AI Foundry](https://ai.azure.com/) 并部署一个模型。 | |
| :::note | |
| 部署名称必须与模型名称一致,OpenCode 才能正常工作。 | |
| ::: | |
| 3. 执行 `/connect` 命令并搜索 **Azure Cognitive Services**。 | |
| ```txt | |
| /connect | |
| ``` | |
| 4. 输入你的 API 密钥。 | |
| ```txt | |
| ┌ API key | |
| │ | |
| │ | |
| └ enter | |
| ``` | |
| 5. 将资源名称设置为环境变量: | |
| ```bash | |
| AZURE_COGNITIVE_SERVICES_RESOURCE_NAME=XXX opencode | |
| ``` | |
| 或者添加到你的 bash 配置文件中: | |
| ```bash title="~/.bash_profile" | |
| export AZURE_COGNITIVE_SERVICES_RESOURCE_NAME=XXX | |
| ``` | |
| 6. 执行 `/models` 命令选择你已部署的模型。 | |
| ```txt | |
| /models | |
| ``` | |
| ### Baseten | |
| 1. 前往 [Baseten](https://app.baseten.co/),创建账户并生成 API 密钥。 | |
| 2. 执行 `/connect` 命令并搜索 **Baseten**。 | |
| ```txt | |
| /connect | |
| ``` | |
| 3. 输入你的 Baseten API 密钥。 | |
| ```txt | |
| ┌ API key | |
| │ | |
| │ | |
| └ enter | |
| ``` | |
| 4. 执行 `/models` 命令选择模型。 | |
| ```txt | |
| /models | |
| ``` | |
| ### Cerebras | |
| 1. 前往 [Cerebras 控制台](https://inference.cerebras.ai/),创建账户并生成 API 密钥。 | |
| 2. 执行 `/connect` 命令并搜索 **Cerebras**。 | |
| ```txt | |
| /connect | |
| ``` | |
| 3. 输入你的 Cerebras API 密钥。 | |
| ```txt | |
| ┌ API key | |
| │ | |
| │ | |
| └ enter | |
| ``` | |
| 4. 执行 `/models` 命令选择模型,例如 _Qwen 3 Coder 480B_。 | |
| ```txt | |
| /models | |
| ``` | |
| ### Cloudflare AI Gateway | |
| Cloudflare AI Gateway 允许你通过统一端点访问来自 OpenAI、Anthropic、Workers AI 等提供商的模型。通过 [Unified Billing](https://developers.cloudflare.com/ai-gateway/features/unified-billing/),你无需为每个提供商单独准备 API 密钥。 | |
| 1. 前往 [Cloudflare 仪表盘](https://dash.cloudflare.com/),导航到 **AI** > **AI Gateway**,创建一个新的网关。 | |
| 2. 将你的 Account ID 和 Gateway ID 设置为环境变量。 | |
| ```bash title="~/.bash_profile" | |
| export CLOUDFLARE_ACCOUNT_ID=your-32-character-account-id | |
| export CLOUDFLARE_GATEWAY_ID=your-gateway-id | |
| ``` | |
| 3. 执行 `/connect` 命令并搜索 **Cloudflare AI Gateway**。 | |
| ```txt | |
| /connect | |
| ``` | |
| 4. 输入你的 Cloudflare API Token。 | |
| ```txt | |
| ┌ API key | |
| │ | |
| │ | |
| └ enter | |
| ``` | |
| 或者将其设置为环境变量。 | |
| ```bash title="~/.bash_profile" | |
| export CLOUDFLARE_API_TOKEN=your-api-token | |
| ``` | |
| 5. 执行 `/models` 命令选择模型。 | |
| ```txt | |
| /models | |
| ``` | |
| 你也可以通过 OpenCode 配置添加模型。 | |
| ```json title="opencode.json" | |
| { | |
| "$schema": "https://opencode.ai/config.json", | |
| "provider": { | |
| "cloudflare-ai-gateway": { | |
| "models": { | |
| "openai/gpt-4o": {}, | |
| "anthropic/claude-sonnet-4": {} | |
| } | |
| } | |
| } | |
| } | |
| ``` | |
| ### Cortecs | |
| 1. 前往 [Cortecs 控制台](https://cortecs.ai/),创建账户并生成 API 密钥。 | |
| 2. 执行 `/connect` 命令并搜索 **Cortecs**。 | |
| ```txt | |
| /connect | |
| ``` | |
| 3. 输入你的 Cortecs API 密钥。 | |
| ```txt | |
| ┌ API key | |
| │ | |
| │ | |
| └ enter | |
| ``` | |
| 4. 执行 `/models` 命令选择模型,例如 _Kimi K2 Instruct_。 | |
| ```txt | |
| /models | |
| ``` | |
| ### DeepSeek | |
| 1. 前往 [DeepSeek 控制台](https://platform.deepseek.com/),创建账户并点击 **Create new API key**。 | |
| 2. 执行 `/connect` 命令并搜索 **DeepSeek**。 | |
| ```txt | |
| /connect | |
| ``` | |
| 3. 输入你的 DeepSeek API 密钥。 | |
| ```txt | |
| ┌ API key | |
| │ | |
| │ | |
| └ enter | |
| ``` | |
| 4. 执行 `/models` 命令选择 DeepSeek 模型,例如 _DeepSeek V4 Pro_。 | |
| ```txt | |
| /models | |
| ``` | |
| ### Deep Infra | |
| 1. 前往 [Deep Infra 仪表盘](https://deepinfra.com/dash),创建账户并生成 API 密钥。 | |
| 2. 执行 `/connect` 命令并搜索 **Deep Infra**。 | |
| ```txt | |
| /connect | |
| ``` | |
| 3. 输入你的 Deep Infra API 密钥。 | |
| ```txt | |
| ┌ API key | |
| │ | |
| │ | |
| └ enter | |
| ``` | |
| 4. 执行 `/models` 命令选择模型。 | |
| ```txt | |
| /models | |
| ``` | |
| ### FrogBot | |
| 1. 前往 [FrogBot 仪表盘](https://app.frogbot.ai/signup),创建账户并生成 API 密钥。 | |
| 2. 执行 `/connect` 命令并搜索 **FrogBot**。 | |
| ```txt | |
| /connect | |
| ``` | |
| 3. 输入你的 FrogBot API 密钥。 | |
| ```txt | |
| ┌ API key | |
| │ | |
| │ | |
| └ enter | |
| ``` | |
| 4. 执行 `/models` 命令选择模型。 | |
| ```txt | |
| /models | |
| ``` | |
| ### Fireworks AI | |
| 1. 前往 [Fireworks AI 控制台](https://app.fireworks.ai/),创建账户并点击 **Create API Key**。 | |
| 2. 执行 `/connect` 命令并搜索 **Fireworks AI**。 | |
| ```txt | |
| /connect | |
| ``` | |
| 3. 输入你的 Fireworks AI API 密钥。 | |
| ```txt | |
| ┌ API key | |
| │ | |
| │ | |
| └ enter | |
| ``` | |
| 4. 执行 `/models` 命令选择模型,例如 _Kimi K2 Instruct_。 | |
| ```txt | |
| /models | |
| ``` | |
| ### GitLab Duo | |
| GitLab Duo 通过 GitLab 的 Anthropic 代理提供具有原生工具调用能力的 AI 驱动的代理聊天。 | |
| 1. 执行 `/connect` 命令并选择 GitLab。 | |
| ```txt | |
| /connect | |
| ``` | |
| 2. 选择你的身份验证方式: | |
| ```txt | |
| ┌ Select auth method | |
| │ | |
| │ OAuth (Recommended) | |
| │ Personal Access Token | |
| └ | |
| ``` | |
| #### 使用 OAuth(推荐) | |
| 选择 **OAuth**,浏览器会自动打开进行授权。 | |
| #### 使用个人访问令牌 | |
| 1. 前往 [GitLab 用户设置 > Access Tokens](https://gitlab.com/-/user_settings/personal_access_tokens) | |
| 2. 点击 **Add new token** | |
| 3. 名称填写 `OpenCode`,范围选择 `api` | |
| 4. 复制令牌(以 `glpat-` 开头) | |
| 5. 在终端中输入该令牌 | |
| 3. 执行 `/models` 命令查看可用模型。 | |
| ```txt | |
| /models | |
| ``` | |
| 提供三个基于 Claude 的模型: | |
| - **duo-chat-haiku-4-5**(默认)- 快速响应,适合简单任务 | |
| - **duo-chat-sonnet-4-5** - 性能均衡,适合大多数工作流 | |
| - **duo-chat-opus-4-5** - 最强大,适合复杂分析 | |
| :::note | |
| 你也可以通过指定 `GITLAB_TOKEN` 环境变量来避免将令牌存储在 OpenCode 的认证存储中。 | |
| ::: | |
| ##### 自托管 GitLab | |
| :::note[合规说明] | |
| OpenCode 会使用一个小模型来执行部分 AI 任务,例如生成会话标题。默认情况下使用由 Zen 托管的 gpt-5-nano。如果你需要让 OpenCode 仅使用你自己的 GitLab 托管实例,请在 `opencode.json` 文件中添加以下内容。同时建议禁用会话共享。 | |
| ```json | |
| { | |
| "$schema": "https://opencode.ai/config.json", | |
| "small_model": "gitlab/duo-chat-haiku-4-5", | |
| "share": "disabled" | |
| } | |
| ``` | |
| ::: | |
| 对于自托管 GitLab 实例: | |
| ```bash | |
| export GITLAB_INSTANCE_URL=https://gitlab.company.com | |
| export GITLAB_TOKEN=glpat-... | |
| ``` | |
| 如果你的实例运行了自定义 AI Gateway: | |
| ```bash | |
| GITLAB_AI_GATEWAY_URL=https://ai-gateway.company.com | |
| ``` | |
| 或者添加到你的 bash 配置文件中: | |
| ```bash title="~/.bash_profile" | |
| export GITLAB_INSTANCE_URL=https://gitlab.company.com | |
| export GITLAB_AI_GATEWAY_URL=https://ai-gateway.company.com | |
| export GITLAB_TOKEN=glpat-... | |
| ``` | |
| :::note | |
| 你的 GitLab 管理员必须启用以下功能: | |
| 1. 为用户、群组或实例启用 [Duo Agent Platform](https://docs.gitlab.com/user/duo_agent_platform/turn_on_off/) | |
| 2. 功能标志(通过 Rails 控制台): | |
| - `agent_platform_claude_code` | |
| - `third_party_agents_enabled` | |
| ::: | |
| ##### 自托管实例的 OAuth | |
| 要在自托管实例上使用 OAuth,你需要创建一个新应用(设置 → 应用),回调 URL 设置为 `http://127.0.0.1:8080/callback`,并选择以下范围: | |
| - api(代表你访问 API) | |
| - read_user(读取你的个人信息) | |
| - read_repository(允许对仓库进行只读访问) | |
| 然后将应用 ID 导出为环境变量: | |
| ```bash | |
| export GITLAB_OAUTH_CLIENT_ID=your_application_id_here | |
| ``` | |
| 更多文档请参阅 [opencode-gitlab-auth](https://www.npmjs.com/package/opencode-gitlab-auth) 主页。 | |
| ##### 配置 | |
| 通过 `opencode.json` 进行自定义配置: | |
| ```json title="opencode.json" | |
| { | |
| "$schema": "https://opencode.ai/config.json", | |
| "provider": { | |
| "gitlab": { | |
| "options": { | |
| "instanceUrl": "https://gitlab.com" | |
| } | |
| } | |
| } | |
| } | |
| ``` | |
| ##### GitLab API 工具(可选,但强烈推荐) | |
| 要访问 GitLab 工具(合并请求、Issue、流水线、CI/CD 等): | |
| ```json title="opencode.json" | |
| { | |
| "$schema": "https://opencode.ai/config.json", | |
| "plugin": ["opencode-gitlab-plugin"] | |
| } | |
| ``` | |
| 该插件提供全面的 GitLab 仓库管理功能,包括 MR 审查、Issue 跟踪、流水线监控等。 | |
| ### GitHub Copilot | |
| 要在 OpenCode 中使用你的 GitHub Copilot 订阅: | |
| :::note | |
| 部分模型可能需要 [Pro+ 订阅](https://github.com/features/copilot/plans)才能使用。 | |
| ::: | |
| 1. 执行 `/connect` 命令并搜索 GitHub Copilot。 | |
| ```txt | |
| /connect | |
| ``` | |
| 2. 前往 [github.com/login/device](https://github.com/login/device) 并输入验证码。 | |
| ```txt | |
| ┌ Login with GitHub Copilot | |
| │ | |
| │ https://github.com/login/device | |
| │ | |
| │ Enter code: 8F43-6FCF | |
| │ | |
| └ Waiting for authorization... | |
| ``` | |
| 3. 现在执行 `/models` 命令选择你想要的模型。 | |
| ```txt | |
| /models | |
| ``` | |
| ### Google Vertex AI | |
| 要在 OpenCode 中使用 Google Vertex AI: | |
| 1. 前往 Google Cloud Console 中的**模型花园**,查看你所在区域可用的模型。 | |
| :::note | |
| 你需要一个启用了 Vertex AI API 的 Google Cloud 项目。 | |
| ::: | |
| 2. 设置所需的环境变量: | |
| - `GOOGLE_CLOUD_PROJECT`:你的 Google Cloud 项目 ID | |
| - `VERTEX_LOCATION`(可选):Vertex AI 的区域(默认为 `global`) | |
| - 身份验证(选择其一): | |
| - `GOOGLE_APPLICATION_CREDENTIALS`:服务账户 JSON 密钥文件的路径 | |
| - 使用 gcloud CLI 进行身份验证:`gcloud auth application-default login` | |
| 在运行 opencode 时设置: | |
| ```bash | |
| GOOGLE_APPLICATION_CREDENTIALS=/path/to/service-account.json GOOGLE_CLOUD_PROJECT=your-project-id opencode | |
| ``` | |
| 或者添加到你的 bash 配置文件中: | |
| ```bash title="~/.bash_profile" | |
| export GOOGLE_APPLICATION_CREDENTIALS=/path/to/service-account.json | |
| export GOOGLE_CLOUD_PROJECT=your-project-id | |
| export VERTEX_LOCATION=global | |
| ``` | |
| :::tip | |
| `global` 区域可以提高可用性并减少错误,且不会产生额外费用。如果有数据驻留需求,请使用区域端点(例如 `us-central1`)。[了解更多](https://cloud.google.com/vertex-ai/generative-ai/docs/partner-models/use-partner-models#regional_and_global_endpoints) | |
| ::: | |
| 3. 执行 `/models` 命令选择你想要的模型。 | |
| ```txt | |
| /models | |
| ``` | |
| ### Groq | |
| 1. 前往 [Groq 控制台](https://console.groq.com/),点击 **Create API Key** 并复制密钥。 | |
| 2. 执行 `/connect` 命令并搜索 Groq。 | |
| ```txt | |
| /connect | |
| ``` | |
| 3. 输入该提供商的 API 密钥。 | |
| ```txt | |
| ┌ API key | |
| │ | |
| │ | |
| └ enter | |
| ``` | |
| 4. 执行 `/models` 命令选择你想要的模型。 | |
| ```txt | |
| /models | |
| ``` | |
| ### Hugging Face | |
| [Hugging Face Inference Providers](https://huggingface.co/docs/inference-providers) 提供对由 17+ 提供商支持的开放模型的访问。 | |
| 1. 前往 [Hugging Face 设置](https://huggingface.co/settings/tokens/new?ownUserPermissions=inference.serverless.write&tokenType=fineGrained),创建一个具有调用 Inference Providers 权限的令牌。 | |
| 2. 执行 `/connect` 命令并搜索 **Hugging Face**。 | |
| ```txt | |
| /connect | |
| ``` | |
| 3. 输入你的 Hugging Face 令牌。 | |
| ```txt | |
| ┌ API key | |
| │ | |
| │ | |
| └ enter | |
| ``` | |
| 4. 执行 `/models` 命令选择模型,例如 _Kimi-K2-Instruct_ 或 _GLM-4.6_。 | |
| ```txt | |
| /models | |
| ``` | |
| ### Helicone | |
| [Helicone](https://helicone.ai) 是一个 LLM 可观测性平台,为你的 AI 应用提供日志记录、监控和分析功能。Helicone AI Gateway 会根据模型自动将请求路由到对应的提供商。 | |
| 1. 前往 [Helicone](https://helicone.ai),创建账户并在仪表盘中生成 API 密钥。 | |
| 2. 执行 `/connect` 命令并搜索 **Helicone**。 | |
| ```txt | |
| /connect | |
| ``` | |
| 3. 输入你的 Helicone API 密钥。 | |
| ```txt | |
| ┌ API key | |
| │ | |
| │ | |
| └ enter | |
| ``` | |
| 4. 执行 `/models` 命令选择模型。 | |
| ```txt | |
| /models | |
| ``` | |
| 如需了解更多提供商以及缓存、速率限制等高级功能,请查阅 [Helicone 文档](https://docs.helicone.ai)。 | |
| #### 可选配置 | |
| 如果 Helicone 的某些功能或模型未通过 OpenCode 自动配置,你随时可以手动配置。 | |
| [Helicone 模型目录](https://helicone.ai/models)中可以找到你需要添加的模型 ID。 | |
| ```jsonc title="~/.config/opencode/opencode.jsonc" | |
| { | |
| "$schema": "https://opencode.ai/config.json", | |
| "provider": { | |
| "helicone": { | |
| "npm": "@ai-sdk/openai-compatible", | |
| "name": "Helicone", | |
| "options": { | |
| "baseURL": "https://ai-gateway.helicone.ai", | |
| }, | |
| "models": { | |
| "gpt-4o": { | |
| // Model ID (from Helicone's model directory page) | |
| "name": "GPT-4o", // Your own custom name for the model | |
| }, | |
| "claude-sonnet-4-20250514": { | |
| "name": "Claude Sonnet 4", | |
| }, | |
| }, | |
| }, | |
| }, | |
| } | |
| ``` | |
| #### 自定义请求头 | |
| Helicone 支持用于缓存、用户跟踪和会话管理等功能的自定义请求头。使用 `options.headers` 将它们添加到提供商配置中: | |
| ```jsonc title="~/.config/opencode/opencode.jsonc" | |
| { | |
| "$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", | |
| }, | |
| }, | |
| }, | |
| }, | |
| } | |
| ``` | |
| ##### 会话跟踪 | |
| Helicone 的 [Sessions](https://docs.helicone.ai/features/sessions) 功能允许你将相关的 LLM 请求归为一组。使用 [opencode-helicone-session](https://github.com/H2Shami/opencode-helicone-session) 插件可以自动将每个 OpenCode 对话记录为 Helicone 中的一个会话。 | |
| ```bash | |
| npm install -g opencode-helicone-session | |
| ``` | |
| 将其添加到配置中。 | |
| ```json title="opencode.json" | |
| { | |
| "plugin": ["opencode-helicone-session"] | |
| } | |
| ``` | |
| 该插件会在你的请求中注入 `Helicone-Session-Id` 和 `Helicone-Session-Name` 请求头。在 Helicone 的 Sessions 页面中,你可以看到每个 OpenCode 对话都作为独立的会话列出。 | |
| ##### 常用 Helicone 请求头 | |
| | 请求头 | 描述 | | |
| | -------------------------- | ------------------------------------------------------ | | |
| | `Helicone-Cache-Enabled` | 启用响应缓存(`true`/`false`) | | |
| | `Helicone-User-Id` | 按用户跟踪指标 | | |
| | `Helicone-Property-[Name]` | 添加自定义属性(例如 `Helicone-Property-Environment`) | | |
| | `Helicone-Prompt-Id` | 将请求与提示词版本关联 | | |
| 有关所有可用请求头,请参阅 [Helicone Header Directory](https://docs.helicone.ai/helicone-headers/header-directory)。 | |
| ### llama.cpp | |
| 你可以通过 [llama.cpp](https://github.com/ggml-org/llama.cpp) 的 llama-server 工具配置 OpenCode 使用本地模型。 | |
| ```json title="opencode.json" "llama.cpp" {5, 6, 8, 10-15} | |
| { | |
| "$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 | |
| } | |
| } | |
| } | |
| } | |
| } | |
| } | |
| ``` | |
| 在这个示例中: | |
| - `llama.cpp` 是自定义的提供商 ID,可以是任意字符串。 | |
| - `npm` 指定该提供商使用的包。这里使用 `@ai-sdk/openai-compatible` 来兼容任何 OpenAI 兼容的 API。 | |
| - `name` 是该提供商在 UI 中显示的名称。 | |
| - `options.baseURL` 是本地服务器的端点地址。 | |
| - `models` 是模型 ID 到其配置的映射。模型名称会显示在模型选择列表中。 | |
| ### IO.NET | |
| IO.NET 提供 17 个针对不同用例优化的模型: | |
| 1. 前往 [IO.NET 控制台](https://ai.io.net/),创建账户并生成 API 密钥。 | |
| 2. 执行 `/connect` 命令并搜索 **IO.NET**。 | |
| ```txt | |
| /connect | |
| ``` | |
| 3. 输入你的 IO.NET API 密钥。 | |
| ```txt | |
| ┌ API key | |
| │ | |
| │ | |
| └ enter | |
| ``` | |
| 4. 执行 `/models` 命令选择模型。 | |
| ```txt | |
| /models | |
| ``` | |
| ### LM Studio | |
| 你可以通过 LM Studio 配置 OpenCode 使用本地模型。 | |
| ```json title="opencode.json" "lmstudio" {5, 6, 8, 10-14} | |
| { | |
| "$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)" | |
| } | |
| } | |
| } | |
| } | |
| } | |
| ``` | |
| 在这个示例中: | |
| - `lmstudio` 是自定义的提供商 ID,可以是任意字符串。 | |
| - `npm` 指定该提供商使用的包。这里使用 `@ai-sdk/openai-compatible` 来兼容任何 OpenAI 兼容的 API。 | |
| - `name` 是该提供商在 UI 中显示的名称。 | |
| - `options.baseURL` 是本地服务器的端点地址。 | |
| - `models` 是模型 ID 到其配置的映射。模型名称会显示在模型选择列表中。 | |
| ### Moonshot AI | |
| 要使用 Moonshot AI 的 Kimi K2: | |
| 1. 前往 [Moonshot AI 控制台](https://platform.moonshot.ai/console),创建账户并点击 **Create API key**。 | |
| 2. 执行 `/connect` 命令并搜索 **Moonshot AI**。 | |
| ```txt | |
| /connect | |
| ``` | |
| 3. 输入你的 Moonshot API 密钥。 | |
| ```txt | |
| ┌ API key | |
| │ | |
| │ | |
| └ enter | |
| ``` | |
| 4. 执行 `/models` 命令选择 _Kimi K2_。 | |
| ```txt | |
| /models | |
| ``` | |
| ### MiniMax | |
| 1. 前往 [MiniMax API 控制台](https://platform.minimax.io/login),创建账户并生成 API 密钥。 | |
| 2. 执行 `/connect` 命令并搜索 **MiniMax**。 | |
| ```txt | |
| /connect | |
| ``` | |
| 3. 输入你的 MiniMax API 密钥。 | |
| ```txt | |
| ┌ API key | |
| │ | |
| │ | |
| └ enter | |
| ``` | |
| 4. 执行 `/models` 命令选择模型,例如 _M2.1_。 | |
| ```txt | |
| /models | |
| ``` | |
| ### Nebius Token Factory | |
| 1. 前往 [Nebius Token Factory 控制台](https://tokenfactory.nebius.com/),创建账户并点击 **Add Key**。 | |
| 2. 执行 `/connect` 命令并搜索 **Nebius Token Factory**。 | |
| ```txt | |
| /connect | |
| ``` | |
| 3. 输入你的 Nebius Token Factory API 密钥。 | |
| ```txt | |
| ┌ API key | |
| │ | |
| │ | |
| └ enter | |
| ``` | |
| 4. 执行 `/models` 命令选择模型,例如 _Kimi K2 Instruct_。 | |
| ```txt | |
| /models | |
| ``` | |
| ### Ollama | |
| 你可以通过 Ollama 配置 OpenCode 使用本地模型。 | |
| :::tip | |
| Ollama 可以自动为 OpenCode 进行配置。详见 [Ollama 集成文档](https://docs.ollama.com/integrations/opencode)。 | |
| ::: | |
| ```json title="opencode.json" "ollama" {5, 6, 8, 10-14} | |
| { | |
| "$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" | |
| } | |
| } | |
| } | |
| } | |
| } | |
| ``` | |
| 在这个示例中: | |
| - `ollama` 是自定义的提供商 ID,可以是任意字符串。 | |
| - `npm` 指定该提供商使用的包。这里使用 `@ai-sdk/openai-compatible` 来兼容任何 OpenAI 兼容的 API。 | |
| - `name` 是该提供商在 UI 中显示的名称。 | |
| - `options.baseURL` 是本地服务器的端点地址。 | |
| - `models` 是模型 ID 到其配置的映射。模型名称会显示在模型选择列表中。 | |
| :::tip | |
| 如果工具调用不工作,请尝试增大 Ollama 中的 `num_ctx` 值。建议从 16k - 32k 左右开始。 | |
| ::: | |
| ### Ollama Cloud | |
| 要在 OpenCode 中使用 Ollama Cloud: | |
| 1. 前往 [https://ollama.com/](https://ollama.com/) 登录或创建账户。 | |
| 2. 导航到 **Settings** > **Keys**,点击 **Add API Key** 生成新的 API 密钥。 | |
| 3. 复制 API 密钥以便在 OpenCode 中使用。 | |
| 4. 执行 `/connect` 命令并搜索 **Ollama Cloud**。 | |
| ```txt | |
| /connect | |
| ``` | |
| 5. 输入你的 Ollama Cloud API 密钥。 | |
| ```txt | |
| ┌ API key | |
| │ | |
| │ | |
| └ enter | |
| ``` | |
| 6. **重要**:在 OpenCode 中使用云端模型之前,必须先将模型信息拉取到本地: | |
| ```bash | |
| ollama pull gpt-oss:20b-cloud | |
| ``` | |
| 7. 执行 `/models` 命令选择你的 Ollama Cloud 模型。 | |
| ```txt | |
| /models | |
| ``` | |
| ### OpenAI | |
| 我们建议注册 [ChatGPT Plus 或 Pro](https://chatgpt.com/pricing)。 | |
| 1. 注册完成后,执行 `/connect` 命令并选择 OpenAI。 | |
| ```txt | |
| /connect | |
| ``` | |
| 2. 你可以选择 **ChatGPT Plus/Pro** 选项,浏览器会自动打开并要求你进行身份验证。 | |
| ```txt | |
| ┌ Select auth method | |
| │ | |
| │ ChatGPT Plus/Pro | |
| │ Manually enter API Key | |
| └ | |
| ``` | |
| 3. 现在使用 `/models` 命令即可看到所有 OpenAI 模型。 | |
| ```txt | |
| /models | |
| ``` | |
| ##### 使用 API 密钥 | |
| 如果你已经有 API 密钥,可以选择 **Manually enter API Key** 并将其粘贴到终端中。 | |
| ### OpenCode Zen | |
| OpenCode Zen 是由 OpenCode 团队提供的经过测试和验证的模型列表。[了解更多](/docs/zen)。 | |
| 1. 登录 **<a href={console}>OpenCode Zen</a>** 并点击 **Create API Key**。 | |
| 2. 执行 `/connect` 命令并搜索 **OpenCode Zen**。 | |
| ```txt | |
| /connect | |
| ``` | |
| 3. 输入你的 OpenCode API 密钥。 | |
| ```txt | |
| ┌ API key | |
| │ | |
| │ | |
| └ enter | |
| ``` | |
| 4. 执行 `/models` 命令选择模型,例如 _Qwen 3 Coder 480B_。 | |
| ```txt | |
| /models | |
| ``` | |
| ### OpenRouter | |
| 1. 前往 [OpenRouter 仪表盘](https://openrouter.ai/settings/keys),点击 **Create API Key** 并复制密钥。 | |
| 2. 执行 `/connect` 命令并搜索 OpenRouter。 | |
| ```txt | |
| /connect | |
| ``` | |
| 3. 输入该提供商的 API 密钥。 | |
| ```txt | |
| ┌ API key | |
| │ | |
| │ | |
| └ enter | |
| ``` | |
| 4. 默认已预加载了许多 OpenRouter 模型,执行 `/models` 命令选择你想要的模型。 | |
| ```txt | |
| /models | |
| ``` | |
| 你也可以通过 OpenCode 配置添加更多模型。 | |
| ```json title="opencode.json" {6} | |
| { | |
| "$schema": "https://opencode.ai/config.json", | |
| "provider": { | |
| "openrouter": { | |
| "models": { | |
| "somecoolnewmodel": {} | |
| } | |
| } | |
| } | |
| } | |
| ``` | |
| 5. 你还可以通过 OpenCode 配置自定义模型。以下是指定提供商的示例: | |
| ```json title="opencode.json" | |
| { | |
| "$schema": "https://opencode.ai/config.json", | |
| "provider": { | |
| "openrouter": { | |
| "models": { | |
| "moonshotai/kimi-k2": { | |
| "options": { | |
| "provider": { | |
| "order": ["baseten"], | |
| "allow_fallbacks": false | |
| } | |
| } | |
| } | |
| } | |
| } | |
| } | |
| } | |
| ``` | |
| ### SAP AI Core | |
| SAP AI Core 通过统一平台提供对来自 OpenAI、Anthropic、Google、Amazon、Meta、Mistral 和 AI21 的 40+ 模型的访问。 | |
| 1. 前往 [SAP BTP Cockpit](https://account.hana.ondemand.com/),导航到你的 SAP AI Core 服务实例,并创建服务密钥。 | |
| :::tip | |
| 服务密钥是一个包含 `clientid`、`clientsecret`、`url` 和 `serviceurls.AI_API_URL` 的 JSON 对象。你可以在 BTP Cockpit 的 **Services** > **Instances and Subscriptions** 下找到你的 AI Core 实例。 | |
| ::: | |
| 2. 执行 `/connect` 命令并搜索 **SAP AI Core**。 | |
| ```txt | |
| /connect | |
| ``` | |
| 3. 输入你的服务密钥 JSON。 | |
| ```txt | |
| ┌ Service key | |
| │ | |
| │ | |
| └ enter | |
| ``` | |
| 或者设置 `AICORE_SERVICE_KEY` 环境变量: | |
| ```bash | |
| AICORE_SERVICE_KEY='{"clientid":"...","clientsecret":"...","url":"...","serviceurls":{"AI_API_URL":"..."}}' opencode | |
| ``` | |
| 或者添加到你的 bash 配置文件中: | |
| ```bash title="~/.bash_profile" | |
| export AICORE_SERVICE_KEY='{"clientid":"...","clientsecret":"...","url":"...","serviceurls":{"AI_API_URL":"..."}}' | |
| ``` | |
| 4. 可选:设置部署 ID 和资源组: | |
| ```bash | |
| AICORE_DEPLOYMENT_ID=your-deployment-id AICORE_RESOURCE_GROUP=your-resource-group opencode | |
| ``` | |
| :::note | |
| 这些设置是可选的,应根据你的 SAP AI Core 配置进行设置。 | |
| ::: | |
| 5. 执行 `/models` 命令从 40+ 个可用模型中进行选择。 | |
| ```txt | |
| /models | |
| ``` | |
| ### STACKIT | |
| STACKIT AI Model Serving 提供完全托管的主权托管环境,专注于 Llama、Mistral 和 Qwen 等大语言模型,在欧洲基础设施上实现最大程度的数据主权。 | |
| 1. 前往 [STACKIT Portal](https://portal.stackit.cloud),导航到 **AI Model Serving**,为你的项目创建认证令牌。 | |
| :::tip | |
| 你需要先拥有 STACKIT 客户账户、用户账户和项目,才能创建认证令牌。 | |
| ::: | |
| 2. 执行 `/connect` 命令并搜索 **STACKIT**。 | |
| ```txt | |
| /connect | |
| ``` | |
| 3. 输入你的 STACKIT AI Model Serving 认证令牌。 | |
| ```txt | |
| ┌ API key | |
| │ | |
| │ | |
| └ enter | |
| ``` | |
| 4. 执行 `/models` 命令选择模型,例如 _Qwen3-VL 235B_ 或 _Llama 3.3 70B_。 | |
| ```txt | |
| /models | |
| ``` | |
| ### OVHcloud AI Endpoints | |
| 1. 前往 [OVHcloud 管理面板](https://ovh.com/manager)。导航到 `Public Cloud` 部分,`AI & Machine Learning` > `AI Endpoints`,在 `API Keys` 标签页中点击 **Create a new API key**。 | |
| 2. 执行 `/connect` 命令并搜索 **OVHcloud AI Endpoints**。 | |
| ```txt | |
| /connect | |
| ``` | |
| 3. 输入你的 OVHcloud AI Endpoints API 密钥。 | |
| ```txt | |
| ┌ API key | |
| │ | |
| │ | |
| └ enter | |
| ``` | |
| 4. 执行 `/models` 命令选择模型,例如 _gpt-oss-120b_。 | |
| ```txt | |
| /models | |
| ``` | |
| ### Scaleway | |
| 要在 OpenCode 中使用 [Scaleway Generative APIs](https://www.scaleway.com/en/docs/generative-apis/): | |
| 1. 前往 [Scaleway Console IAM 设置](https://console.scaleway.com/iam/api-keys)生成新的 API 密钥。 | |
| 2. 执行 `/connect` 命令并搜索 **Scaleway**。 | |
| ```txt | |
| /connect | |
| ``` | |
| 3. 输入你的 Scaleway API 密钥。 | |
| ```txt | |
| ┌ API key | |
| │ | |
| │ | |
| └ enter | |
| ``` | |
| 4. 执行 `/models` 命令选择模型,例如 _devstral-2-123b-instruct-2512_ 或 _gpt-oss-120b_。 | |
| ```txt | |
| /models | |
| ``` | |
| ### Together AI | |
| 1. 前往 [Together AI 控制台](https://api.together.ai),创建账户并点击 **Add Key**。 | |
| 2. 执行 `/connect` 命令并搜索 **Together AI**。 | |
| ```txt | |
| /connect | |
| ``` | |
| 3. 输入你的 Together AI API 密钥。 | |
| ```txt | |
| ┌ API key | |
| │ | |
| │ | |
| └ enter | |
| ``` | |
| 4. 执行 `/models` 命令选择模型,例如 _Kimi K2 Instruct_。 | |
| ```txt | |
| /models | |
| ``` | |
| ### Venice AI | |
| 1. 前往 [Venice AI 控制台](https://venice.ai),创建账户并生成 API 密钥。 | |
| 2. 执行 `/connect` 命令并搜索 **Venice AI**。 | |
| ```txt | |
| /connect | |
| ``` | |
| 3. 输入你的 Venice AI API 密钥。 | |
| ```txt | |
| ┌ API key | |
| │ | |
| │ | |
| └ enter | |
| ``` | |
| 4. 执行 `/models` 命令选择模型,例如 _Llama 3.3 70B_。 | |
| ```txt | |
| /models | |
| ``` | |
| ### Vercel AI Gateway | |
| Vercel AI Gateway 允许你通过统一端点访问来自 OpenAI、Anthropic、Google、xAI 等提供商的模型。模型按原价提供,不额外加价。 | |
| 1. 前往 [Vercel 仪表盘](https://vercel.com/),导航到 **AI Gateway** 标签页,点击 **API keys** 创建新的 API 密钥。 | |
| 2. 执行 `/connect` 命令并搜索 **Vercel AI Gateway**。 | |
| ```txt | |
| /connect | |
| ``` | |
| 3. 输入你的 Vercel AI Gateway API 密钥。 | |
| ```txt | |
| ┌ API key | |
| │ | |
| │ | |
| └ enter | |
| ``` | |
| 4. 执行 `/models` 命令选择模型。 | |
| ```txt | |
| /models | |
| ``` | |
| 你也可以通过 OpenCode 配置自定义模型。以下是指定提供商路由顺序的示例。 | |
| ```json title="opencode.json" | |
| { | |
| "$schema": "https://opencode.ai/config.json", | |
| "provider": { | |
| "vercel": { | |
| "models": { | |
| "anthropic/claude-sonnet-4": { | |
| "options": { | |
| "order": ["anthropic", "vertex"] | |
| } | |
| } | |
| } | |
| } | |
| } | |
| } | |
| ``` | |
| 一些常用的路由选项: | |
| | 选项 | 描述 | | |
| | ------------------- | -------------------------------- | | |
| | `order` | 提供商尝试顺序 | | |
| | `only` | 限制为特定提供商 | | |
| | `zeroDataRetention` | 仅使用具有零数据留存策略的提供商 | | |
| ### xAI | |
| 1. 前往 [xAI 控制台](https://console.x.ai/),创建账户并生成 API 密钥。 | |
| 2. 执行 `/connect` 命令并搜索 **xAI**。 | |
| ```txt | |
| /connect | |
| ``` | |
| 3. 输入你的 xAI API 密钥。 | |
| ```txt | |
| ┌ API key | |
| │ | |
| │ | |
| └ enter | |
| ``` | |
| 4. 执行 `/models` 命令选择模型,例如 _Grok Beta_。 | |
| ```txt | |
| /models | |
| ``` | |
| ### Z.AI | |
| 1. 前往 [Z.AI API 控制台](https://z.ai/manage-apikey/apikey-list),创建账户并点击 **Create a new API key**。 | |
| 2. 执行 `/connect` 命令并搜索 **Z.AI**。 | |
| ```txt | |
| /connect | |
| ``` | |
| 如果你订阅了 **GLM Coding Plan**,请选择 **Z.AI Coding Plan**。 | |
| 3. 输入你的 Z.AI API 密钥。 | |
| ```txt | |
| ┌ API key | |
| │ | |
| │ | |
| └ enter | |
| ``` | |
| 4. 执行 `/models` 命令选择模型,例如 _GLM-4.7_。 | |
| ```txt | |
| /models | |
| ``` | |
| ### ZenMux | |
| 1. 前往 [ZenMux 仪表盘](https://zenmux.ai/settings/keys),点击 **Create API Key** 并复制密钥。 | |
| 2. 执行 `/connect` 命令并搜索 ZenMux。 | |
| ```txt | |
| /connect | |
| ``` | |
| 3. 输入该提供商的 API 密钥。 | |
| ```txt | |
| ┌ API key | |
| │ | |
| │ | |
| └ enter | |
| ``` | |
| 4. 默认已预加载了许多 ZenMux 模型,执行 `/models` 命令选择你想要的模型。 | |
| ```txt | |
| /models | |
| ``` | |
| 你也可以通过 OpenCode 配置添加更多模型。 | |
| ```json title="opencode.json" {6} | |
| { | |
| "$schema": "https://opencode.ai/config.json", | |
| "provider": { | |
| "zenmux": { | |
| "models": { | |
| "somecoolnewmodel": {} | |
| } | |
| } | |
| } | |
| } | |
| ``` | |
| ## 自定义提供商 | |
| 要添加 `/connect` 命令中未列出的任何 **OpenAI 兼容**提供商: | |
| :::tip | |
| 你可以在 OpenCode 中使用任何 OpenAI 兼容的提供商。大多数现代 AI 提供商都提供 OpenAI 兼容的 API。 | |
| ::: | |
| 1. 执行 `/connect` 命令,向下滚动到 **Other**。 | |
| ```bash | |
| $ /connect | |
| ┌ Add credential | |
| │ | |
| ◆ Select provider | |
| │ ... | |
| │ ● Other | |
| └ | |
| ``` | |
| 2. 输入该提供商的唯一 ID。 | |
| ```bash | |
| $ /connect | |
| ┌ Add credential | |
| │ | |
| ◇ Enter provider id | |
| │ myprovider | |
| └ | |
| ``` | |
| :::note | |
| 请选择一个容易记住的 ID,你将在配置文件中使用它。 | |
| ::: | |
| 3. 输入该提供商的 API 密钥。 | |
| ```bash | |
| $ /connect | |
| ┌ Add credential | |
| │ | |
| ▲ This only stores a credential for myprovider - you will need to configure it in opencode.json, check the docs for examples. | |
| │ | |
| ◇ Enter your API key | |
| │ sk-... | |
| └ | |
| ``` | |
| 4. 在项目目录中创建或更新 `opencode.json` 文件: | |
| ```json title="opencode.json" ""myprovider"" {5-15} | |
| { | |
| "$schema": "https://opencode.ai/config.json", | |
| "provider": { | |
| "myprovider": { | |
| "npm": "@ai-sdk/openai-compatible", | |
| "name": "My AI ProviderDisplay Name", | |
| "options": { | |
| "baseURL": "https://api.myprovider.com/v1" | |
| }, | |
| "models": { | |
| "my-model-name": { | |
| "name": "My Model Display Name" | |
| } | |
| } | |
| } | |
| } | |
| } | |
| ``` | |
| 以下是配置选项说明: | |
| - **npm**:要使用的 AI SDK 包,对于 OpenAI 兼容的提供商使用 `@ai-sdk/openai-compatible`(适用于 `/v1/chat/completions`)。如果你的提供商/模型走 `/v1/responses`,请使用 `@ai-sdk/openai`。 | |
| - **name**:在 UI 中显示的名称。 | |
| - **models**:可用模型。 | |
| - **options.baseURL**:API 端点 URL。 | |
| - **options.apiKey**:可选,如果不使用 auth 认证,可直接设置 API 密钥。 | |
| - **options.headers**:可选,设置自定义请求头。 | |
| 更多高级选项请参见下面的示例。 | |
| 5. 执行 `/models` 命令,你自定义的提供商和模型将出现在选择列表中。 | |
| ##### 示例 | |
| 以下是设置 `apiKey`、`headers` 和模型 `limit` 选项的示例。 | |
| ```json title="opencode.json" {9,11,17-20} | |
| { | |
| "$schema": "https://opencode.ai/config.json", | |
| "provider": { | |
| "myprovider": { | |
| "npm": "@ai-sdk/openai-compatible", | |
| "name": "My AI ProviderDisplay Name", | |
| "options": { | |
| "baseURL": "https://api.myprovider.com/v1", | |
| "apiKey": "{env:ANTHROPIC_API_KEY}", | |
| "headers": { | |
| "Authorization": "Bearer custom-token" | |
| } | |
| }, | |
| "models": { | |
| "my-model-name": { | |
| "name": "My Model Display Name", | |
| "limit": { | |
| "context": 200000, | |
| "output": 65536 | |
| } | |
| } | |
| } | |
| } | |
| } | |
| } | |
| ``` | |
| 配置详情: | |
| - **apiKey**:使用 `env` 变量语法设置,[了解更多](/docs/config#env-vars)。 | |
| - **headers**:随每个请求发送的自定义请求头。 | |
| - **limit.context**:模型接受的最大输入 Token 数。 | |
| - **limit.output**:模型可生成的最大 Token 数。 | |
| `limit` 字段让 OpenCode 了解你还剩余多少上下文空间。标准提供商会自动从 models.dev 拉取这些信息。 | |
| ## 故障排除 | |
| 如果你在配置提供商时遇到问题,请检查以下几点: | |
| 1. **检查认证设置**:运行 `opencode auth list` 查看该提供商的凭据是否已添加到配置中。 | |
| 这不适用于 Amazon Bedrock 等依赖环境变量进行认证的提供商。 | |
| 2. 对于自定义提供商,请检查 OpenCode 配置并确认: | |
| - `/connect` 命令中使用的提供商 ID 与 OpenCode 配置中的 ID 一致。 | |
| - 使用了正确的 npm 包。例如,Cerebras 应使用 `@ai-sdk/cerebras`。对于其他所有 OpenAI 兼容的提供商,使用 `@ai-sdk/openai-compatible`(`/v1/chat/completions`);如果模型走 `/v1/responses`,请使用 `@ai-sdk/openai`。同一 provider 混用时,可在模型下设置 `provider.npm` 覆盖默认值。 | |
| - `options.baseURL` 字段中的 API 端点地址正确。 | |
Xet Storage Details
- Size:
- 44.6 kB
- Xet hash:
- da784a2827e64788c5fc27eb5ec5fba0c4d5481f2c1883384f15da8150329aec
·
Xet efficiently stores files, intelligently splitting them into unique chunks and accelerating uploads and downloads. More info.