メインコンテンツへスキップ

Models CLI

認証プロファイルのローテーション、クールダウン、およびそれらがフォールバックとどう相互作用するかについては、/concepts/model-failoverを参照してください。 プロバイダーの概要と例については、/concepts/model-providersを参照してください。

モデル選択の仕組み

OpenClawは次の順序でモデルを選択します:
  1. Primaryモデル(agents.defaults.model.primaryまたはagents.defaults.model)。
  2. agents.defaults.model.fallbacks内のFallbacks(順番どおり)。
  3. プロバイダー認証のフェイルオーバーは、次のモデルに移る前にプロバイダー内で発生します。
関連:
  • agents.defaults.modelsは、OpenClawが使用できるモデルの許可リスト/カタログです(エイリアスを含む)。
  • agents.defaults.imageModelは、Primaryモデルが画像を受け付けられない場合にのみ使用されます。
  • agents.defaults.pdfModelpdfツールで使用されます。省略した場合、このツールは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には、利用可能な中で最も強力な最新世代モデルを設定してください。
  • フォールバックは、コスト/レイテンシ重視のタスクや、重要度の低いチャットに使用してください。
  • ツール対応エージェントや信頼できない入力では、古い/弱いモデル層は避けてください。

オンボーディング(推奨)

設定を手動編集したくない場合は、オンボーディングを実行してください:
openclaw onboard
これにより、一般的なプロバイダー向けのモデルと認証を設定できます。これにはOpenAI Code (Codex) subscription(OAuth)とAnthropic(APIキーまたはClaude CLI)が含まれます。

設定キー(概要)

  • agents.defaults.model.primaryagents.defaults.model.fallbacks
  • agents.defaults.imageModel.primaryagents.defaults.imageModel.fallbacks
  • agents.defaults.pdfModel.primaryagents.defaults.pdfModel.fallbacks
  • agents.defaults.imageGenerationModel.primaryagents.defaults.imageGenerationModel.fallbacks
  • agents.defaults.videoGenerationModel.primaryagents.defaults.videoGenerationModel.fallbacks
  • agents.defaults.models(許可リスト + エイリアス + プロバイダーパラメーター)
  • models.providersmodels.jsonに書き込まれるカスタムプロバイダー)
モデル参照は小文字に正規化されます。z.ai/*のようなプロバイダーエイリアスはzai/*に正規化されます。 OpenCodeを含むプロバイダー設定例は、/providers/opencodeにあります。

「Model is not allowed」(および応答が止まる理由)

agents.defaults.modelsが設定されている場合、これは/modelおよびセッションオーバーライドの許可リストになります。ユーザーがその許可リストにないモデルを選択すると、OpenClawは次を返します:
Model "provider/model" is not allowed. Use /model to list available models.
これは通常の応答が生成されるに発生するため、メッセージに「応答しなかった」ように感じられることがあります。修正方法は次のいずれかです:
  • モデルをagents.defaults.modelsに追加する
  • 許可リストをクリアする(agents.defaults.modelsを削除する)
  • /model listからモデルを選択する
許可リスト設定の例:
{
  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ステップを含むインタラクティブピッカーが開きます。
  • /model <#>は、そのピッカーから選択します。
  • /modelは、新しいセッション選択を即座に永続化します。
  • エージェントがアイドル状態なら、次回実行時にすぐ新しいモデルが使われます。
  • 実行がすでにアクティブな場合、OpenClawはライブ切り替えを保留としてマークし、正常なリトライポイントでのみ新しいモデルに再始動します。
  • ツール処理または応答出力がすでに始まっている場合、この保留中の切り替えは、後のリトライ機会または次のユーザーターンまでキューに残ることがあります。
  • /model statusは詳細表示です(認証候補、および設定されている場合はプロバイダーエンドポイントのbaseUrl + apiモード)。
  • モデル参照は最初の/で分割して解析されます。/model <ref>を入力する際はprovider/modelを使用してください。
  • モデルID自体に/が含まれる場合(OpenRouterスタイル)、プロバイダープレフィックスを含める必要があります(例: /model openrouter/moonshotai/kimi-k2)。
  • プロバイダーを省略した場合、OpenClawは次の順序で入力を解決します:
    1. エイリアス一致
    2. その完全一致のプレフィックスなしモデルidに対する、一意の設定済みプロバイダー一致
    3. 設定済みデフォルトプロバイダーへの非推奨フォールバック
      そのプロバイダーが設定済みデフォルトモデルをもう公開していない場合、OpenClawは古い削除済みプロバイダーデフォルトを表面化しないように、代わりに最初の設定済みprovider/modelへフォールバックします。
完全なコマンド動作/設定: スラッシュコマンド

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

デフォルトでは設定済みモデルを表示します。便利なフラグ:
  • --all: 完全なカタログ
  • --local: ローカルプロバイダーのみ
  • --provider <name>: プロバイダーで絞り込み
  • --plain: 1行に1モデル
  • --json: 機械可読出力

models status

解決済みのPrimaryモデル、Fallbacks、画像モデル、および設定済みプロバイダーの認証概要を表示します。また、認証ストアで見つかったプロファイルのOAuth有効期限状態も表示します(デフォルトでは24時間以内に期限切れになるものを警告)。--plainは解決済みのPrimaryモデルのみを出力します。 OAuth状態は常に表示され(--json出力にも含まれます)、設定済みプロバイダーに認証情報がない場合、models statusMissing 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):
claude auth login
openclaw models status

スキャン(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キー(認証プロファイルまたはOPENROUTER_API_KEYから)が必要です。キーがない場合は、候補のみを一覧表示するために--no-probeを使用してください。 スキャン結果は次の順でランク付けされます:
  1. 画像サポート
  2. ツールのレイテンシ
  3. コンテキストサイズ
  4. パラメーター数
入力
  • OpenRouterの/modelsリスト(:freeでフィルター)
  • 認証プロファイルまたはOPENROUTER_API_KEYからのOpenRouter APIキーが必要です(/environmentを参照)
  • 任意のフィルター: --max-age-days--min-params--provider--max-candidates
  • プローブ制御: --timeout--concurrency
TTYで実行すると、対話的にフォールバックを選択できます。非対話モードでは、デフォルトを受け入れるために--yesを渡してください。

モデルレジストリ(models.json

models.providers内のカスタムプロバイダーは、エージェントディレクトリ配下のmodels.jsonに書き込まれます(デフォルト: ~/.openclaw/agents/<agentId>/agent/models.json)。このファイルは、models.modereplaceに設定されていない限り、デフォルトでマージされます。 一致するプロバイダー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は、解決済みランタイムシークレット値からではなく、アクティブなソース設定スナップショット(解決前)からマーカーを書き込みます。 これは、openclaw agentのようなコマンド駆動パスを含め、OpenClawがmodels.jsonを再生成するたびに適用されます。

関連