本文件定義下列各處使用的標準認證資料資格與解析語意:Documentation Index
Fetch the complete documentation index at: https://docs.openclaw.ai/llms.txt
Use this file to discover all available pages before exploring further.
resolveAuthProfileOrderresolveApiKeyForProfilemodels status --probedoctor-auth
穩定的探測原因代碼
okexcluded_by_auth_ordermissing_credentialinvalid_expiresexpiredunresolved_refno_model
權杖認證資料
權杖認證資料(type: "token")支援內嵌 token 和/或 tokenRef。
資格規則
- 當
token和tokenRef兩者皆不存在時,權杖設定檔不符合資格。 expires是選用項。- 如果存在
expires,它必須是大於0的有限數字。 - 如果
expires無效(NaN、0、負數、非有限值或型別錯誤),設定檔不符合資格,原因為invalid_expires。 - 如果
expires是過去時間,設定檔不符合資格,原因為expired。 tokenRef不會略過expires驗證。
解析規則
- 解析器對
expires的語意與資格語意相符。 - 對符合資格的設定檔,權杖內容可從內嵌值或
tokenRef解析。 - 無法解析的參照會在
models status --probe輸出中產生unresolved_ref。
代理程式複本可攜性
代理程式驗證繼承採用讀穿模式。當代理程式沒有本機設定檔時, 它可在執行階段從預設/主要代理程式儲存區解析設定檔,而不需將 秘密內容複製到自己的auth-profiles.json。
明確複製流程(例如 openclaw agents add)會使用此可攜性政策:
api_key設定檔可攜,除非copyToAgents: false。token設定檔可攜,除非copyToAgents: false。oauth設定檔預設不可攜,因為重新整理權杖可能是 單次使用或對輪替敏感。- 由提供者擁有的 OAuth 流程只有在已知可安全跨代理程式
複製重新整理內容時,才能以
copyToAgents: true選擇加入。
明確驗證順序篩選
- 當為某個提供者設定
auth.order.<provider>或驗證儲存區順序覆寫時,models status --probe只會探測仍保留在該提供者已解析驗證順序中的 設定檔 ID。 - 該提供者的已儲存設定檔若從明確順序中省略,
之後不會被靜默嘗試。探測輸出會以
reasonCode: excluded_by_auth_order回報,詳細資訊為Excluded by auth.order for this provider.
探測目標解析
- 探測目標可以來自驗證設定檔、環境認證資料或
models.json。 - 如果提供者具有認證資料,但 OpenClaw 無法為其解析可探測的模型
候選項,
models status --probe會回報status: no_model,並帶有reasonCode: no_model。
外部 CLI 認證資料探索
- 由外部 CLI 擁有的僅執行階段認證資料,只會在 提供者、執行階段或驗證設定檔屬於目前操作範圍時探索,或在 該外部來源的已儲存本機設定檔已存在時探索。
- 唯讀/狀態路徑會傳入
allowKeychainPrompt: false;它們只使用檔案支援的 外部 CLI 認證資料,且不會讀取或重用 macOS Keychain 結果。
OAuth SecretRef 政策防護
- SecretRef 輸入僅適用於靜態認證資料。
- 如果設定檔認證資料是
type: "oauth",則該設定檔認證資料內容不支援 SecretRef 物件。 - 如果
auth.profiles.<id>.mode是"oauth",則會拒絕該設定檔使用由 SecretRef 支援的keyRef/tokenRef輸入。 - 違規會在啟動/重新載入驗證解析路徑中造成硬性失敗。
舊版相容訊息
為了維持腳本相容性,探測錯誤會讓第一行保持不變:Auth profile credentials are missing or expired.
後續行可加入適合閱讀的詳細資訊與穩定原因代碼。