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 金鑰。