> ## 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.

# Голосовая активация (macOS)

# Голосовая активация и передача по нажатию

## Требования

Для голосовой активации и передачи по нажатию требуется macOS 26 или новее. В более ранних версиях macOS элементы управления скрыты на странице настроек голоса, а вместо них отображается требование macOS 26.

## Режимы

* **Режим ключевого слова** (по умолчанию): постоянно активный распознаватель речи ожидает слова активации (`swabbleTriggerWords`). При совпадении он начинает запись, отображает наложение с частично распознанным текстом и автоматически отправляет его после паузы.
* **Передача по нажатию (удерживайте Right Option)**: удерживайте правую клавишу Option, чтобы сразу начать запись без ключевого слова. Наложение отображается, пока клавиша удерживается; после отпускания запись завершается и передаётся с небольшой задержкой, чтобы вы могли отредактировать текст.

## Поведение во время выполнения (ключевое слово)

* Распознаватель находится в `VoiceWakeRuntime`.
* Активация происходит только при наличии заметной паузы между ключевым словом и следующим словом (`triggerPauseWindow` = 0.55s). Наложение и звуковой сигнал могут появиться во время паузы, ещё до начала команды.
* Интервалы тишины: 2.0s (`silenceWindow`), когда речь продолжается, и 5.0s (`triggerOnlySilenceWindow`), если было распознано только ключевое слово.
* Принудительная остановка: 120s (`captureHardStop`), чтобы предотвратить бесконечные сеансы.
* Задержка между сеансами: 350ms (`debounceAfterSend`) после отправки.
* Наложение управляется через `VoiceWakeOverlayController`; подтверждённый и предварительный текст отображаются разными цветами.
* После отправки распознаватель корректно перезапускается и ожидает следующее ключевое слово.

## Инварианты жизненного цикла

* Если голосовая активация включена и разрешения предоставлены, распознаватель ключевого слова продолжает прослушивание, кроме периодов активной записи в режиме передачи по нажатию.
* После закрытия наложения, в том числе вручную кнопкой X, распознаватель всегда возобновляет работу: `VoiceSessionCoordinator.overlayDidDismiss` вызывает `VoiceWakeRuntime.refresh(state:)` для каждого способа закрытия. Модель сеанса и токена описана в разделе [Голосовое наложение](https://docs2.openclaw.ai/ru/platforms/mac/voice-overlay.md).

## Особенности передачи по нажатию

* Для обнаружения горячей клавиши используется глобальный монитор `.flagsChanged` для правой клавиши Option (`keyCode 61` + `.option`). Он только отслеживает события и никогда не перехватывает их.
* Запись выполняется в `VoicePushToTalk`: распознавание речи запускается немедленно, частичные результаты передаются в наложение, а при отпускании вызывается `VoiceWakeForwarder`.
* При запуске передачи по нажатию среда обработки ключевого слова приостанавливается, чтобы избежать конкурирующего захвата звука; после отпускания она автоматически перезапускается.
* Разрешения: требуются доступ к микрофону и распознаванию речи; для получения событий клавиатуры необходимо разрешение Accessibility/Input Monitoring.
* Внешние клавиатуры: некоторые из них не передают правую клавишу Option ожидаемым образом. Если пользователи сообщают о пропущенных нажатиях, предложите резервное сочетание клавиш.

## Пользовательские настройки

* Переключатель **Голосовая активация**: включает среду обработки ключевого слова.
* **Удерживайте Right Option для разговора**: включает монитор передачи по нажатию.
* Средства выбора языка и микрофона, индикатор уровня в реальном времени, таблица ключевых слов и средство проверки (работает только локально и ничего не передаёт).
* Средство выбора микрофона сохраняет последний выбранный вариант при отключении устройства, показывает уведомление об отключении и временно использует системное устройство по умолчанию, пока выбранное устройство не станет доступно снова.
* **Звуки**: сигналы при обнаружении ключевого слова и отправке; по умолчанию используется системный звук macOS "Glass". Для каждого события можно выбрать любой файл, загружаемый через `NSSound` (например, MP3/WAV/AIFF), или выбрать **Без звука**.

## Поведение при передаче

* При передаче `VoiceWakeForwarder.selectedSessionOptions` выбирает ключ активного сеанса WebChat, если он задан, иначе — ключ основного сеанса Gateway.
* Этот сеанс ищется через `sessions.list`, после чего канал и получатель определяются из контекста доставки сеанса (с переходом к последнему каналу и получателю, а затем к разобранному ключу сеанса); если определить их не удаётся, по умолчанию используется WebChat.
* Если доставка завершается с ошибкой, она записывается в журнал (категория `voicewake.forward`), а выполнение по-прежнему отображается в WebChat и журналах сеанса.

## Полезная нагрузка передачи

* `VoiceWakeForwarder.prefixedTranscript(_:)` добавляет перед расшифровкой строку с подсказкой о компьютере (определённое имя узла или "этот Mac", если определить его не удалось); эта строка используется как для ключевого слова, так и для передачи по нажатию.

## Быстрая проверка

* Включите передачу по нажатию, удерживайте Right Option, произнесите текст и отпустите клавишу: наложение должно сначала показать частичные результаты, а затем отправить текст.
* Пока клавиша удерживается, значок ушей в строке меню должен оставаться увеличенным (`triggerVoiceEars(ttl: nil)`); после отпускания он уменьшается.

## Связанные разделы

* [Голосовая активация](https://docs2.openclaw.ai/ru/nodes/voicewake.md)
* [Голосовое наложение](https://docs2.openclaw.ai/ru/platforms/mac/voice-overlay.md)
* [Приложение для macOS](https://docs2.openclaw.ai/ru/platforms/macos.md)
