OpenAI
OpenAIはGPTモデル向けの開発者APIを提供しています。Codexは、subscriptionアクセス用のChatGPTサインインまたは、従量課金アクセス用のAPIキーサインインをサポートします。Codex cloudにはChatGPTサインインが必要です。 OpenAIは、OpenClawのような外部tool/ワークフローでのsubscription OAuth利用を明示的にサポートしています。デフォルトの対話スタイル
OpenClawは、openai/*とopenai-codex/*の両方の実行に対して、デフォルトで小さなOpenAI固有のプロンプトオーバーレイを追加します。このオーバーレイは、ベースのOpenClaw system
promptを置き換えることなく、アシスタントを温かく、協調的で、簡潔かつ直接的に保ちます。
設定キー:
plugins.entries.openai.config.personalityOverlay
許可される値:
"friendly": デフォルト。OpenAI固有のオーバーレイを有効化します。"off": オーバーレイを無効にし、ベースのOpenClaw promptのみを使用します。
openai/*モデルに適用されます。openai-codex/*モデルに適用されます。- 他のプロバイダーには影響しません。
OpenAIプロンプトオーバーレイを無効にする
変更されていないベースのOpenClaw promptを使いたい場合は、オーバーレイをオフにします:オプションA: OpenAI APIキー(OpenAI Platform)
最適な用途: 直接のAPIアクセスと従量課金。 APIキーはOpenAIダッシュボードから取得してください。CLIセットアップ
設定スニペット
gpt-5.4とgpt-5.4-proが掲載されています。OpenClawは両方をopenai/* Responsesパス経由で転送します。
OpenClawは、古いopenai/gpt-5.3-codex-spark行を意図的に抑制しています。これは、直接のOpenAI API呼び出しでは本番トラフィックで拒否されるためです。
OpenClawは、直接OpenAI
APIパス上でopenai/gpt-5.3-codex-sparkを公開しません。pi-aiには依然としてこのモデルの組み込み行がありますが、現在の本番OpenAI API
リクエストでは拒否されます。SparkはOpenClawではCodex専用として扱われます。
オプションB: OpenAI Code(Codex)subscription
最適な用途: APIキーの代わりにChatGPT/Codex subscriptionアクセスを使うこと。 Codex cloudにはChatGPTサインインが必要ですが、Codex CLIはChatGPTまたはAPIキーのサインインをサポートします。CLIセットアップ(Codex OAuth)
設定スニペット(Codex subscription)
gpt-5.4が掲載されています。OpenClaw
は、ChatGPT/Codex OAuth利用向けにこれをopenai-codex/gpt-5.4へマッピングします。
オンボーディングで既存のCodex CLIログインが再利用された場合、それらの認証情報は
Codex CLIによって管理されたままです。有効期限切れ時には、OpenClawはまず外部Codexソースを再読み込みし、プロバイダーが更新可能な場合は、別のOpenClaw専用コピーで所有権を持つのではなく、更新済み認証情報をCodex storageへ書き戻します。
CodexアカウントにCodex Sparkの権利がある場合、OpenClawは次もサポートします:
openai-codex/gpt-5.3-codex-spark
openai/gpt-5.3-codex-spark APIキー経路は公開しません。
OpenClawはまた、pi-aiが
openai-codex/gpt-5.3-codex-sparkを検出した場合、それを保持します。これは権利依存かつ実験的なものとして扱ってください。Codex Sparkは
GPT-5.4 /fastとは別であり、可用性はサインイン中のCodex /
ChatGPTアカウントに依存します。
Codexコンテキストウィンドウ上限
OpenClawは、Codexモデルのメタデータとランタイムのコンテキスト上限を別の 値として扱います。openai-codex/gpt-5.4について:
- ネイティブ
contextWindow:1050000 - デフォルトのランタイム
contextTokens上限:272000
models.providers.<provider>.models[].contextTokensを設定してください:
contextWindowを使用してください。ランタイムのコンテキスト予算を制限したい場合はcontextTokensを使用してください。
転送のデフォルト
OpenClawはモデルストリーミングにpi-aiを使用します。openai/*と
openai-codex/*の両方で、デフォルト転送は"auto"(WebSocket優先、その後SSE
フォールバック)です。
"auto"モードでは、OpenClawはSSEへフォールバックする前に、初期の再試行可能なWebSocket失敗を1回再試行します。強制的な"websocket"モードでは、フォールバックの背後に隠さず、転送エラーをそのまま表面化します。
"auto"モードで接続時またはターン初期のWebSocket失敗が発生した後、OpenClawは
そのセッションのWebSocketパスを約60秒間degradedとマークし、そのクールダウン中は転送間を行き来して不安定になる代わりに、その後のターンを
SSE経由で送信します。
ネイティブのOpenAI系エンドポイント(openai/*、openai-codex/*、およびAzure
OpenAI Responses)では、OpenClawはリクエストに安定したセッションおよびターンのidentity stateも付加するため、再試行、再接続、SSE
フォールバックが同じ会話identityに整合したまま維持されます。ネイティブOpenAI系ルートでは、これに安定した
session/turn request identityヘッダーと、それに一致する転送メタデータが含まれます。
OpenClawはまた、OpenAIの使用量カウンターを転送バリアント間で正規化してから、session/statusサーフェスへ渡します。ネイティブOpenAI/Codex Responsesトラフィックでは、使用量がinput_tokens / output_tokensまたは
prompt_tokens / completion_tokensとして報告される場合がありますが、OpenClawは
これらを/status、/usage、およびsessionログ向けの同じ入力/出力カウンターとして扱います。ネイティブ
WebSocketトラフィックでtotal_tokensが省略される(または0と報告される)場合、OpenClawは正規化された入力 + 出力の合計へフォールバックし、session/status表示が埋まった状態を維持します。
agents.defaults.models.<provider/model>.params.transportを設定できます:
"sse": SSEを強制"websocket": WebSocketを強制"auto": WebSocketを試し、その後SSEへフォールバック
openai/*(Responses API)では、OpenClawはWebSocket転送が使われるとき、
デフォルトでWebSocket warm-up(openaiWsWarmup: true)も有効にします。
関連するOpenAIドキュメント:
OpenAI WebSocket warm-up
OpenAIドキュメントではwarm-upは任意とされています。OpenClawは、 WebSocket転送使用時の初回ターンのレイテンシを下げるため、openai/*ではデフォルトでこれを有効にします。
warm-upを無効にする
warm-upを明示的に有効にする
OpenAIとCodexの優先処理
OpenAIのAPIはservice_tier=priorityによる優先処理を公開しています。OpenClaw
では、ネイティブOpenAI/Codex Responsesエンドポイントへこのフィールドを渡すために、
agents.defaults.models["<provider>/<model>"].params.serviceTierを設定してください。
auto、default、flex、priorityです。
OpenClawは、モデルがネイティブOpenAI/Codexエンドポイントを指している場合、
params.serviceTierを直接のopenai/* Responses
リクエストとopenai-codex/* Codex Responsesリクエストの両方へ転送します。
重要な動作:
- 直接の
openai/*はapi.openai.comを対象にしている必要があります openai-codex/*はchatgpt.com/backend-apiを対象にしている必要があります- どちらのプロバイダーも別のbase URLまたはproxy経由にした場合、OpenClawは
service_tierを変更せずそのままにします
OpenAI fast mode
OpenClawは、openai/*と
openai-codex/*の両セッション向けに共有fast-modeトグルを公開しています:
- Chat/UI:
/fast status|on|off - Config:
agents.defaults.models["<provider>/<model>"].params.fastMode
api.openai.comへの直接openai/*Responses呼び出しはservice_tier = "priority"を送信するchatgpt.com/backend-apiへのopenai-codex/*Responses呼び出しもservice_tier = "priority"を送信する- 既存のペイロード
service_tier値は保持される - fast modeは
reasoningやtext.verbosityを書き換えない
ネイティブOpenAIとOpenAI互換ルートの違い
OpenClawは、直接のOpenAI、Codex、およびAzure OpenAIエンドポイントを、 汎用OpenAI互換/v1 proxyとは異なる扱いにしています:
- ネイティブ
openai/*、openai-codex/*、およびAzure OpenAIルートは、 明示的にreasoningを無効化したとき、reasoning: { effort: "none" }をそのまま保持する - ネイティブOpenAI系ルートでは、tool schemaはデフォルトでstrict modeになる
- 隠しOpenClaw attributionヘッダー(
originator、version、およびUser-Agent)は、検証済みネイティブOpenAIホスト (api.openai.com)およびネイティブCodexホスト(chatgpt.com/backend-api)でのみ付与される - ネイティブOpenAI/Codexルートでは、
service_tier、Responsesのstore、OpenAI reasoning互換ペイロード、および prompt-cacheヒントのようなOpenAI専用リクエスト整形が維持される - proxyスタイルのOpenAI互換ルートでは、より緩い互換動作が維持され、 strictなtool schema、ネイティブ専用リクエスト整形、隠し OpenAI/Codex attributionヘッダーは強制されない
/v1バックエンドへ強制しないようにしています。
OpenAI Responsesのサーバー側compaction
直接のOpenAI Responsesモデル(api: "openai-responses"を使用し、baseUrlが
api.openai.com上にあるopenai/*)では、OpenClawは現在、OpenAIサーバー側
compactionのペイロードヒントを自動有効化します:
store: trueを強制する(モデル互換でsupportsStore: falseが設定されている場合を除く)context_management: [{ type: "compaction", compact_threshold: ... }]を注入する
compact_thresholdはモデルcontextWindowの70%(不明な場合は80000)です。
サーバー側compactionを明示的に有効にする
互換Responsesモデル(たとえばAzure OpenAI Responses)でcontext_management注入を強制したい場合に使用します:
カスタムしきい値で有効にする
サーバー側compactionを無効にする
responsesServerCompactionはcontext_management注入のみを制御します。
直接OpenAI Responsesモデルは、互換設定で
supportsStore: falseが設定されていない限り、引き続きstore: trueを強制します。
注記
- モデル参照は常に
provider/modelを使用します(/concepts/modelsを参照)。 - 認証詳細 + 再利用ルールは/concepts/oauthにあります。