跳转到内容

引导队列

当正常提示词到达,且会话运行已在进行流式传输时,如果队列模式为 OpenClawsteerOpenClaw,OpenClaw 默认会尝试将该提示词发送到活动运行时。此默认行为不需要配置条目,也不需要队列指令。OpenClaw 和原生 Codex 应用服务器程序实现在交付细节上有所不同。

引导不会中断正在运行的工具调用。OpenClaw 会在模型边界检查排队的引导消息:

  1. 助手请求工具调用。
  2. OpenClaw 执行当前助手消息的工具调用批次。
  3. OpenClaw 发出轮次结束事件。
  4. OpenClaw 清空排队的引导消息。
  5. OpenClaw 会将这些消息作为用户消息附加到下一次 LLM 调用之前。

这可以保持工具结果与请求它们的助手消息配对,然后让下一次模型调用可以看到最新的用户输入。

原生 Codex 应用服务器程序公开的是 turn/steerOpenClawOpenClaw,而不是 OpenClaw 运行时的内部引导队列。OpenClaw 会为配置的静默窗口对排队的提示词进行批处理,然后发送单个 turn/steer 请求,其中包含按到达顺序排列的所有收集到的用户输入。

Codex 审查和手动压缩会拒绝同轮次引导。当运行时无法在 steerOpenClaw 模式下接受引导时,OpenClaw 会等待活动运行完成后再开始处理该提示。

本页解释当模式为 steer 时,针对普通入站消息的队列模式引导。如果模式是 followupcollect,普通消息不会进入此引导路径;它们会等待直到活动运行完成。有关显式的 /steer <message> 命令,请参阅 Steer

模式活动运行行为后续行为
steer在可行时将提示引导至活动运行时。如果无法进行引导,则等待活动运行完成。
followup不进行引导。在活动运行结束后,稍后运行排队的消息。
collect不进行引导。将兼容的排队消息合并为去抖动窗口后的一个后续轮次。
interrupt中止活动运行而不是对其进行引导。中止后开始最新的消息。

如果当代理正在执行工具调用时,四名用户发送了消息:

  • 在默认行为下,活动运行时会在下一次模型决策之前按到达顺序接收全部四条消息。OpenClaw 会在下一个模型边界清空这些消息;Codex 将其作为一批 OpenClawturn/steer 接收。
  • 使用 /queue collectOpenClaw 时,OpenClaw 不会进行引导。它会等待当前活动运行结束,然后在去抖动窗口之后,使用兼容的排队消息创建一个后续轮次。
  • 使用 /queue interruptOpenClaw 时,OpenClaw 会中止当前活动运行并开始处理最新消息,而不是进行引导。

引导始终针对当前活动的会话运行。它不会创建新会话,不会更改活动运行的工具策略,也不会按发送者拆分消息。在多用户渠道中,入站提示已包含发送者和路由上下文,因此下一次模型调用可以看到每条消息是由谁发送的。

当您希望消息默认排队而不是引导活动运行时,请使用 followupcollect。当最新的提示应该替换活动运行时,请使用 interrupt

messages.queue.debounceMs 适用于排队的 followupcollect 交付。在带有原生 Codex 程序的 steer 模式下,它还会在发送批处理的 turn/steerOpenClawOpenClaw 之前设置静默窗口。对于 OpenClaw,活动引导本身不使用防抖计时器,因为 OpenClaw 会自然地将消息批处理直到下一个模型边界。