概述

OpenClaw 通过内进程队列串行化所有渠道的自动回复运行,防止多个 Agent 运行相互冲突,同时允许跨 Session 的安全并行。

核心要点

队列架构:

  • Lane-aware FIFO 队列,每个 lane 有可配置的并发上限
  • 默认并发:main lane 4,subagent lane 8,未配置 lane 1
  • 每个 Session 运行先进入 session:<key> lane,再进入 global lane(默认 main)

队列模式(默认 steer):

模式行为
steer将消息注入当前运行,在下一个模型边界前批量投递(推荐)
queue旧版逐条 steering,每个模型边界投递一条
followup等当前运行结束后,作为新 turn 执行
collect合并多条消息为一个 followup turn(安静窗口后触发)
steer-backlog既 steer 当前运行,又保留为 followup
interrupt中止当前运行,执行最新消息(旧版)

默认配置:

  • mode: "steer"
  • debounceMs: 500
  • cap: 20(每 Session 最大排队数)
  • drop: "summarize"(超出时保留摘要)

优先级解析:

  1. Session 内 /queue 覆盖
  2. messages.queue.byChannel.<channel>
  3. messages.queue.mode
  4. 默认 steer

特殊 Lane:cron、cron-nested、nested、subagent 各自独立,不阻塞入站回复

配置/使用

{
  messages: {
    queue: {
      mode: "steer",
      debounceMs: 500,
      cap: 20,
      drop: "summarize",
      byChannel: { discord: "collect" }
    }
  }
}

Session 内临时覆盖:

/queue collect debounce:0.5s cap:25 drop:summarize
/queue default   // 清除覆盖

相关页面