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 ID | coffeerouter |
| API Key | sk-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 限制。