OpenCode

透過憑證儲存與 OpenAI 相容自訂 Provider,將 OpenCode 接入 CoffeeRouter。

接入前準備

  • 在 CoffeeRouter 控制台建立可用令牌,並記錄令牌允許使用的模型 ID。
  • 本頁使用 OpenAI Chat Completions 格式,基礎地址為 https://www.coffeerouter.ai/v1
  • Windows 使用者可以使用 npm、Chocolatey 或 Scoop 安裝;OpenCode 官方更建議在 WSL 中使用。

設定步驟

1. 安裝 OpenCode

macOS 或 Linux 可以使用官方安裝腳本:

curl -fsSL https://opencode.ai/install | bash

也可以透過 npm、Bun 或 pnpm 安裝:

npm install -g opencode-ai
bun install -g opencode-ai
pnpm install -g opencode-ai

安裝完成後執行 opencode 進入終端介面。

2. 儲存 CoffeeRouter 憑證

在 OpenCode 中輸入:

/connect

捲動到服務商清單底部並選擇 Other,然後依序填寫:

設定項填寫內容
Provider IDcoffeerouter
API Keysk-your-api-key

Provider ID 必須與下一步 opencode.json 中的鍵完全一致。/connect 只負責將憑證儲存到 ~/.local/share/opencode/auth.json,不會自動設定 CoffeeRouter 地址或模型。

3. 設定 CoffeeRouter 服務商

如果希望所有專案都能使用,在 ~/.config/opencode/opencode.json 中新增設定;如果只想在目前專案使用,則在專案根目錄建立 opencode.json。專案設定的優先級高於全域設定。

{
    "$schema": "https://opencode.ai/config.json",
    "provider": {
        "coffeerouter": {
            "npm": "@ai-sdk/openai-compatible",
            "name": "CoffeeRouter",
            "options": {
                "baseURL": "https://www.coffeerouter.ai/v1"
            },
            "models": {
                "your-model-id": {
                    "name": "Your Model"
                }
            }
        }
    }
}

your-model-id 替換為 CoffeeRouter 中顯示的完整模型 ID。@ai-sdk/openai-compatible 使用 /v1/chat/completions;如果某個模型明確要求 /v1/responses,應改用 @ai-sdk/openai,請勿混用兩種 API 格式。

4. 選擇 CoffeeRouter 模型

重新啟動 OpenCode,在終端介面輸入:

/models

選擇 CoffeeRouter 下的 your-model-id。服務商 ID、憑證 ID 和設定中的 coffeerouter 必須保持一致。

驗證接入

先檢查憑證是否已儲存:

opencode auth list

確認清單中存在 coffeerouter 後,啟動 OpenCode、選擇 CoffeeRouter 模型並傳送一則測試請求。若模型能正常讀取專案上下文並回覆,即表示接入成功。

常見問題

為什麼完成 /connect 後仍看不到 CoffeeRouter?

/connect 只儲存憑證。還必須在全域或專案 opencode.json 中新增 provider.coffeerouter、基礎地址和模型清單,然後重新啟動 OpenCode。

為什麼提示找不到憑證?

檢查 /connect 時輸入的 Provider ID 是否與設定中的 coffeerouter 完全一致,並執行 opencode auth list 確認憑證已經儲存。

為什麼 Base URL 要帶 /v1?

@ai-sdk/openai-compatible 需要 OpenAI Compatible 基礎地址,並在其下呼叫 Chat Completions。CoffeeRouter 對應地址是 https://www.coffeerouter.ai/v1

為什麼模型沒有出現在 /models 中?

檢查 models 物件中的模型 ID、JSON 語法和設定檔位置。模型 ID 必須與 CoffeeRouter 令牌可用模型清單完全一致。

安全提示

請優先使用 /connect 儲存憑證,不要手動把真實令牌寫入可能提交的專案設定。請勿分享 auth.json、設定截圖或日誌;建議為 OpenCode 建立獨立令牌,並設定模型、額度和 IP 限制。

官方資料