OpenCode 設定

快速開始 / OpenCode 設定

OpenCode 設定

OpenCode 是一款開源的終端機程式碼代理。它能與任何 OpenAI 相容的端點通訊,因此只需要一組 CodeByAI API Key——你只要把本站宣告為自訂供應商,再挑選其中一個模型即可。

1. 安裝 OpenCode

macOS 或 Linux:

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

若偏好使用 npm:

1
npm install -g opencode-ai

在 Windows 上建議使用 WSL;原生安裝也可透過 npm install -g opencode-ai 完成。

2. 建立設定檔

OpenCode 會從 ~/.config/opencode/(全域)或專案根目錄讀取 opencode.json。全域設定在所有地方都生效,因此建議先從這裡開始:

  • macOS / Linux:~/.config/opencode/opencode.json
  • Windows:C:\Users\YourUserName\.config\opencode\opencode.json

建立該檔案並填入以下內容:

1
{
2
  "$schema": "https://opencode.ai/config.json",
3
  "model": "codebyai/gpt-5.6-terra",
4
  "small_model": "codebyai/gpt-5.6-terra",
5
  "provider": {
6
    "codebyai": {
7
      "npm": "@ai-sdk/openai-compatible",
8
      "name": "CodeByAI",
9
      "options": {
10
        "baseURL": "https://www.codebyai.net/api/agent",
11
        "apiKey": "{env:CODEBYAI_API_KEY}"
12
      },
13
      "models": {
14
        "gpt-5.6-terra": {
15
          "name": "GPT-5.6 Terra",
16
          "limit": { "context": 200000, "output": 65536 }
17
        }
18
      }
19
    }
20
  }
21
}

幾點值得留意的細節:

  • npm 決定傳輸協定。@ai-sdk/openai-compatible 表示 OpenCode 會呼叫 /chat/completions。
  • baseURL 只到 /api/agent 為止。請勿在後面加上 /v1:閘道會把該路徑之後的所有內容轉發給上游供應商,而 /api/agent/v1/chat/completions 會回傳 404 page not found。
  • models 底下的鍵就是 OpenCode 實際送出的模型 ID。可加入 模型廣場 中的任何模型,例如 gpt-6-astra。
  • small_model 是刻意明確指定的。否則 OpenCode 會在同一個供應商中尋找更便宜的模型,找不到時就改用你的主模型;明確指定可避免產生標題時出錯。

3. 提供 API Key

先匯出上方 apiKey 所使用的變數(請先到 API Keys 頁面建立金鑰):

1
export CODEBYAI_API_KEY="sk-proj-xxxx"

把該行加入 ~/.zshrc 或 ~/.bashrc,這樣每個新開的終端機都會繼承。若不想使用環境變數,也可執行一次 opencode auth login 並在提示中貼上金鑰——省略 apiKey 時就會使用已儲存的憑證。

4. 啟動 OpenCode

1
cd your-project
2
opencode --model codebyai/gpt-5.6-terra

若只想問一個問題、不進入互動介面:

1
opencode run -m codebyai/gpt-5.6-terra "summarise the structure of this repository"

在介面中,可用 /models 切換你在設定檔裡宣告的模型。

5. 疑難排解

  • 回應中出現 404 page not found:baseURL 結尾多了 /v1,請移除。
  • 回應開頭是 Hello! How can I help you with your software engineering tasks today?(HTTP 403):閘道沒有收到任何 API 金鑰,代表啟動 OpenCode 的終端機中 CODEBYAI_API_KEY 為空。另一種 403 的訊息是 Invalid key!,表示金鑰已被刪除或輸入錯誤。
  • 額度不足:請在 錢包 頁面儲值。
  • Claude 系列模型由本指南 Claude Code 頁面所設定的 Anthropic 相容端點提供;本頁說明的是 OpenAI 相容路線。