Concept internals

Индикаторы набора текста

Индикаторы набора отправляются в канал чата, пока выполнение активно. Используйте agents.defaults.typingMode, чтобы управлять тем, когда начинается набор, и typingIntervalSeconds, чтобы управлять тем, как часто он обновляется.

Значения по умолчанию

Когда agents.defaults.typingMode не задан, OpenClaw сохраняет прежнее поведение:

  • Личные чаты: набор начинается сразу после запуска цикла модели.
  • Групповые чаты с упоминанием: набор начинается сразу.
  • Групповые чаты без упоминания: набор начинается, когда допущенное выполнение получает видимую пользователю активность, например активность выполнения harness или текст сообщения.
  • Выполнения Heartbeat: набор начинается при запуске выполнения Heartbeat, если разрешенная цель Heartbeat — чат с поддержкой набора, а набор не отключен.

Режимы

Установите agents.defaults.typingMode в одно из значений:

  • never - индикатор набора не показывается никогда.
  • instant - начать набор сразу после запуска цикла модели, даже если выполнение позже возвращает только токен беззвучного ответа.
  • thinking - начать набор при первой дельте рассуждения или при активном выполнении harness после принятия хода.
  • message - начать набор при первой видимой пользователю активности ответа, например активном выполнении harness или небеззвучной текстовой дельте. Токены беззвучного ответа, такие как NO_REPLY, не считаются текстовой активностью.

Порядок «насколько рано срабатывает»: nevermessage/thinkinginstant

Конфигурация

Задайте значение по умолчанию на уровне агента:

json5
{  agents: {    defaults: {      typingMode: "thinking",      typingIntervalSeconds: 6,    },  },}

Переопределите режим или частоту для отдельной сессии:

json5
{  session: {    typingMode: "message",    typingIntervalSeconds: 4,  },}

Примечания

  • Режим message не запускается от токенов беззвучного ответа, но активное выполнение все равно может показать набор до появления текста ассистента.
  • thinking по-прежнему реагирует на потоковые рассуждения (reasoningLevel: "stream"), а также может начаться от активного выполнения до поступления дельт рассуждения.
  • Набор Heartbeat — это сигнал активности для разрешенной цели доставки. Он начинается при запуске выполнения Heartbeat, а не следует таймингу потока message или thinking. Установите typingMode: "never", чтобы отключить его.
  • Heartbeat не показывает набор, когда target: "none", когда цель не удается разрешить, когда доставка в чат отключена для Heartbeat или когда канал не поддерживает набор.
  • typingIntervalSeconds управляет частотой обновления, а не временем запуска. Значение по умолчанию — 6 секунд.

Связанные материалы

Was this useful?
On this page

On this page