Concept internals

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

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

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

Когда agents.defaults.typingMode не задан:

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

Режимы

Задайте для agents.defaults.typingMode одно из следующих значений:

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

Порядок от самого раннего срабатывания: never -> message/thinking -> instant.

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

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

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

Переопределите режим или интервал для отдельного сеанса:

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

Примечания

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

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

Was this useful?
On this page

On this page