Concepts and configuration
モデル CLI
認証プロファイルのローテーション、クールダウン、それらがフォールバックとどう相互作用するか。
プロバイダーの簡単な概要と例。
PI、Codex、その他のエージェントループランタイム。
モデル設定キー。
モデル参照はプロバイダーとモデルを選択します。通常、低レベルのエージェントランタイムは選択しません。たとえば、openai/gpt-5.5 は agents.defaults.agentRuntime.id に応じて、通常の OpenAI プロバイダーパス経由でも、Codex app-server ランタイム経由でも実行できます。Codex ランタイムモードでは、openai/gpt-* 参照は API キー課金を意味しません。認証は Codex アカウントまたは openai-codex 認証プロファイルから取得できます。エージェントランタイムを参照してください。
モデル選択の仕組み
OpenClaw は次の順序でモデルを選択します。
プライマリモデル
agents.defaults.model.primary (または agents.defaults.model)。
フォールバック
agents.defaults.model.fallbacks (順番どおり)。
プロバイダー認証フェイルオーバー
次のモデルへ移る前に、プロバイダー内で認証フェイルオーバーが発生します。
関連するモデルサーフェス
agents.defaults.modelsは、OpenClaw が使用できるモデルの許可リスト/カタログ (エイリアスを含む) です。agents.defaults.imageModelは、プライマリモデルが画像を受け付けられない場合にのみ使用されます。agents.defaults.pdfModelはpdfツールで使用されます。省略すると、ツールはagents.defaults.imageModel、次に解決済みのセッション/デフォルトモデルへフォールバックします。agents.defaults.imageGenerationModelは共有の画像生成機能で使用されます。省略すると、image_generateは認証に裏付けられたプロバイダーのデフォルトを引き続き推論できます。現在のデフォルトプロバイダーを最初に試し、次に残りの登録済み画像生成プロバイダーをプロバイダー ID 順に試します。特定のプロバイダー/モデルを設定する場合は、そのプロバイダーの認証/API キーも設定してください。agents.defaults.musicGenerationModelは共有の音楽生成機能で使用されます。省略すると、music_generateは認証に裏付けられたプロバイダーのデフォルトを引き続き推論できます。現在のデフォルトプロバイダーを最初に試し、次に残りの登録済み音楽生成プロバイダーをプロバイダー ID 順に試します。特定のプロバイダー/モデルを設定する場合は、そのプロバイダーの認証/API キーも設定してください。agents.defaults.videoGenerationModelは共有の動画生成機能で使用されます。省略すると、video_generateは認証に裏付けられたプロバイダーのデフォルトを引き続き推論できます。現在のデフォルトプロバイダーを最初に試し、次に残りの登録済み動画生成プロバイダーをプロバイダー ID 順に試します。特定のプロバイダー/モデルを設定する場合は、そのプロバイダーの認証/API キーも設定してください。- エージェントごとのデフォルトは、
agents.list[].modelとバインディングによってagents.defaults.modelを上書きできます (マルチエージェントルーティングを参照)。
選択元とフォールバック動作
同じ provider/model でも、どこから来たかによって意味が異なる場合があります。
- 設定済みのデフォルト (
agents.defaults.model.primaryとエージェント固有のプライマリ) は通常の開始点であり、agents.defaults.model.fallbacksを使用します。 - 自動フォールバック選択は一時的な復旧状態です。
modelOverrideSource: "auto"とともに保存されるため、後続のターンでは、既知の問題があるプライマリを最初に試さずにフォールバックチェーンを使い続けられます。 - ユーザーセッション選択は厳密です。
/model、モデルピッカー、session_status(model=...)、sessions.patchはmodelOverrideSource: "user"を保存します。その選択されたプロバイダー/モデルに到達できない場合、OpenClaw は別の設定済みモデルへフォールスルーせず、見える形で失敗します。 - Cron
--model/ ペイロードmodelはジョブごとのプライマリです。ジョブが明示的なペイロードfallbacksを指定しない限り、設定済みフォールバックを引き続き使用します (厳格な cron 実行にはfallbacks: []を使用します)。 - CLI のデフォルトモデルと許可リストのピッカーは、完全な組み込みカタログを読み込む代わりに明示的な
models.providers.*.modelsを一覧表示することで、models.mode: "replace"を尊重します。 - コントロール UI のモデルピッカーは、Gateway に設定済みモデルビューを要求します。存在する場合は
agents.defaults.models、それ以外は明示的なmodels.providers.*.modelsと使用可能な認証を持つプロバイダーです。完全な組み込みカタログは、models.listのview: "all"やopenclaw models list --allなどの明示的なブラウズビュー用に予約されています。
簡易モデルポリシー
- プライマリには、利用可能な最も強力な最新世代モデルを設定してください。
- コスト/レイテンシーに敏感なタスクや重要度の低いチャットにはフォールバックを使用してください。
- ツールが有効なエージェントや信頼できない入力では、古い/弱いモデル階層を避けてください。
オンボーディング (推奨)
設定を手作業で編集したくない場合は、オンボーディングを実行します。
openclaw onboard
一般的なプロバイダー向けにモデルと認証をセットアップできます。これには OpenAI Code (Codex) サブスクリプション (OAuth) と Anthropic (API キーまたは Claude CLI) が含まれます。
設定キー (概要)
agents.defaults.model.primaryとagents.defaults.model.fallbacksagents.defaults.imageModel.primaryとagents.defaults.imageModel.fallbacksagents.defaults.pdfModel.primaryとagents.defaults.pdfModel.fallbacksagents.defaults.imageGenerationModel.primaryとagents.defaults.imageGenerationModel.fallbacksagents.defaults.videoGenerationModel.primaryとagents.defaults.videoGenerationModel.fallbacksagents.defaults.models(許可リスト + エイリアス + プロバイダーパラメーター)models.providers(models.jsonに書き込まれるカスタムプロバイダー)
安全な許可リスト編集
手動で agents.defaults.models を更新するときは、追加型の書き込みを使用してください。
openclaw config set agents.defaults.models '{"openai/gpt-5.4":{}}' --strict-json --merge
上書き保護ルール
openclaw config set は、モデル/プロバイダーのマップを偶発的な上書きから保護します。agents.defaults.models、models.providers、または models.providers.<id>.models へのプレーンなオブジェクト割り当ては、既存のエントリを削除することになる場合に拒否されます。追加変更には --merge を使用してください。指定した値を完全なターゲット値にする場合にのみ --replace を使用してください。
対話型プロバイダーセットアップと openclaw configure --section model も、プロバイダー単位の選択を既存の許可リストにマージします。そのため、Codex、Ollama、または別のプロバイダーを追加しても、無関係なモデルエントリは削除されません。プロバイダー認証を再適用するとき、Configure は既存の agents.defaults.model.primary を保持します。openclaw models auth login --provider <id> --set-default や openclaw models set <model> のような明示的なデフォルト設定コマンドは、引き続き agents.defaults.model.primary を置き換えます。
「モデルは許可されていません」(返信が止まる理由)
agents.defaults.models が設定されている場合、それは /model とセッション上書きの許可リストになります。ユーザーがその許可リストにないモデルを選択すると、OpenClaw は次を返します。
Model "provider/model" is not allowed. Use /models to list providers, or /models <provider> to list models.
Add it with: openclaw config set agents.defaults.models '{"provider/model":{}}' --strict-json --merge
拒否されたコマンドに /model openai/gpt-5.5 --runtime codex のようなランタイム上書きが含まれていた場合は、まず許可リストを修正し、その後で同じ /model ... --runtime ... コマンドを再試行してください。ネイティブ Codex 実行では、選択されたモデルは引き続き openai/gpt-5.5 です。codex ランタイムはハーネスを選択し、Codex 認証を別途使用します。
ローカル/GGUF モデルでは、プロバイダープレフィックス付きの完全な参照を許可リストに保存してください。
たとえば ollama/gemma4:26b、lmstudio/Gemma4-26b-a4-it-gguf、または
openclaw models list --provider <provider> に表示される正確な provider/model です。
許可リストが有効な場合、裸のローカルファイル名や表示名だけでは不十分です。
許可リスト設定例:
{
agent: {
model: { primary: "anthropic/claude-sonnet-4-6" },
models: {
"anthropic/claude-sonnet-4-6": { alias: "Sonnet" },
"anthropic/claude-opus-4-6": { alias: "Opus" },
},
},
}
チャットでモデルを切り替える (/model)
再起動せずに、現在のセッションのモデルを切り替えられます。
/model
/model list
/model 3
/model openai/gpt-5.4
/model status
ピッカーの動作
/model(および/model list) は、コンパクトな番号付きピッカー (モデルファミリー + 利用可能なプロバイダー) です。- Discord では、
/modelと/modelsは、プロバイダーとモデルのドロップダウンに加えて Submit ステップを持つ対話型ピッカーを開きます。 - Telegram では、
/modelsピッカーの選択はセッションスコープです。openclaw.json内のエージェントの永続的なデフォルトは変更しません。 /models addは非推奨になり、チャットからモデルを登録する代わりに非推奨メッセージを返すようになりました。/model <#>はそのピッカーから選択します。
永続化とライブ切り替え
/modelは新しいセッション選択を即座に永続化します。- エージェントがアイドル状態の場合、次の実行は新しいモデルをすぐに使用します。
- 実行がすでにアクティブな場合、OpenClaw はライブ切り替えを保留としてマークし、クリーンな再試行ポイントでのみ新しいモデルへ再起動します。
- ツールアクティビティまたは返信出力がすでに開始している場合、保留中の切り替えは後の再試行機会または次のユーザーターンまでキューに残ることがあります。
- ユーザーが選択した
/model参照は、そのセッションでは厳密です。選択されたプロバイダー/モデルに到達できない場合、返信はagents.defaults.model.fallbacksから黙って応答するのではなく、見える形で失敗します。これは設定済みデフォルトや cron ジョブのプライマリとは異なり、それらは引き続きフォールバックチェーンを使用できます。 /model statusは詳細ビューです (認証候補、および設定されている場合はプロバイダーエンドポイントbaseUrl+apiモード)。
参照の解析
- モデル参照は、最初の
/で分割して解析されます。/model <ref>を入力するときはprovider/modelを使用してください。 - モデル ID 自体に
/が含まれる場合 (OpenRouter 形式)、プロバイダープレフィックスを含める必要があります (例:/model openrouter/moonshotai/kimi-k2)。 - プロバイダーを省略すると、OpenClaw は次の順序で入力を解決します。
- エイリアス一致
- その正確なプレフィックスなしモデル ID に対する、一意の設定済みプロバイダー一致
- 設定済みデフォルトプロバイダーへの非推奨フォールバック。そのプロバイダーが設定済みデフォルトモデルをもう公開していない場合、OpenClaw は古くなった削除済みプロバイダーのデフォルトを表面化させないように、代わりに最初の設定済みプロバイダー/モデルへフォールバックします。
コマンドの完全な動作/設定: スラッシュコマンド。
CLI コマンド
openclaw models list
openclaw models status
openclaw models set <provider/model>
openclaw models set-image <provider/model>
openclaw models aliases list
openclaw models aliases add <alias> <provider/model>
openclaw models aliases remove <alias>
openclaw models fallbacks list
openclaw models fallbacks add <provider/model>
openclaw models fallbacks remove <provider/model>
openclaw models fallbacks clear
openclaw models image-fallbacks list
openclaw models image-fallbacks add <provider/model>
openclaw models image-fallbacks remove <provider/model>
openclaw models image-fallbacks clear
openclaw models (サブコマンドなし) は models status のショートカットです。
models list
デフォルトでは、設定済み/認証利用可能なモデルを表示します。便利なフラグ:
--allboolean完全なカタログ。認証が設定される前の、同梱プロバイダー所有の静的カタログ行も含まれるため、検出専用ビューで、一致するプロバイダー認証情報を追加するまで利用できないモデルを表示できます。
--localbooleanローカルプロバイダーのみ。
OPENCLAW_DOCS_MARKER:paramOpen:IHBhdGg9Ii0tcHJvdmlkZXIgPGlk
" type="string">
プロバイダー ID でフィルターします。例: moonshot。対話型ピッカーの表示ラベルは受け付けません。
--plainboolean1 行に 1 つのモデル。
--jsonboolean機械可読出力。
models status
解決済みのプライマリモデル、フォールバック、画像モデル、設定済みプロバイダーの認証概要を表示します。また、認証ストア内で見つかったプロファイルの OAuth 有効期限ステータスも表示します(デフォルトでは 24 時間以内に警告)。--plain は解決済みのプライマリモデルのみを出力します。
認証とプローブの動作
- OAuth ステータスは常に表示されます(
--json出力にも含まれます)。設定済みプロバイダーに認証情報がない場合、models statusは 認証不足 セクションを出力します。 - JSON には
auth.oauth(警告ウィンドウ + プロファイル)とauth.providers(env による認証情報を含む、プロバイダーごとの有効な認証)が含まれます。auth.oauthは認証ストアのプロファイル健全性のみです。env のみのプロバイダーはそこには表示されません。 - 自動化には
--checkを使用します(不足/期限切れの場合は終了1、期限切れ間近の場合は2)。 - ライブ認証チェックには
--probeを使用します。プローブ行は認証プロファイル、env 認証情報、またはmodels.jsonから取得できます。 - 明示的な
auth.order.<provider>が保存済みプロファイルを省略している場合、プローブは試行せずにexcluded_by_auth_orderを報告します。認証は存在するものの、そのプロバイダーでプローブ可能なモデルを解決できない場合、プローブはstatus: no_modelを報告します。
例(Claude CLI):
claude auth login
openclaw models status
スキャン(OpenRouter 無料モデル)
openclaw models scan は OpenRouter の 無料モデルカタログ を検査し、必要に応じてツールと画像サポートについてモデルをプローブできます。
--no-probebooleanライブプローブをスキップします(メタデータのみ)。
"--min-params"--max-age-days"--provider"--max-candidates--set-defaultbooleanagents.defaults.model.primary を最初の選択に設定します。
--set-imagebooleanagents.defaults.imageModel.primary を最初の画像選択に設定します。
スキャン結果は次の順でランク付けされます:
- 画像サポート
- ツールレイテンシ
- コンテキストサイズ
- パラメーター数
入力:
- OpenRouter
/modelsリスト(フィルター:free) - ライブプローブには、認証プロファイルまたは
OPENROUTER_API_KEYからの OpenRouter API キーが必要です(環境変数を参照) - 任意のフィルター:
--max-age-days,--min-params,--provider,--max-candidates - リクエスト/プローブ制御:
--timeout,--concurrency
TTY でライブプローブを実行すると、フォールバックを対話的に選択できます。非対話モードでは、デフォルトを受け入れるために --yes を渡します。メタデータのみの結果は情報提供用です。OpenClaw が使用できないキーなしの OpenRouter モデルを設定しないように、--set-default と --set-image にはライブプローブが必要です。
モデルレジストリ(models.json)
models.providers のカスタムプロバイダーは、エージェントディレクトリ配下の models.json(デフォルト ~/.openclaw/agents/<agentId>/agent/models.json)に書き込まれます。このファイルは、models.mode が replace に設定されていない限り、デフォルトでマージされます。
マージモードの優先順位
一致するプロバイダー ID に対するマージモードの優先順位:
- エージェントの
models.jsonにすでに存在する空でないbaseUrlが優先されます。 - エージェントの
models.jsonにある空でないapiKeyは、そのプロバイダーが現在の設定/認証プロファイルコンテキストで SecretRef 管理ではない場合のみ優先されます。 - SecretRef 管理のプロバイダー
apiKey値は、解決済みシークレットを永続化する代わりに、ソースマーカー(env refs はENV_VAR_NAME、file/exec refs はsecretref-managed)から更新されます。 - SecretRef 管理のプロバイダーヘッダー値は、ソースマーカー(env refs は
secretref-env:ENV_VAR_NAME、file/exec refs はsecretref-managed)から更新されます。 - 空または欠落しているエージェントの
apiKey/baseUrlは、設定のmodels.providersにフォールバックします。 - その他のプロバイダーフィールドは、設定と正規化されたカタログデータから更新されます。
関連
- エージェントランタイム — PI、Codex、その他のエージェントループランタイム
- 設定リファレンス — モデル設定キー
- 画像生成 — 画像モデル設定
- モデルフェイルオーバー — フォールバックチェーン
- モデルプロバイダー — プロバイダーのルーティングと認証
- 音楽生成 — 音楽モデル設定
- 動画生成 — 動画モデル設定