Режим разговора

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

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

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

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

Директивы голоса в ответах

Ассистент может добавить префикс к своему ответу одной строкой JSON, чтобы управлять голосом:

{"voice":"<voice-id>","once":true}

Правила:

  • Только первая непустая строка.
  • Неизвестные ключи игнорируются.
  • once: true применяется только к текущему ответу.
  • Без once голос становится новым значением по умолчанию для режима разговора.
  • Строка 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)

{
  "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 (или профилю оболочки шлюза, если доступен)
  • outputFormat: по умолчанию pcm_44100 на macOS/iOS и pcm_24000 на Android (установите mp3_*, чтобы принудительно использовать потоковое воспроизведение MP3)

macOS UI

  • Переключатель в строке меню: Talk
  • Вкладка конфигурации: группа Режим разговора (идентификатор голоса + переключатель прерывания)
  • Наложение:
    • Слушание: облако пульсирует с уровнем микрофона
    • Думание: погружающаяся анимация
    • Говорение: излучающие кольца
    • Щелкните облако: остановить говорение
    • Щелкните X: выйти из режима разговора

Примечания

  • Требует разрешения Речь + Микрофон.
  • Использует 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 с низкой задержкой.