OpenCode

OpenCode 是在終端機裡執行的開源程式開發 agent。只要一行指令就能把它登入 Synthorai:OpenCode 會取得一把專屬的 API 金鑰,以及名為 Synthorai 的 provider,裡面列出這把金鑰可以呼叫的模型。不必複製金鑰,也不必修改設定檔。

第 1 步 — 登入

opencode auth login https://synthorai.io

OpenCode 會讀取 https://synthorai.io/.well-known/opencode,並執行其中指定的登入指令。這個指令會印出一個連結和 8 個字母的驗證碼(例如 BCDF-GHJK),接著開啟瀏覽器。

在瀏覽器登入控制台,確認頁面上的驗證碼和終端機顯示的相同,選擇金鑰有效期限(7、30 或 90 天,預設 90 天),再按允許。終端機會印出 Signed in,OpenCode 會保存這把新金鑰。

ℹ

登入指令需要 sh 與 curl,可在 macOS、Linux、WSL 與 Git Bash 上執行。原生 Windows 環境請改用 API 金鑰手動設定。

透過 SSH 執行時,指令不會開啟瀏覽器,請在另一台裝置上開啟連結並登入。若想在本機也這樣做,請設定 SYNTHORAI_NO_BROWSER=1。

第 2 步 — 選擇模型

opencode
# then, inside OpenCode:
/models

啟動 OpenCode 後輸入 /models。Synthorai provider 會列出你的金鑰可以呼叫的模型,並附上上下文上限與價格。每次啟動 OpenCode,這份清單都會重新整理。

每個模型使用哪種協定會自動決定,不需要設定:Claude 模型走 Anthropic Messages API(提示快取照常生效),OpenAI 模型走 Responses API,其他模型走 Chat Completions。

OpenCode 使用的金鑰

這把金鑰會出現在控制台的 API 金鑰頁面,名稱為 OpenCode · …,後面接著你登入時的所在位置,並標示為 Agent 登入。你隨時可以在那裡刪除它。

金鑰到期後,呼叫會失敗,並提示你重新執行 opencode auth login https://synthorai.io。

安全性

  • 只核准你自己發起的驗證碼。如果登入請求和你的瀏覽器來自不同網路,確認頁面會提出警告。
  • 如果工作空間開啟了新 IP 須核准(設定 › 安全性),在同一個網路裡確認登入時,你登入時所用的位址會自動成為這把新金鑰的可信位址,來自其他位址的呼叫要等核准後才會放行。如果是在另一個網路裡確認的,這個位址不會被信任:它的第一次呼叫被攔截後,再去核准即可。如果還沒開啟,建議打開。

本機設定優先

如果本機的 opencode.json 定義了名為 synthorai 的 provider,OpenCode 會改用它,而不是閘道提供的那一個:本機設定優先於遠端設定。

手動設定(沒有 sh 的 Windows)

在控制台的 API 金鑰頁面建立一把金鑰,設為環境變數 SYNTHORAI_API_KEY,再把下面的 provider 加進 opencode.json:

{
  "$schema": "https://opencode.ai/config.json",
  "provider": {
    "synthorai": {
      "npm": "@ai-sdk/openai-compatible",
      "name": "Synthorai",
      "options": {
        "baseURL": "https://synthorai.io/v1",
        "apiKey": "{env:SYNTHORAI_API_KEY}"
      },
      "models": {
        "claude-sonnet-5-5": { "name": "Claude Sonnet 5.5" }
      }
    }
  }
}

在 models 底下列出你想在 OpenCode 裡選用的模型,模型 ID 可在模型頁面查到。

疑難排解

Failed to load auth provider metadata 檢查位址:應為 https://synthorai.io,後面不加任何路徑。

Sign-in did not complete: the login was declined in the console 這次請求在確認頁面上被拒絕了。重新執行指令,從頭再來一次即可。

驗證碼已過期 驗證碼的有效時間是 10 分鐘。重新執行 opencode auth login https://synthorai.io 即可取得新的驗證碼。

金鑰的額度、有效期限與刪除方式,請見 API 金鑰。