mirror of
https://github.com/anomalyco/opencode.git
synced 2026-04-24 23:04:55 +00:00
1933 lines
43 KiB
Plaintext
1933 lines
43 KiB
Plaintext
---
|
||
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 Zen`,然後前往 [opencode.ai/auth](https://opencode.ai/zen)。
|
||
|
||
```txt
|
||
/connect
|
||
```
|
||
|
||
2. 登入後新增帳單資訊,然後複製您的 API 金鑰。
|
||
|
||
3. 貼上您的 API 金鑰。
|
||
|
||
```txt
|
||
┌ API key
|
||
│
|
||
│
|
||
└ enter
|
||
```
|
||
|
||
4. 在 TUI 中執行 `/models` 查看我們推薦的模型列表。
|
||
|
||
```txt
|
||
/models
|
||
```
|
||
|
||
它的使用方式與 OpenCode 中的其他提供商完全相同,且完全可選。
|
||
|
||
---
|
||
|
||
## OpenCode Go
|
||
|
||
OpenCode Go 是一個低成本的訂閱計畫,提供對 OpenCode 團隊提供的流行開放編碼模型的可靠存取,這些模型已經過測試和驗證,能夠與 OpenCode 良好配合使用。
|
||
|
||
1. 在 TUI 中執行 `/connect` 指令,選擇 `OpenCode Go`,然後前往 [opencode.ai/auth](https://opencode.ai/zen)。
|
||
|
||
```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** 並將其貼上到終端機中。
|
||
|
||
---
|
||
|
||
### 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 Reasoner_。
|
||
|
||
```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
|
||
```
|
||
|
||
---
|
||
|
||
### Firmware
|
||
|
||
1. 前往 [Firmware 儀表板](https://app.firmware.ai/signup),建立帳號並產生 API 金鑰。
|
||
|
||
2. 執行 `/connect` 指令並搜尋 **Firmware**。
|
||
|
||
```txt
|
||
/connect
|
||
```
|
||
|
||
3. 輸入您的 Firmware 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`
|
||
- **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`。
|
||
- `options.baseURL` 欄位中的 API 端點位址正確。
|