Skip to content

Голосовой режим Voice: диктовка промптов вместо ввода с клавиатуры

📚 Навигация по серии: Предыдущая статья 46 Настройка окружения научила вас оптимизировать рабочую среду Claude Code: управлять песочницами Bash, настраивать прокси-серверы и ограничивать список доступных моделей для контроля трат. Эта статья переходит к новому способу взаимодействия — голосовому вводу промптов. Команда /voice позволяет диктовать запросы голосом в реальном времени с последующим автоматическим преобразованием речи в текст. Разберем требования к оборудованию, ограничения авторизации и настройку клавиш вызова.

⚠️ Экспериментальная функция, поведение которой может измениться. Голосовой режим находится на этапе активной разработки. Синтаксис команд, поддерживаемые версии и ограничения приведены в соответствии с текущей официальной документацией и могут быть изменены в будущих версиях.

Часто говорят, что голосовой ввод повышает эффективность работы, но в реальности для программистов диктовка текста долгое время оставалась невостребованной функцией. Профессиональные разработчики быстро набирают текст на клавиатуре, а диктовка сложных технических названий переменных, названий функций или форматов вроде snake_case приводит к тому, что стандартные алгоритмы распознавания делают много ошибок. Исправление неверно распознанных символов в итоге занимает больше времени, чем ручной набор. Попытка надиктовать фразу «useEffect» в обычных мобильных заметках часто превращается в «U se if act», после чего разработчик отключает голосовой ввод навсеть.

Голосовой ввод в Claude Code разработан с учетом технических нюансов:

  • Алгоритм обучен распознаванию технических терминов. Программа корректно распознает слова regex, OAuth, JSON, localhost и другие специфические понятия веб-разработки.
  • В контекст распознавания передаются данные проекта. Перед отправкой аудио на транскрипцию система анализирует имя текущей папки проекта и название активной ветки git, используя их как словарь-подсказку для распознавания имен собственных. Это повышает точность распознавания «профессионального жаргона» вашего проекта.

Голосовой режим не заменит написание строк кода, но он позволяет быстро надиктовать длинное описание задачи. Фразу «проведи рефакторинг промежуточного слоя авторизации с переходом на новый хелпер валидации токенов» проще и быстрее сказать голосом, чем набирать вручную. В этой статье мы разберем настройку голосового ввода и решим сопутствующие проблемы.

Прочитав эту статью, вы получите:

  • Понимание того, как устроена функция голосового ввода в Claude Code и где происходит обработка звукового файла.
  • Анализ ограничений авторизации: почему голосовой ввод доступен только при входе через аккаунт Claude.ai и заблокирован при использовании API-ключей.
  • Таблицу поддержки голосового ввода на разных платформах (Mac, Windows, Linux, WSL, удаленный доступ, VS Code).
  • Сравнение двух режимов записи (Hold-to-talk и Tap-to-talk) для выбора удобной схемы взаимодействия.
  • Инструкцию по добавлению голосового ввода в автозагрузку, переключению языков и кастомизации горячих клавиш.
  • Практическое упражнение: настроим микрофон и надиктуем первый запрос.

01 Принцип работы: транскрипция на сервере

Суть технологии: голосовой ввод записывает вашу речь, передает аудиопоток на сервер и преобразует его в текст, помещая результат в строку ввода промпта. Это не голосовой чат, это замена клавиатуры вашим голосом.

Аналогия с онлайн-субтитрами на конференции. Вы запускаете трансляцию презентации и включаете показ субтитров в реальном времени. Система преобразует голос спикера в строки текста на экране. Вы не общаетесь с субтитрами, они лишь дублируют аудио текстом. Голосовой режим в Claude Code работает так же: вы зажимаете клавишу, диктуете запрос, текст появляется в строке ввода, и далее вы работаете с ним как с обычным рукописным текстом — можете дописать символы с клавиатуры или отправить запрос нажатием Enter.

Официальная формулировка:

Диктуйте ваши промпты в консоли Claude Code вместо ручного набора. Речь преобразуется в текст в строке ввода в реальном времени, что позволяет комбинировать голосовой ввод и редактирование с клавиатуры в рамках одного сообщения.

Возможность «комбинировать голосовой ввод и клавиатуру» является важной деталью интерфейса. Текст распознавания вставляется в текущую позицию курсора, а сам курсор смещается в конец вставки. Это позволяет надиктовать общую архитектурную задачу голосом, а затем вручную дописать точные названия файлов или параметров.

Важный технический нюанс:

Аудиопоток не обрабатывается на вашем компьютере. Запись передается в реальном времени на сервера Anthropic, где происходит распознавание речи.

Это влечет три последствия:

  • Требуется стабильное интернет-соединение для передачи аудио.
  • Требуется авторизация аккаунта (сервер должен знать, кто отправляет аудио).
  • Функция не работает при удаленном доступе, если у удаленной машины нет физического доступа к вашему локальному микрофону.

Приятная деталь:

Процесс распознавания речи является бесплатным, не расходует лимиты сообщений и не отображается в счетчике команды /usage.

Вы можете использовать диктовку без опасений за расход лимитов подписки (подробнее о тарифах в статье 06) — вы оплачиваете только финальные текстовые запросы, отправляемые Claude, но не сам процесс транскрипции.

💡 Резюме в одной фразе: Голосовой режим преобразует речь в текст в строке ввода, позволяя комбинировать диктовку и набор с клавиатуры. Обработка звука происходит на серверах Anthropic, при этом транскрипция не расходует ваши лимиты токенов.


02 Ограничение по типу авторизации

Перед настройкой проверьте тип вашей авторизации. Это наиболее частая причина, по которой голосовой ввод оказывается заблокирован.

Поскольку аудио отправляется на сервера Anthropic, система требует подтверждения вашей учетной записи:

Голосовой ввод доступен только при авторизации через персональный аккаунт Claude.ai. Функция не работает при подключении через API-ключи Anthropic, Amazon Bedrock, Google Vertex AI или Microsoft Foundry. Также голосовой режим заблокирован в корпоративных аккаунтах с включенным профилем соответствия HIPAA.

Вернемся к способам подключения из статей 04 и 05:

  • Вход через аккаунт (Pro / Max подписка) — голосовой ввод доступен.
  • Вход через API-ключ — голосовой ввод заблокирован.
  • Подключение через сторонние облака (Bedrock/Vertex) — голосовой ввод заблокирован.
  • Профили HIPAA — голосовой ввод заблокирован.

Это архитектурное ограничение: сетевые шлюзы распознавания речи привязаны к сессиям авторизации веб-интерфейса.

Если в вашей системе прописан API-ключ, при попытке активировать голосовой режим команда /voice вернет ошибку:

text
Voice mode requires a Claude.ai account

При получении этой ошибки проверять настройки микрофона в операционной системе не нужно — проблема заключается в типе авторизации. Для решения проблемы запустите команду /login и авторизуйтесь под своим аккаунтом Claude.ai с активной подпиской.

Схема подключения (статьи 04, 05)Доступность голосового ввода
Персональная подписка Claude.ai (Pro / Max)✅ Доступно
Локальный API-ключ Anthropic (sk-ant-...)❌ Блокировка requires a Claude.ai account
Корпоративные облака (AWS Bedrock / GCP Vertex AI)❌ Блокировка
Учетные записи с HIPAA-соответствием❌ Блокировка

💡 Резюме в одной фразе: Голосовой ввод требует авторизации через аккаунт Claude.ai; при работе через API-ключи или сторонние облака функция возвращает ошибку, для исправления которой необходимо переподключиться через команду /login.


03 Ограничения по оборудованию и поддерживаемые платформы

Для оцифровки речи программе требуется физический доступ к вашему микрофону, что накладывает ограничения при удаленной разработке.

Аналогия с записью звука. Каким бы совершенным ни был алгоритм распознавания речи, ему требуется физический микрофон на вашей стороне. Если вы подключились к удаленному серверу по SSH и пытаетесь диктовать запросы, сервер не сможет услышать вас, так как на его стороне микрофон отсутствует.

Документация ограничивает использование функции:

Голосовой ввод требует локального доступа к микрофону вашей системы. Функция не работает в удаленных окружениях, например, при подключении по SSH или использовании веб-версии Claude Code.

Совместимость платформ и окружений:

Платформа / ОкружениеПоддержкаОсобенности
macOS✅ ДаПри первом вызове /voice операционная система запросит разрешение на доступ к микрофону
Windows✅ ДаТребуется разрешить доступ к микрофону для приложений консоли в настройках конфиденциальности Windows
Linux✅ ДаИспользует встроенный модуль. При его сбое переключается на системные утилиты arecord или rec
WSL⚠️ ЧастичноТребуется настроенный компонент WSLg. На WSL1 функция не работает
SSH-сессии❌ НетФизический микрофон находится на локальном хосте, а вычисления происходят на сервере
Веб-версия Claude Code❌ НетУдаленный запуск в браузере (статья 11) не поддерживает захват локального звука
Расширение VS Code✅ ДаРаботает на локальной машине, но блокируется в режимах VS Code Remote (SSH / Dev Containers)

При работе на Linux при отсутствии установленных утилит записи звука программа /voice выдаст ошибку и выведет готовую команду для установки нужного пакета (например, sudo apt-get install sox), избавляя вас от ручного поиска зависимостей.

При работе в WSL2 (Windows Subsystem for Linux) передача звука осуществляется через встроенный сервер WSLg. Если вы используете старую версию WSL1, голосовой ввод работать не будет; в этом случае запускайте Claude Code непосредственно в операционной системе Windows.

💡 Резюме в одной фразе: Голосовой ввод работает на локальных машинах под управлением macOS, Windows и Linux, но не поддерживается в удаленных SSH-сессиях, контейнерах и веб-интерфейсах, так как требует физического подключения микрофона на стороне выполнения процессов.


04 Два режима записи: Hold-to-talk и Tap-to-talk

Запустив команду /voice, выберите один из двух режимов работы, определяющих логику начала и окончания записи звука.

Аналогия с рацией и диктофоном. Рация работает в режиме Hold — вы обязаны держать кнопку зажатой во время разговора, и запись прекращается, как только вы отпускаете палец. Диктофон работает в режиме Tap — вы один раз нажимаете на кнопку для старта записи и можете отпустить её; для остановки записи нужно нажать на кнопку повторно.

Сравнение режимов записи:

Режим работыНачало записиОкончание записиАвтоотправкаКогда применять
Hold-to-talk (по умолчанию)Зажатие клавиши SpaceОтпускание клавиши SpaceНет (требует нажатия Enter)Когда нужно точно контролировать границы записи
Tap-to-talk (переключение tap)Однократное нажатие SpaceПовторное нажатие SpaceДа (при распознавании ≥3 слов)Для длинных рассуждений без необходимости держать клавишу

Режим Hold-to-talk (по умолчанию)

Для записи запроса зажмите клавишу Space (пробел), надиктуйте текст и отпустите клавишу.

При первом зажатии клавиши вы можете заметить небольшую задержку:

Определение зажатия клавиши в консоли базируется на отслеживании частоты повторения событий клавиатуры. В момент старта программа выводит статус keep holding… (прогрев), а после инициализации переключается на отрисовку звуковой волны. Символы пробела, сгенерированные в момент старта, будут удалены автоматически. Одиночные короткие нажатия пробела продолжают работать как обычный ввод пробела, не запуская запись звука.

После того как вы отпустите клавишу пробела, распознанный текст зафиксируется в строке ввода. По умолчанию автоматическая отправка запроса не происходит — вы можете прочитать текст, исправить опечатки с клавиатуры и отправить сообщение нажатием Enter.

Пример интеграции текста:

text
> refactor the auth middleware to ▮
# Зажимаем Space, диктуем "use the new token validation helper"
> refactor the auth middleware to use the new token validation helper▮

При необходимости продолжить диктовку просто зажмите клавишу пробела еще раз.

Режим Tap-to-talk

Запись активируется однократным нажатием Space, а повторное нажатие останавливает запись и автоматически отправляет запрос Claude. Для включения этого режима запустите команду:

text
/voice tap

Режим Hold доступен начиная с версии Claude Code v2.1.69, а режим Tap — с версии v2.1.116. Проверяйте версию программы через claude --version.

Преимущества режима Tap-to-talk:

  • Нет задержки на «прогрев» клавиатуры при старте записи.
  • Однократное нажатие пробела запускает запись только в том случае, если строка ввода пуста. Это предотвращает случайные срабатывания записи при обычном наборе текста с клавиатуры.
  • Реализована защита от случайных коротких записей: если распознанный текст содержит менее 3 слов, автоматическая отправка блокируется, и текст просто вставляется в строку ввода.

Автоматическая остановка записи в режиме Tap происходит при превышении лимита тишины в 15 секунд или общей длительности записи в 2 минуты.

Режим Tap-to-talk удобен при работе в формате «сказал и отправил», когда вам не нужно проверять текст перед отправкой. Если вы хотите контролировать каждое слово, используйте режим Hold-to-talk.

💡 Резюме в одной фразе: Режим Hold требует удержания клавиши Space во время диктовки, а режим Tap запускается и останавливается одиночными кликами с автоматической отправкой запроса. Режим Tap доступен в версиях v2.1.116 и выше.


05 Кастомизация настроек голосового ввода

Рассмотрим три настройки, повышающие удобство использования голосового ввода.

1. Автоматическая активация при старте

Чтобы не вводить команду /voice при каждом запуске сессии, пропишите параметры в глобальный файл настроек settings.json (структура файлов из статьи 31):

json
{
  "voice": {
    "enabled": true,
    "mode": "tap"
  }
}

Параметр enabled активирует голосовой ввод по умолчанию, а параметр mode определяет стартовый режим работы (hold или tap).

Для включения автоматической отправки сообщений после отпускания клавиши в режиме Hold добавьте флаг autoSubmit:

json
{
  "voice": {
    "enabled": true,
    "mode": "hold",
    "autoSubmit": true
  }
}

2. Поддерживаемые языки распознавания речи

Голосовой ввод настраивается на основе глобального параметра языка диалога:

Язык распознавания речи совпадает с параметром language в настройках Claude Code. Если параметр не задан, распознавание по умолчанию настроено на английский язык.

Список поддерживаемых для распознавания языков фиксирован:

На текущий момент распознавание поддерживает: чешский, датский, голландский, английский, французский, немецкий, греческий, хинди, индонезийский, итальянский, японский, корейский, норвежский, польский, португальский, русский, испанский, шведский, турецкий и украинский языки. Русский язык поддерживается по умолчанию.

Для переключения языка распознавания измените настройки в меню /config или пропишите параметр в файле settings.json:

json
{
  "language": "russian"
}

Если ваш текущий язык общения не входит в список поддерживаемых для распознавания, при запуске /voice программа выдаст предупреждение и переключит распознавание речи на английский язык. Это изменение затронет только голосовой ввод; текстовые ответы Claude продолжит генерировать на выбранном вами языке.

3. Изменение клавиши активации записи

По умолчанию для управления записью используется клавиша Space (пробел). Для назначения другой клавиши внесите изменения в файл ~/.claude/keybindings.json (правила настройки клавиш из статьи 14):

json
{
  "bindings": [
    {
      "context": "Chat",
      "bindings": {
        "meta+k": "voice:pushToTalk",
        "space": null
      }
    }
  ]
}

В примере мы переназначили вызов записи на сочетание meta+k, отключив стандартный биндинг на клавишу пробела.

Важное правило для режима Hold-to-talk:

Избегайте назначения записи на одиночные буквенные клавиши (например, v) в режиме Hold. Из-за задержки определения зажатия первая буква успеет напечататься в строке ввода до старта записи. Используйте модификаторы клавиш (например, сочетания с meta или ctrl), которые лишены этого недостатка.

💡 Резюме в одной фразе: Вы можете настроить автозапуск голосового ввода в settings.json, переключить распознавание на русский язык через параметр language и изменить клавишу активации voice:pushToTalk в файле keybindings.json.


06 Практика: диктуем первый голосовой запрос

Проверим работу голосового ввода на практике. Мы активируем режим, выдадим доступ к микрофону и надиктуем простой запрос.

Перед запуском убедитесь, что вы авторизованы в системе под своим аккаунтом Claude.ai с активной подпиской. Работа на удаленных серверах не поддерживается.

Шаг 1: Проверяем версию программы

В терминале запустите команду:

bash
claude --version

Версия должна быть v2.1.69 или выше (для тестов режима Tap — v2.1.116 или выше). При необходимости обновите Claude Code.

Шаг 2: Активируем голосовой режим

Запустите сессию claude и введите команду:

text
/voice

Ожидаемый результат: операционная система запросит разрешение на доступ к микрофону (для macOS появится системный диалог — нажмите Разрешить). Консоль выведет сообщение о включении режима: Voice mode enabled (hold).

Если вы получили ошибку requires a Claude.ai account, выполните вход через команду /login.

Шаг 3: Проверяем статус в строке ввода

Посмотрите на строку ввода в консоли: в её нижней части отобразится подсказка hold Space to speak, сообщающая о готовности к записи.

Шаг 4: Записываем голосовой промпт

Зажмите клавишу Space и четко надиктуйте фразу на русском языке (если в настройках /config выбран русский язык):

text
# Зажимаем Space и говорим: покажи список файлов в текущей папке

Ожидаемый результат: в процессе диктовки в строке ввода начнут появляться серые символы распознаваемого текста. После того как вы отпустите клавишу пробела, текст станет белым. В строке ввода появится фраза: «покажи список файлов в текущей папке».

Шаг 5: Дописываем текст с клавиатуры

Проверим совмещение ввода. Допишите в строке ввода с клавиатуры:

text
> покажи список файлов в текущей папке и укажи их размеры▮

Нажмите Enter для отправки сообщения. Claude выполнит команду.

Шаг 6: Тестируем режим Tap-to-talk

Переключим режим записи:

text
/voice tap

Очистите строку ввода, один раз нажмите пробел и надиктуйте фразу: «спасибо, на этом все». Нажмите пробел еще раз.

Ожидаемый результат: после повторного нажатия пробела запись остановится, и текст автоматически отправится в чат без нажатия Enter.

Для отключения голосового режима введите команду /voice off.

Вы проверили оба режима записи и научились совмещать диктовку с ручным вводом.

💡 Резюме в одной фразе: Практический тест подтверждает: команда /voice активирует микрофон, зажатие пробела записывает фразу с возможностью ручной доработки, а переключение /voice tap автоматизирует отправку сообщений.


07 Заключение

Мы разобрали технические аспекты настройки и использования голосового ввода в Claude Code.

Резюмируем ключевые выводы статьи:

ТемаГлавная деталь
Что такое VoiceИнструмент диктовки промптов с распознаванием технических терминов и контекста проекта
Ограничение аккаунтаТребуется авторизация через аккаунт Claude.ai (с API-ключами функция не работает)
Ограничение окруженияНеобходим локальный физический микрофон (заблокировано при SSH и удаленном доступе)
Режимы Hold и TapHold (зажать пробел для записи) и Tap (нажать пробел для старта/финиша с автоотправкой)
Поддержка русского языкаПоддерживается по умолчанию при установке параметра "language": "russian" в /config
КастомизацияНастройка клавиши вызова voice:pushToTalk в файле keybindings.json

Голосовой режим Voice позволяет снизить нагрузку на руки при написании длинных текстовых промптов, предоставляя удобную альтернативу клавиатуре при локальной разработке.


В следующей статье 48 «Капстоун-проект: разработка веб-приложения с нуля» мы объединим все изученные в курсе инструменты. Мы проведем практическую разработку полноценного веб-приложения: от инициализации пустого каталога и проектирования архитектуры до настройки MCP-серверов, работы с git-ветками и деплоя готового решения в облако под контролем Claude Code.


Рекомендуемое чтение