OpenClawのモデルフェイルオーバー設定:自動切り替えを最適化する
開発中に API のレート制限に遭遇したり、モデルが突然ダウンしたりするのは、エンジニアにとって最も避けたい事態の一つです。作業のフローが途切れる上に、手動で設定を切り替える手間も発生します。OpenClaw は、こうしたエラーを自動的に検知し、スムーズに復旧するための仕組みを提供しています。
OpenClaw は、エラーが発生した際に 2 つのステップで対応します。
- 現在のプロバイダー内での Auth profile のローテーション。
agents.defaults.model.fallbacksに指定された次のモデルへの Model fallback。
このドキュメントでは、実行時のルールとそれを支えるデータについて解説します。
認証ストレージ (キー + OAuth)
Section titled “認証ストレージ (キー + OAuth)”OpenClaw は、API キーと OAuth トークンの両方に auth profiles を使用します。
- シークレットは
~/.openclaw/agents/<agentId>/agent/auth-profiles.json(レガシー環境では~/.openclaw/agent/auth-profiles.json)に保存されます。また、設定ファイルのauth.profilesやauth.orderは、メタデータとルーティングのみを扱い、シークレットは含みません。 - レガシーなインポート専用の OAuth ファイル
~/.openclaw/credentials/oauth.jsonは、初回使用時にauth-profiles.jsonへインポートされます。
詳細はこちら:/concepts/oauth
認証情報の種類:
type: "api_key"→{ provider, key }type: "oauth"→{ provider, access, refresh, expires, email? }(一部のプロバイダーではprojectIdやenterpriseUrlも含まれます)
プロファイル ID
Section titled “プロファイル ID”OAuth ログインでは、複数のアカウントを共存させるために個別のプロファイルが作成されます。
- デフォルト:メールアドレスが取得できない場合は
provider:defaultとなります。 - メールアドレス付き OAuth:
provider:<email>(例:google-antigravity:user@gmail.com)となります。
プロファイルは ~/.openclaw/agents/<agentId>/agent/auth-profiles.json の profiles セクションに保存されます。
ローテーションの順序
Section titled “ローテーションの順序”プロバイダーに複数のプロファイルがある場合、OpenClaw は以下の優先順位で順序を決定します。
- 明示的な設定:
auth.order[provider]が設定されている場合。 - 構成済みおよび保存済みのプロファイル:
auth.profilesでフィルタリングされたもの、またはauth-profiles.jsonにあるプロバイダーごとのエントリ。
明示的な順序が設定されていない場合、OpenClaw はラウンドロビン方式を採用します。
- プロファイルの種類(API キーより OAuth を優先)と、
usageStats.lastUsedに基づく使用順序(古いものから優先)を組み合わせて
{ "usageStats": { "provider:profile": { "lastUsed": 1736160000000, "cooldownUntil": 1736160600000, "errorCount": 2 } }}{ "usageStats": { "provider:profile": { "disabledUntil": 1736178000000, "disabledReason": "billing" } }}OpenClaw Expert
まだ解決しませんか?
このページで解決しない場合は、OpenClaw Expertに直接質問してください。