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

# Режим Talk

# Режим Talk

Режим Talk — это непрерывный цикл голосового диалога:

1. Прослушивание речи
2. Отправка транскрипта модели (основной сеанс, chat.send)
3. Ожидание ответа
4. Озвучивание через ElevenLabs (потоковое воспроизведение)

## Поведение (macOS)

* **Постоянно активный оверлей**, пока включён режим Talk.
* Переходы фаз **Прослушивание → Обдумывание → Озвучивание**.
* При **короткой паузе** (окне тишины) текущий транскрипт отправляется.
* Ответы **записываются в WebChat** (как при наборе текста).
* **Прерывание по речи** (включено по умолчанию): если пользователь начинает говорить, пока ассистент озвучивает ответ, воспроизведение останавливается и отметка времени прерывания учитывается в следующем запросе.

## Голосовые директивы в ответах

Ассистент может предварять свой ответ **одной строкой JSON** для управления голосом:

```json theme={"theme":{"light":"min-light","dark":"min-dark"}}
{ "voice": "<voice-id>", "once": true }
```

Правила:

* Только первая непустая строка.
* Неизвестные ключи игнорируются.
* `once: true` применяется только к текущему ответу.
* Без `once` голос становится новым значением по умолчанию для режима Talk.
* Строка JSON удаляется перед воспроизведением TTS.

Поддерживаемые ключи:

* `voice` / `voice_id` / `voiceId`
* `model` / `model_id` / `modelId`
* `speed`, `rate` (WPM), `stability`, `similarity`, `style`, `speakerBoost`
* `seed`, `normalize`, `lang`, `output_format`, `latency_tier`
* `once`

## Конфигурация (`~/.openclaw/openclaw.json`)

```json5 theme={"theme":{"light":"min-light","dark":"min-dark"}}
{
  talk: {
    voiceId: "elevenlabs_voice_id",
    modelId: "eleven_v3",
    outputFormat: "mp3_44100_128",
    apiKey: "elevenlabs_api_key",
    interruptOnSpeech: true,
  },
}
```

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

* `interruptOnSpeech`: true
* `voiceId`: с откатом к `ELEVENLABS_VOICE_ID` / `SAG_VOICE_ID` (или к первому голосу ElevenLabs при наличии ключа API)
* `modelId`: по умолчанию `eleven_v3`, если не задано
* `apiKey`: с откатом к `ELEVENLABS_API_KEY` (или к профилю оболочки Gateway (шлюз), если доступен)
* `outputFormat`: по умолчанию `pcm_44100` на macOS/iOS и `pcm_24000` на Android (установите `mp3_*` для принудительной потоковой передачи MP3)

## Интерфейс macOS

* Переключатель в строке меню: **Talk**
* Вкладка конфигурации: группа **Talk Mode** (идентификатор голоса + переключатель прерываний)
* Оверлей:
  * **Прослушивание**: пульсации облака с уровнем микрофона
  * **Обдумывание**: анимация погружения
  * **Озвучивание**: расходящиеся кольца
  * Клик по облаку: остановить озвучивание
  * Клик по X: выйти из режима Talk

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

* Требуются разрешения на доступ к распознаванию речи и микрофону.
* Использует `chat.send` с ключом сеанса `main`.
* TTS использует потоковый API ElevenLabs с `ELEVENLABS_API_KEY` и инкрементальным воспроизведением на macOS/iOS/Android для меньшей задержки.
* `stability` для `eleven_v3` проверяется на соответствие `0.0`, `0.5` или `1.0`; другие модели принимают `0..1`.
* `latency_tier` проверяется на соответствие `0..4` при задании.
* Android поддерживает форматы вывода `pcm_16000`, `pcm_22050`, `pcm_24000` и `pcm_44100` для низколатентного потокового воспроизведения через AudioTrack.
