概述
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: 500cap: 20(每 Session 最大排队数)drop: "summarize"(超出时保留摘要)
优先级解析:
- Session 内
/queue覆盖 messages.queue.byChannel.<channel>messages.queue.mode- 默认
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 // 清除覆盖
相关页面
- queue-steering — Steering 队列的运行时边界详解
- session — 会话管理
- agent-loop — Agent 执行循环