> ## Documentation Index
> Fetch the complete documentation index at: https://docs2.openclaw.ai/llms.txt
> Use this file to discover all available pages before exploring further.

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

Индикаторы набора текста отправляются в канал чата, пока выполняется запуск. Используйте `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 theme={"theme":{"light":"min-light","dark":"min-dark"}}
{
  agents: {
    defaults: {
      typingMode: "thinking",
      typingIntervalSeconds: 6,
    },
  },
}
```

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

```json5 theme={"theme":{"light":"min-light","dark":"min-dark"}}
{
  session: {
    typingMode: "message",
    typingIntervalSeconds: 4,
  },
}
```

## Примечания

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

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

> [card] [Присутствие](https://docs2.openclaw.ai/ru/concepts/presence.md)
>
> Как Gateway отслеживает подключённые клиенты для страницы Devices в Control UI и вкладки Instances в macOS.

> [card] [Потоковая передача и разбиение на фрагменты](https://docs2.openclaw.ai/ru/concepts/streaming.md)
>
> Поведение исходящей потоковой передачи, границы фрагментов и особенности доставки для отдельных каналов.
