Models CLI
認証プロファイルのローテーション、クールダウン、およびそれらがフォールバックとどう相互作用するかについては、/concepts/model-failoverを参照してください。 プロバイダーの概要と例については、/concepts/model-providersを参照してください。モデル選択の仕組み
OpenClawは次の順序でモデルを選択します:- Primaryモデル(
agents.defaults.model.primaryまたはagents.defaults.model)。 agents.defaults.model.fallbacks内のFallbacks(順番どおり)。- プロバイダー認証のフェイルオーバーは、次のモデルに移る前にプロバイダー内で発生します。
agents.defaults.modelsは、OpenClawが使用できるモデルの許可リスト/カタログです(エイリアスを含む)。agents.defaults.imageModelは、Primaryモデルが画像を受け付けられない場合にのみ使用されます。agents.defaults.pdfModelはpdfツールで使用されます。省略した場合、このツールはagents.defaults.imageModel、次に解決済みのセッション/デフォルトモデルへフォールバックします。agents.defaults.imageGenerationModelは、共有画像生成機能で使用されます。省略した場合でも、image_generateは認証済みプロバイダーのデフォルトを推測できます。最初に現在のデフォルトプロバイダーを試し、その後、登録済みの残りの画像生成プロバイダーをprovider-id順に試します。特定のprovider/modelを設定する場合は、そのプロバイダーの認証/APIキーも設定してください。agents.defaults.videoGenerationModelは、共有動画生成機能で使用されます。画像生成とは異なり、これは現在プロバイダーのデフォルトを推測しません。qwen/wan2.6-t2vのような明示的なprovider/modelを設定し、そのプロバイダーの認証/APIキーも設定してください。- エージェントごとのデフォルトは、
agents.list[].modelとバインディングによってagents.defaults.modelを上書きできます(/concepts/multi-agentを参照)。
クイックモデルポリシー
- Primaryには、利用可能な中で最も強力な最新世代モデルを設定してください。
- フォールバックは、コスト/レイテンシ重視のタスクや、重要度の低いチャットに使用してください。
- ツール対応エージェントや信頼できない入力では、古い/弱いモデル層は避けてください。
オンボーディング(推奨)
設定を手動編集したくない場合は、オンボーディングを実行してください:設定キー(概要)
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に書き込まれるカスタムプロバイダー)
z.ai/*のようなプロバイダーエイリアスはzai/*に正規化されます。
OpenCodeを含むプロバイダー設定例は、/providers/opencodeにあります。
「Model is not allowed」(および応答が止まる理由)
agents.defaults.modelsが設定されている場合、これは/modelおよびセッションオーバーライドの許可リストになります。ユーザーがその許可リストにないモデルを選択すると、OpenClawは次を返します:
- モデルを
agents.defaults.modelsに追加する - 許可リストをクリアする(
agents.defaults.modelsを削除する) /model listからモデルを選択する
チャットでモデルを切り替える(/model)
再起動せずに現在のセッションのモデルを切り替えられます:
/model(および/model list)は、コンパクトな番号付きピッカーです(モデルファミリー + 利用可能なプロバイダー)。- Discordでは、
/modelと/modelsで、プロバイダーとモデルのドロップダウン、およびSubmitステップを含むインタラクティブピッカーが開きます。 /model <#>は、そのピッカーから選択します。/modelは、新しいセッション選択を即座に永続化します。- エージェントがアイドル状態なら、次回実行時にすぐ新しいモデルが使われます。
- 実行がすでにアクティブな場合、OpenClawはライブ切り替えを保留としてマークし、正常なリトライポイントでのみ新しいモデルに再始動します。
- ツール処理または応答出力がすでに始まっている場合、この保留中の切り替えは、後のリトライ機会または次のユーザーターンまでキューに残ることがあります。
/model statusは詳細表示です(認証候補、および設定されている場合はプロバイダーエンドポイントのbaseUrl+apiモード)。- モデル参照は最初の
/で分割して解析されます。/model <ref>を入力する際はprovider/modelを使用してください。 - モデルID自体に
/が含まれる場合(OpenRouterスタイル)、プロバイダープレフィックスを含める必要があります(例:/model openrouter/moonshotai/kimi-k2)。 - プロバイダーを省略した場合、OpenClawは次の順序で入力を解決します:
- エイリアス一致
- その完全一致のプレフィックスなしモデルidに対する、一意の設定済みプロバイダー一致
- 設定済みデフォルトプロバイダーへの非推奨フォールバック
そのプロバイダーが設定済みデフォルトモデルをもう公開していない場合、OpenClawは古い削除済みプロバイダーデフォルトを表面化しないように、代わりに最初の設定済みprovider/modelへフォールバックします。
CLIコマンド
openclaw models(サブコマンドなし)はmodels statusのショートカットです。
models list
デフォルトでは設定済みモデルを表示します。便利なフラグ:
--all: 完全なカタログ--local: ローカルプロバイダーのみ--provider <name>: プロバイダーで絞り込み--plain: 1行に1モデル--json: 機械可読出力
models status
解決済みのPrimaryモデル、Fallbacks、画像モデル、および設定済みプロバイダーの認証概要を表示します。また、認証ストアで見つかったプロファイルのOAuth有効期限状態も表示します(デフォルトでは24時間以内に期限切れになるものを警告)。--plainは解決済みのPrimaryモデルのみを出力します。
OAuth状態は常に表示され(--json出力にも含まれます)、設定済みプロバイダーに認証情報がない場合、models statusはMissing authセクションを表示します。
JSONにはauth.oauth(警告ウィンドウ + プロファイル)およびauth.providers(プロバイダーごとの有効な認証)が含まれます。
自動化には--checkを使用してください(不足/期限切れで終了コード1、期限切れ間近で2)。
ライブ認証チェックには--probeを使用してください。プローブ行は、認証プロファイル、環境変数認証情報、またはmodels.jsonから取得されることがあります。
明示的なauth.order.<provider>が保存済みプロファイルを省略している場合、プローブはそれを試す代わりにexcluded_by_auth_orderを報告します。認証は存在しても、そのプロバイダーに対してプローブ可能なモデルを解決できない場合、プローブはstatus: no_modelを報告します。
認証の選択はプロバイダー/アカウントに依存します。常時稼働のGatewayホストでは、通常APIキーが最も予測しやすく、Claude CLIの再利用や既存のAnthropic OAuth/トークンプロファイルもサポートされます。
例(Claude CLI):
スキャン(OpenRouter無料モデル)
openclaw models scanはOpenRouterの無料モデルカタログを調べ、任意でモデルのtoolおよび画像サポートをプローブできます。
主なフラグ:
--no-probe: ライブプローブをスキップ(メタデータのみ)--min-params <b>: 最小パラメーターサイズ(十億単位)--max-age-days <days>: 古いモデルをスキップ--provider <name>: プロバイダープレフィックスで絞り込み--max-candidates <n>: フォールバックリストのサイズ--set-default:agents.defaults.model.primaryを最初の選択に設定--set-image:agents.defaults.imageModel.primaryを最初の画像選択に設定
OPENROUTER_API_KEYから)が必要です。キーがない場合は、候補のみを一覧表示するために--no-probeを使用してください。
スキャン結果は次の順でランク付けされます:
- 画像サポート
- ツールのレイテンシ
- コンテキストサイズ
- パラメーター数
- OpenRouterの
/modelsリスト(:freeでフィルター) - 認証プロファイルまたは
OPENROUTER_API_KEYからのOpenRouter APIキーが必要です(/environmentを参照) - 任意のフィルター:
--max-age-days、--min-params、--provider、--max-candidates - プローブ制御:
--timeout、--concurrency
--yesを渡してください。
モデルレジストリ(models.json)
models.providers内のカスタムプロバイダーは、エージェントディレクトリ配下のmodels.jsonに書き込まれます(デフォルト: ~/.openclaw/agents/<agentId>/agent/models.json)。このファイルは、models.modeがreplaceに設定されていない限り、デフォルトでマージされます。
一致するプロバイダーIDに対するマージモードの優先順位:
- エージェントの
models.jsonにすでに存在する空でないbaseUrlが優先されます。 - エージェントの
models.json内の空でないapiKeyは、そのプロバイダーが現在のconfig/auth-profileコンテキストでSecretRef管理されていない場合にのみ優先されます。 - SecretRef管理プロバイダーの
apiKey値は、解決済みシークレットを永続化する代わりに、ソースマーカー(env参照ではENV_VAR_NAME、file/exec参照ではsecretref-managed)から更新されます。 - SecretRef管理プロバイダーのヘッダー値は、ソースマーカー(env参照では
secretref-env:ENV_VAR_NAME、file/exec参照ではsecretref-managed)から更新されます。 - 空または欠落しているエージェントの
apiKey/baseUrlは、configのmodels.providersにフォールバックします。 - その他のプロバイダーフィールドは、configと正規化されたカタログデータから更新されます。
openclaw agentのようなコマンド駆動パスを含め、OpenClawがmodels.jsonを再生成するたびに適用されます。
関連
- モデルプロバイダー — プロバイダールーティングと認証
- モデルフェイルオーバー — フォールバックチェーン
- 画像生成 — 画像モデル設定
- 設定リファレンス — モデル設定キー