steer. Для такого поведения по умолчанию не требуется ни запись конфигурации,
ни директива очереди. OpenClaw и нативный серверный harness приложения Codex реализуют
детали доставки по-разному.
Граница среды выполнения
Управление не прерывает уже выполняющийся вызов инструмента. OpenClaw проверяет поставленные в очередь управляющие сообщения на границах модели:- Ассистент запрашивает вызовы инструментов.
- OpenClaw выполняет пакет вызовов инструментов из текущего сообщения ассистента.
- OpenClaw отправляет событие завершения хода.
- OpenClaw выгружает поставленные в очередь управляющие сообщения.
- OpenClaw добавляет эти сообщения как пользовательские перед следующим вызовом LLM.
turn/steer вместо
внутренней очереди управления среды выполнения OpenClaw. OpenClaw группирует поставленные
в очередь запросы в течение настроенного окна тишины, затем отправляет один запрос
turn/steer со всем собранным пользовательским вводом в порядке поступления.
Ходы ревью Codex и ручной Compaction отклоняют управление в рамках того же хода. Когда
среда выполнения не может принять управление в режиме steer, OpenClaw ждет завершения
активного выполнения перед запуском запроса.
На этой странице описано управление в режиме очереди для обычных входящих сообщений, когда режим
равен steer. Если режим равен followup или collect, обычные сообщения не попадают
в этот путь управления; они ждут, пока активное выполнение завершится. Для явной команды
/steer <message> см. Управление.
Режимы
| Режим | Поведение при активном выполнении | Последующее поведение |
|---|---|---|
steer | Направляет запрос в активную среду выполнения, когда это возможно. | Ждет завершения активного выполнения, если управление недоступно. |
followup | Не выполняет управление. | Запускает поставленные в очередь сообщения позже, после завершения активного выполнения. |
collect | Не выполняет управление. | Объединяет совместимые поставленные в очередь сообщения в один последующий ход после окна debounce. |
interrupt | Прерывает активное выполнение вместо управления им. | Запускает новейшее сообщение после прерывания. |
Пример всплеска
Если четыре пользователя отправляют сообщения, пока агент выполняет вызов инструмента:- При поведении по умолчанию активная среда выполнения получает все четыре сообщения
в порядке поступления перед следующим решением модели. OpenClaw выгружает их на следующей
границе модели; Codex получает их как один сгруппированный
turn/steer. - При
/queue collectOpenClaw не выполняет управление. Он ждет завершения активного выполнения, затем создает последующий ход с совместимыми поставленными в очередь сообщениями после окна debounce. - При
/queue interruptOpenClaw прерывает активное выполнение и запускает новейшее сообщение вместо управления.
Область действия
Управление всегда нацелено на текущее активное выполнение сеанса. Оно не создает новый сеанс, не меняет политику инструментов активного выполнения и не разделяет сообщения по отправителю. В многопользовательских каналах входящие запросы уже включают контекст отправителя и маршрута, поэтому следующий вызов модели может видеть, кто отправил каждое сообщение. Используйтеfollowup или collect, когда хотите, чтобы сообщения по умолчанию ставились в очередь
вместо управления активным выполнением. Используйте interrupt, когда новейший запрос должен
заменить активное выполнение.
Debounce
messages.queue.debounceMs применяется к доставке поставленных в очередь followup и collect.
В режиме steer с нативным harness Codex он также задает окно тишины
перед отправкой сгруппированного turn/steer. Для OpenClaw само активное управление не использует
таймер debounce, потому что OpenClaw естественным образом группирует сообщения до следующей
границы модели.