--- 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. 登入 **OpenCode Zen** 並點擊 **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 端點位址正確。