Messages and delivery

Очередь управления

Когда обычный запрос поступает во время уже транслируемого выполнения сеанса, OpenClaw по умолчанию пытается отправить этот запрос в активную среду выполнения, если режим очереди равен steer. Для такого поведения по умолчанию не требуется ни запись конфигурации, ни директива очереди. OpenClaw и нативный серверный harness приложения Codex реализуют детали доставки по-разному.

Граница среды выполнения

Управление не прерывает уже выполняющийся вызов инструмента. OpenClaw проверяет поставленные в очередь управляющие сообщения на границах модели:

  1. Ассистент запрашивает вызовы инструментов.
  2. OpenClaw выполняет пакет вызовов инструментов из текущего сообщения ассистента.
  3. OpenClaw отправляет событие завершения хода.
  4. OpenClaw выгружает поставленные в очередь управляющие сообщения.
  5. OpenClaw добавляет эти сообщения как пользовательские перед следующим вызовом LLM.

Так результаты инструментов остаются связаны с сообщением ассистента, которое их запросило, а следующий вызов модели видит самый свежий пользовательский ввод.

Нативный серверный harness приложения Codex предоставляет 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 collect OpenClaw не выполняет управление. Он ждет завершения активного выполнения, затем создает последующий ход с совместимыми поставленными в очередь сообщениями после окна debounce.
  • При /queue interrupt OpenClaw прерывает активное выполнение и запускает новейшее сообщение вместо управления.

Область действия

Управление всегда нацелено на текущее активное выполнение сеанса. Оно не создает новый сеанс, не меняет политику инструментов активного выполнения и не разделяет сообщения по отправителю. В многопользовательских каналах входящие запросы уже включают контекст отправителя и маршрута, поэтому следующий вызов модели может видеть, кто отправил каждое сообщение.

Используйте followup или collect, когда хотите, чтобы сообщения по умолчанию ставились в очередь вместо управления активным выполнением. Используйте interrupt, когда новейший запрос должен заменить активное выполнение.

Debounce

messages.queue.debounceMs применяется к доставке поставленных в очередь followup и collect. В режиме steer с нативным harness Codex он также задает окно тишины перед отправкой сгруппированного turn/steer. Для OpenClaw само активное управление не использует таймер debounce, потому что OpenClaw естественным образом группирует сообщения до следующей границы модели.

Связанное

Was this useful?
On this page

On this page