Messages and delivery
ステアリングキュー
通常のプロンプトが到着した時点でセッション実行がすでにストリーミング中で、キューモードが steer(デフォルトであり、設定は不要)の場合、OpenClaw はそのプロンプトをアクティブなランタイムに送信しようとします。OpenClaw とネイティブ Codex app-server ハーネスでは、配信の詳細の実装が異なります。
このページでは、steer モードにおける通常の受信メッセージのキューモードステアリングについて説明します。followup または collect モードでは、通常のメッセージはこの経路を通らず、アクティブな実行が終了するまで待機します。明示的な /steer <message> コマンドについては、ステアリングを参照してください。
ランタイム境界
ステアリングは、すでに実行中のツール呼び出しを中断しません。OpenClaw はモデル境界で、キューに入ったステアリングメッセージを確認します。
- アシスタントがツール呼び出しを要求します。
- OpenClaw が現在のアシスタントメッセージのツール呼び出しバッチを実行します。
- OpenClaw がターン終了イベントを発行します。
- OpenClaw がキューに入ったステアリングメッセージを取り出します。
- OpenClaw が次の LLM 呼び出しの前に、それらのメッセージをユーザーメッセージとして追加します。
これにより、ツールの結果はそれを要求したアシスタントメッセージとの対応を維持し、その後、次のモデル呼び出しが最新のユーザー入力を参照できるようになります。
ネイティブ Codex app-server ハーネスは、OpenClaw ランタイムの内部ステアリングキューの代わりに turn/steer を公開します。OpenClaw は、設定された無通信時間枠の間、キューに入ったプロンプトをまとめ、収集したすべてのユーザー入力を到着順に含む単一の turn/steer リクエストを送信します。
Codex のレビューターンと手動 Compaction ターンでは、同一ターン内のステアリングが拒否されます。ランタイムが steer モードでステアリングを受け入れられない場合、OpenClaw はアクティブな実行が終了するまで待ってからプロンプトを開始します。
モード
| モード | アクティブな実行での動作 | その後の動作 |
|---|---|---|
steer |
可能な場合、プロンプトをアクティブなランタイムへステアリングします。 | ステアリングを利用できない場合、アクティブな実行が終了するまで待機します。 |
followup |
ステアリングしません。 | アクティブな実行の終了後、キューに入ったメッセージを実行します。 |
collect |
ステアリングしません。 | デバウンス時間枠の経過後、互換性のあるキュー内のメッセージを後続の単一ターンにまとめます。 |
interrupt |
ステアリングする代わりに、アクティブな実行を中止します。 | 中止後、最新のメッセージを開始します。 |
バーストの例
エージェントがツール呼び出しを実行している間に、4 人のユーザーがメッセージを送信した場合:
- デフォルトの動作では、アクティブなランタイムは次のモデル判断の前に、4 件すべてのメッセージを到着順に受信します。OpenClaw は次のモデル境界でそれらを取り出し、Codex は単一のバッチ化された
turn/steerとして受信します。 /queue collectでは、OpenClaw はステアリングしません。アクティブな実行が終了するまで待機し、デバウンス時間枠の経過後、互換性のあるキュー内のメッセージを含むフォローアップターンを作成します。/queue interruptでは、OpenClaw はステアリングする代わりに、アクティブな実行を中止して最新のメッセージを開始します。
適用範囲
ステアリングは常に、現在アクティブなセッション実行を対象とします。新しいセッションの作成、アクティブな実行のツールポリシーの変更、送信者ごとのメッセージ分割は行いません。複数ユーザーのチャンネルでは、受信プロンプトに送信者とルートのコンテキストがすでに含まれているため、次のモデル呼び出しは各メッセージの送信者を識別できます。
アクティブな実行をステアリングする代わりに、デフォルトでメッセージをキューに入れる場合は、followup または collect を使用します。最新のプロンプトでアクティブな実行を置き換える場合は、interrupt を使用します。
デバウンス
組み込みのキューデバウンスは、キューに入った followup および collect の配信に適用されます。ネイティブ Codex ハーネスを使用する steer モードでは、バッチ化された turn/steer を送信する前の無通信時間枠も設定します。OpenClaw では、次のモデル境界までメッセージが自然にまとめられるため、アクティブなステアリング自体にはデバウンスタイマーを使用しません。