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

Documentation Index

Fetch the complete documentation index at: https://docs.openclaw.ai/llms.txt

Use this file to discover all available pages before exploring further.

このページでは、Codex ハーネスのターンにおけるランタイム契約を説明します。セットアップと ルーティングについては、Codex ハーネスから始めてください。設定フィールドについては、 Codex ハーネスリファレンスを参照してください。

概要

Codex モードは、内部のモデル呼び出しだけを変えた PI ではありません。Codex は ネイティブモデルループのより多くの部分を所有し、OpenClaw はその境界に合わせて Plugin、ツール、セッション、 診断の各サーフェスを適応させます。 OpenClaw は引き続き、チャネルルーティング、セッションファイル、可視メッセージ配信、 OpenClaw 動的ツール、承認、メディア配信、トランスクリプトミラーを所有します。 Codex は、正規のネイティブスレッド、ネイティブモデルループ、ネイティブツール継続、 ネイティブ Compaction を所有します。

スレッドバインディングとモデル変更

OpenClaw セッションが既存の Codex スレッドにアタッチされている場合、次のターンでは、 現在選択されている OpenAI モデル、承認ポリシー、サンドボックス、サービス階層が 再び app-server に送信されます。openai/gpt-5.5 から openai/gpt-5.2 に切り替えると、スレッドバインディングは維持されますが、 新しく選択されたモデルで継続するよう Codex に要求します。

可視返信と Heartbeat

ソースチャットのターンが Codex ハーネスを通過する場合、デプロイメントで messages.visibleReplies が明示的に設定されていなければ、可視返信はデフォルトで OpenClaw の message ツールになります。エージェントは Codex ターンを非公開のまま完了できます。 チャネルへ投稿されるのは、message(action="send") を呼び出した場合だけです。 直接チャットの最終返信を従来の自動配信パスに維持するには、 messages.visibleReplies: "automatic" を設定します。 Codex Heartbeat ターンには、検索可能な OpenClaw ツールカタログ内で デフォルトで heartbeat_respond も提供されるため、エージェントはウェイクを静かに保つか 通知するかを、最終テキストにその制御フローをエンコードせずに記録できます。 Heartbeat 固有の自律的なガイダンスは、その Heartbeat ターン自体で Codex コラボレーションモードの開発者指示として送信されます。通常のチャットターンでは、 通常のランタイムプロンプトに Heartbeat の思想を持ち越すのではなく、 Codex Default モードに戻ります。

フック境界

Codex ハーネスには 3 つのフック層があります。
所有者目的
OpenClaw Plugin フックOpenClawPI と Codex ハーネスをまたぐ製品/Plugin 互換性。
Codex app-server 拡張ミドルウェアOpenClaw バンドル PluginOpenClaw 動的ツール周辺のターン単位のアダプター動作。
Codex ネイティブフックCodexCodex 設定による低レベルの Codex ライフサイクルとネイティブツールポリシー。
OpenClaw は、OpenClaw Plugin の動作をルーティングするためにプロジェクトまたはグローバルの Codex hooks.json ファイルを使用しません。サポート対象のネイティブツールと権限ブリッジについては、 OpenClaw が PreToolUsePostToolUsePermissionRequestStop 用の スレッド単位の Codex 設定を注入します。 Codex app-server 承認が有効な場合、つまり approvalPolicy"never" ではない場合、デフォルトで注入されるネイティブフック設定では PermissionRequest が省略されるため、Codex の app-server レビュアーと OpenClaw の承認ブリッジが レビュー後の実際のエスカレーションを処理します。互換性リレーが必要な場合、オペレーターは nativeHookRelay.eventspermission_request を明示的に追加できます。 SessionStartUserPromptSubmit などの他の Codex フックは、 Codex レベルの制御として残ります。これらは v1 契約では OpenClaw Plugin フックとして公開されません。 OpenClaw 動的ツールについては、Codex が呼び出しを要求した後に OpenClaw がツールを実行するため、 OpenClaw はハーネスアダプター内で、自身が所有する Plugin とミドルウェアの動作を発火します。 Codex ネイティブツールについては、Codex が正規のツールレコードを所有します。 OpenClaw は選択されたイベントをミラーできますが、Codex が app-server またはネイティブフックの コールバックを通じてその操作を公開しない限り、ネイティブ Codex スレッドを書き換えることはできません。 Compaction と LLM ライフサイクルの投影は、ネイティブ Codex フックコマンドではなく、 Codex app-server 通知と OpenClaw アダプター状態から得られます。 OpenClaw の before_compactionafter_compactionllm_inputllm_output イベントはアダプターレベルの観測であり、Codex の内部リクエストや Compaction ペイロードをバイト単位で捕捉したものではありません。 Codex ネイティブの hook/startedhook/completed app-server 通知は、 軌跡とデバッグのために codex_app_server.hook エージェントイベントとして投影されます。 これらは OpenClaw Plugin フックを呼び出しません。

V1 サポート契約

Codex ランタイム v1 でサポート対象:
サーフェスサポート理由
Codex 経由の OpenAI モデルループサポート対象Codex app-server が OpenAI ターン、ネイティブスレッド再開、ネイティブツール継続を所有します。
OpenClaw チャネルルーティングと配信サポート対象Telegram、Discord、Slack、WhatsApp、iMessage、その他のチャネルはモデルランタイムの外側に留まります。
OpenClaw 動的ツールサポート対象Codex が OpenClaw にこれらのツールの実行を依頼するため、OpenClaw は実行パス内に留まります。
プロンプトとコンテキストの Pluginサポート対象OpenClaw はプロンプトオーバーレイを構築し、スレッドの開始または再開前にコンテキストを Codex ターンへ投影します。
コンテキストエンジンのライフサイクルサポート対象組み立て、取り込み、ターン後メンテナンス、コンテキストエンジンの Compaction 調整が Codex ターンに対して実行されます。
動的ツールフックサポート対象before_tool_callafter_tool_call、ツール結果ミドルウェアが、OpenClaw 所有の動的ツールの周辺で実行されます。
ライフサイクルフックアダプター観測としてサポート対象llm_inputllm_outputagent_endbefore_compactionafter_compaction は、正直な Codex モードのペイロードで発火します。
最終回答の修正ゲートネイティブフックリレー経由でサポート対象Codex Stopbefore_agent_finalize にリレーされます。revise は、最終化前にもう 1 回モデルパスを行うよう Codex に要求します。
ネイティブシェル、パッチ、MCP のブロックまたは観測ネイティブフックリレー経由でサポート対象Codex PreToolUsePostToolUse は、Codex app-server 0.125.0 以降の MCP ペイロードを含む、コミット済みのネイティブツールサーフェスに対してリレーされます。ブロックはサポートされますが、引数の書き換えはサポートされません。
ネイティブ権限ポリシーCodex app-server 承認と互換性ネイティブフックリレー経由でサポート対象Codex app-server の承認リクエストは、Codex レビュー後に OpenClaw を通じてルーティングされます。PermissionRequest ネイティブフックリレーは、Codex がガーディアンレビュー前にそれを発行するため、ネイティブ承認モードではオプトインです。
App-server 軌跡キャプチャサポート対象OpenClaw は app-server に送信したリクエストと、受信した app-server 通知を記録します。
Codex ランタイム v1 でサポート対象外:
サーフェスV1 境界今後の道筋
ネイティブツール引数の変更Codex ネイティブのツール前フックはブロックできますが、OpenClaw は Codex ネイティブツールの引数を書き換えません。置換ツール入力に対する Codex フック/スキーマサポートが必要です。
編集可能な Codex ネイティブのトランスクリプト履歴Codex は正規のネイティブスレッド履歴を所有します。OpenClaw はミラーを所有し、将来のコンテキストを投影できますが、サポートされていない内部を変更すべきではありません。ネイティブスレッド手術が必要な場合は、明示的な Codex app-server API を追加します。
Codex ネイティブツールレコード用の tool_result_persistそのフックは OpenClaw 所有のトランスクリプト書き込みを変換するものであり、Codex ネイティブツールレコードを変換するものではありません。変換済みレコードをミラーすることは可能ですが、正規の書き換えには Codex サポートが必要です。
豊富なネイティブ Compaction メタデータOpenClaw は Compaction の開始と完了を観測しますが、安定した保持/破棄リスト、トークン差分、要約ペイロードは受け取りません。より豊富な Codex Compaction イベントが必要です。
Compaction 介入現在の OpenClaw Compaction フックは、Codex モードでは通知レベルです。Plugin がネイティブ Compaction を拒否または書き換える必要がある場合は、Codex の Compaction 前後フックを追加します。
バイト単位のモデル API リクエストキャプチャOpenClaw は app-server リクエストと通知をキャプチャできますが、Codex コアが最終的な OpenAI API リクエストを内部で構築します。Codex のモデルリクエスト追跡イベントまたはデバッグ API が必要です。

ネイティブ権限と MCP 要求

PermissionRequest について、OpenClaw はポリシーが判断した場合にのみ、明示的な許可または拒否の判断を返します。 判断なしの結果は許可ではありません。Codex はそれをフック判断なしとして扱い、 自身のガーディアンまたはユーザー承認パスへフォールスルーします。 Codex app-server 承認モードでは、このネイティブフックはデフォルトで省略されます。この動作は、 permission_requestnativeHookRelay.events に明示的に含まれている場合、 または互換性ランタイムがそれをインストールしている場合に適用されます。 オペレーターが Codex ネイティブ権限リクエストで allow-always を選択すると、 OpenClaw はその正確なプロバイダー/セッション/ツール入力/cwd フィンガープリントを、 制限付きセッションウィンドウの間記憶します。記憶された判断は意図的に完全一致の みに限定されています。コマンド、引数、ツールペイロード、または cwd が変わると、 新しい承認が作成されます。 Codex MCP ツール承認の elicitation は、Codex が _meta.codex_approval_kind"mcp_tool_call" としてマークした場合、OpenClaw の Plugin 承認フローを通じて ルーティングされます。Codex request_user_input プロンプトは発信元のチャットに 送り返され、次にキューされたフォローアップメッセージは追加コンテキストとして 誘導されるのではなく、そのネイティブサーバーリクエストへの回答になります。 その他の MCP elicitation リクエストはフェイルクローズします。

キュー誘導

アクティブ実行のキュー誘導は、Codex app-server turn/steer に対応します。 デフォルトの messages.queue.mode: "steer" では、OpenClaw はキューされた チャットメッセージを設定済みの静穏ウィンドウの間バッチ化し、到着順に 1 つの turn/steer リクエストとして送信します。レガシーの queue モードでは、 個別の turn/steer リクエストを送信します。 Codex のレビューおよび手動 Compaction ターンは、同一ターンの誘導を拒否する 場合があります。その場合、選択されたモードがフォールバックを許可していれば、 OpenClaw はフォローアップキューを使用します。誘導キューを参照してください。

Codex フィードバックアップロード

ネイティブ Codex ハーネスを使用しているセッションで /diagnostics [note] が 承認されると、OpenClaw は関連する Codex スレッドに対して Codex app-server feedback/upload も呼び出します。このアップロードは、一覧に含まれる各スレッドと、 利用可能な場合は生成された Codex サブスレッドのログを含めるよう app-server に 要求します。 アップロードは、Codex の通常のフィードバックパスを通じて OpenAI サーバーへ 送信されます。その app-server で Codex フィードバックが無効化されている場合、 このコマンドは app-server エラーを返します。完了した診断の返信には、送信された スレッドについて、チャンネル、OpenClaw セッション ID、Codex スレッド ID、および ローカルの codex resume <thread-id> コマンドが一覧表示されます。 承認を拒否または無視した場合、OpenClaw はそれらの Codex ID を出力せず、 Codex フィードバックも送信しません。このアップロードはローカルの Gateway 診断エクスポートを置き換えるものではありません。承認、プライバシー、 ローカルバンドル、およびグループチャットの動作については、診断エクスポートを参照してください。 完全な Gateway 診断バンドルなしで、現在アタッチされているスレッドに対する Codex フィードバックアップロードだけを明示的に必要とする場合にのみ、 /codex diagnostics [note] を使用してください。

Compaction とトランスクリプトミラー

選択されたモデルが Codex ハーネスを使用する場合、ネイティブスレッドの Compaction は Codex app-server に委任されます。OpenClaw はチャンネル履歴、 検索、/new/reset、および将来のモデルまたはハーネス切り替えのために、 トランスクリプトミラーを保持します。 このミラーには、ユーザープロンプト、最終的なアシスタントのテキスト、および app-server が出力する場合は軽量な Codex 推論または計画レコードが含まれます。 現時点では、OpenClaw はネイティブ Compaction の開始および完了シグナルのみを 記録します。人間が読める Compaction 要約や、Compaction 後に Codex が保持した エントリの監査可能な一覧は、まだ公開していません。 Codex が正規のネイティブスレッドを所有しているため、tool_result_persist は 現在 Codex ネイティブのツール結果レコードを書き換えません。これは OpenClaw が OpenClaw 所有のセッショントランスクリプトツール結果を書き込む場合にのみ適用されます。

メディアと配信

OpenClaw は引き続きメディア配信とメディアプロバイダー選択を所有します。画像、 動画、音楽、PDF、TTS、およびメディア理解は、agents.defaults.imageGenerationModelvideoGenerationModelpdfModelmessages.tts などの対応するプロバイダー/モデル 設定を使用します。 テキスト、画像、動画、音楽、TTS、承認、およびメッセージングツール出力は、 通常の OpenClaw 配信パスを通じて継続されます。メディア生成には PI は不要です。 Codex が savedPath を含むネイティブ画像生成アイテムを出力した場合、OpenClaw は Codex ターンにアシスタントテキストがなくても、その正確なファイルを通常の 返信メディアパスを通じて転送します。

関連