概述

当消息到达时 Session 正在运行,OpenClaw 可以将该消息注入当前运行时(而非启动新运行)。Steering 不中断正在执行的工具调用,而是在模型边界处批量投递。

核心要点

PI 运行时的 Steering 边界:

  1. 助手请求工具调用
  2. PI 执行当前助手消息的工具调用批次
  3. PI 发出 turn end 事件
  4. PI 排空所有待投递的 steering 消息
  5. PI 在下一次 LLM 调用前将这些消息作为用户消息追加

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

Codex app-server 的差异:

  • 使用 turn/steer 接口而非 PI 内部队列
  • steer 模式:批量发送一个 turn/steer 请求
  • queue 模式:发送多个独立 turn/steer 请求

各模式对比:

模式当前运行行为后续 followup
steer在下一个运行时边界批量注入(默认)仅在 steering 不可用时回退
queue旧版逐条注入仅在 steering 不可用时回退
steer-backlog同 steer同时保留为 followup
followup不 steer当前运行结束后执行
collect不 steer合并为一个 followup turn
interrupt中止当前运行无

Debounce 行为:

  • debounceMs 适用于 followup 投递(collect、followup、steer-backlog、steer 回退)
  • PI 的 active steer 不使用 debounce(自然在模型边界批量处理)
  • Codex harness 使用 debounce 作为安静窗口后发送批量 turn/steer

Scope:Steering 始终针对当前活跃的 Session 运行,不创建新 Session,不改变工具策略。

相关页面