跳轉到主要內容

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.

當訊息抵達時,如果某個工作階段執行已經在串流中,OpenClaw 可以將該訊息送入作用中的執行階段,而不是為同一個工作階段啟動另一個執行。公開模式與執行階段無關;Pi 和原生 Codex app-server 控制框架會以不同方式實作傳遞細節。

執行階段邊界

導向不會中斷已經在執行中的工具呼叫。Pi 會在模型邊界檢查佇列中的導向訊息:
  1. 助理要求工具呼叫。
  2. Pi 執行目前助理訊息的工具呼叫批次。
  3. Pi 發出回合結束事件。
  4. Pi 清空佇列中的導向訊息。
  5. Pi 在下一次 LLM 呼叫前,將這些訊息附加為使用者訊息。
這會讓工具結果與要求它們的助理訊息保持配對,接著讓下一次模型呼叫看到最新的使用者輸入。 原生 Codex app-server 控制框架會公開 turn/steer,而不是 Pi 的內部導向佇列。OpenClaw 會在該處轉接相同模式:
  • steer 會在設定的安靜視窗內批次處理佇列中的訊息,接著依抵達順序傳送一個包含所有已收集使用者輸入的 turn/steer 要求。
  • queue 會透過傳送個別的 turn/steer 要求,保留舊版序列化形狀。
  • followupcollectsteer-backloginterrupt 會維持由 OpenClaw 擁有、圍繞作用中 Codex 回合的佇列行為。
Codex 審查和手動 Compaction 回合會拒絕同回合導向。當執行階段無法接受導向時,OpenClaw 會在該模式允許時退回後續佇列。

模式

模式作用中執行行為稍後後續行為
steer在下一個執行階段邊界一起注入所有佇列中的導向訊息。這是預設值。只有在導向不可用時才退回後續處理。
queue舊版逐一導向。Pi 在每個模型邊界注入一個佇列中的訊息;Codex 傳送個別的 turn/steer 要求。只有在導向不可用時才退回後續處理。
steer-backlogsteer 相同的作用中執行導向行為。也會保留相同訊息以供稍後的後續回合使用。
followup不會導向目前執行。稍後執行佇列中的訊息。
collect不會導向目前執行。在防彈跳視窗後,將相容的佇列訊息合併到一個稍後回合中。
interrupt中止作用中執行,然後啟動最新訊息。無。

爆量範例

如果四位使用者在代理程式執行工具呼叫時傳送訊息:
  • steer:作用中的執行階段會在下一次模型決策前,依抵達順序收到全部四則訊息。Pi 會在下一個模型邊界清空它們;Codex 會以一個批次 turn/steer 接收它們。
  • queue:舊版序列化導向。Pi 會一次注入一個佇列中的訊息;Codex 會收到個別的 turn/steer 要求。
  • collect:OpenClaw 會等到作用中執行結束,然後在防彈跳視窗後,使用相容的佇列訊息建立一個後續回合。

範圍

導向一律以目前作用中的工作階段執行為目標。它不會建立新的工作階段、變更作用中執行的工具政策,或依寄件者分割訊息。在多使用者頻道中,傳入提示已經包含寄件者與路由情境,因此下一次模型呼叫可以看到每則訊息是由誰傳送。 當你希望 OpenClaw 建立稍後的後續回合,以便合併相容訊息並保留後續佇列丟棄政策時,請使用 collect。只有在需要較舊的逐一導向行為時,才使用 queue

防彈跳

messages.queue.debounceMs 會套用至後續傳遞,包括 collectfollowupsteer-backlog,以及作用中執行導向不可用時的 steer 後援。對 Pi 來說,作用中的 steer 本身不使用防彈跳計時器,因為 Pi 會自然地批次處理訊息直到下一個模型邊界。對原生 Codex 控制框架來說,OpenClaw 會使用相同的防彈跳值作為安靜視窗,然後再傳送批次 turn/steer

相關