OAuth
OpenClaw 透過 OAuth 支援「訂閱驗證」(subscription auth),適用於提供此功能的提供者(尤其是 OpenAI Codex(ChatGPT OAuth))。對於 Anthropic 訂閱,請使用 setup-token 流程。本頁說明: 對於 Anthropic 訂閱,請使用 setup-token 流程。 本頁說明:- OAuth 權杖交換 如何運作(PKCE)
- 權杖(token)儲存的位置(以及原因)
- 如何處理多個帳號(設定檔 + 每個工作階段的覆寫)
權杖接收端(為何存在)
OAuth 提供者通常會在登入/重新整理流程中鑄造一個新的重新整理權杖。 某些提供者(或 OAuth 用戶端)在為相同使用者/應用程式發行新權杖時,可能會使較舊的重新整理權杖失效。 實際症狀:- 你同時透過 OpenClaw 以及 Claude Code/Codex CLI 登入 → 其中一個之後會隨機被「登出」
auth-profiles.json 視為 權杖匯集點:
- 執行階段會從單一位置讀取憑證
- 我們可以保留多個設定檔,並以確定性的方式進行路由
儲存(權杖存放位置)
祕密資料會 依代理程式(per-agent) 儲存:- 驗證設定檔(OAuth + API 金鑰):
~/.openclaw/agents/<agentId>/agent/auth-profiles.json - 執行階段快取(自動管理;請勿編輯):
~/.openclaw/agents/<agentId>/agent/auth.json
~/.openclaw/credentials/oauth.json(首次使用時會匯入到auth-profiles.json)
$OPENCLAW_STATE_DIR(狀態目錄覆寫)。 以上所有項目也都遵循 $OPENCLAW_STATE_DIR(狀態目錄覆寫)。 以上所有項目也都遵循 $OPENCLAW_STATE_DIR(狀態目錄覆寫)。完整參考:/gateway/configuration
Anthropic setup-token(訂閱驗證)
在任何機器上執行claude setup-token,然後將其貼到 OpenClaw 中:
OAuth 交換(登入如何運作)
OpenClaw 的互動式登入流程實作於@mariozechner/pi-ai,並整合至精靈/指令中。
Anthropic(Claude Pro/Max)setup-token
流程形態:- 執行
claude setup-token - 將權杖貼到 OpenClaw
- 儲存為權杖驗證設定檔(不重新整理)
openclaw onboard → 驗證選擇 setup-token(Anthropic)。
OpenAI Codex(ChatGPT OAuth)
流程形態(PKCE):- 產生 PKCE verifier/challenge + 隨機
state - 開啟
https://auth.openai.com/oauth/authorize?... - 嘗試在
http://127.0.0.1:1455/auth/callback接收回呼 - 若回呼無法綁定(或你在遠端/無頭環境),請貼上重新導向 URL/代碼
- 在
https://auth.openai.com/oauth/token進行交換 - 從存取權杖中擷取
accountId,並儲存{ access, refresh, expires, accountId }
openclaw onboard → 驗證選擇 openai-codex。
重新整理 + 到期
設定檔會儲存一個expires 時間戳。
在執行階段:
- 若
expires在未來 → 使用已儲存的存取權杖 - 若已到期 → 在檔案鎖定下重新整理,並覆寫已儲存的認證
多帳號(設定檔)+ 路由
有兩種模式:1)首選:分離代理程式
如果你希望「個人」與「工作」完全不互相影響,請使用隔離的代理程式(獨立的工作階段 + 認證 + 工作區):2)進階:單一代理程式中的多個設定檔
auth-profiles.json 支援同一提供者的多個設定檔 ID。
選擇要使用的設定檔:
- 透過設定排序進行全域指定(
auth.order) - 透過
/model ...@<profileId>進行每個工作階段的指定
/model Opus@anthropic:work
openclaw channels list --json(顯示auth[])
- /concepts/model-failover(輪替 + 冷卻規則)
- /tools/slash-commands(指令介面)