HoldToType

Документация

Диктовка в VS Code, терминале и через SSH

HoldToType печатает там, где стоит курсор. Это и редактор, и встроенный терминал, и PowerShell, cmd, Windows Terminal, и удалённая оболочка через SSH, потому что для другой программы это просто вставка или серия нажатий клавиш. Ничто не уходит на сервер, так что на рабочей машине это нормально.

Обновлено · Vitalii Yemets

Как текст попадает в программу

По умолчанию распознанный текст идёт через буфер обмена и Ctrl+V. Windows Terminal, PowerShell, cmd и VS Code это принимают. Там, где Ctrl+V означает что-то другое, скажем, в сеансе vim через SSH, или в поле, которое отказывается вставлять, переключитесь на режим набора в «Управлении и поведении»: тогда программа отправляет текст клавиша за клавишей, и любое окно его принимает.

  • Редактор. Текст ложится в позицию курсора, в текущую строку. Говорите нужные слова; словарь превращает их в идентификаторы.
  • Встроенный терминал. Вставка, как в любом терминале. Ничего не выполняется, пока вы сами не нажмёте Enter.
  • SSH. Удалённая оболочка получает нажатия клавиш, так что режим набора — безопасный выбор для редакторов на той стороне.

Имена, идентификаторы и жаргон

Модели распознавания пишут слова так, как их произносят. Запись в словаре превращает произнесённую форму в письменную: говорите «кубе контрол», получаете kubectl; говорите «рид ми», получаете README.md. Замены делают то же с целыми фразами, а голосовые команды вроде «новая строка» вставляют то, что означают. Список ваш и живёт в папке программы рядом с config.json.

Как словарь, замены и команды сочетаются, описано на странице правил.

Живой текст на плашке

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

Чистка моделью на вашем диске

Постобработка запускает небольшую языковую модель на вашем компьютере или побольше на сервере, который вы укажете, с промптами, которые вы пишете. Промпт, который превращает «вызови функцию foo с x и y» в foo(x, y), занимает несколько строк. Каждая цепочка промптов получает собственное сочетание клавиш, так что одно сочетание даёт прозу, а другое — код. Страница постобработки показывает встроенные промпты.

Где работает программа

На вашем процессоре: без видеокарты, учётной записи и телеметрии. Журнал на вкладке «Система» перечисляет каждую диктовку с количеством сетевых запросов, и это количество — ноль. Портативная папка работает с флешки и с заблокированного ноутбука, где ничего нельзя устанавливать; справочник перечисляет каждую настройку в config.json и локальные порты, через которые общаются части программы.

Настройка за десять минут

  1. Установите из раздела загрузки или распакуйте портативный архив из релизов.
  2. В мастере выберите Nemotron 3.5 для живого текста или Parakeet для наименьшей задержки.
  3. Откройте «Управление и поведение» и решите: удерживать Ctrl+Win или переключатель, чтобы руки оставались на клавишах. Измените сочетание в Сочетаниях клавиш.
  4. Добавьте свои идентификаторы в словарь.
  5. Если терминал отказывается от Ctrl+V, переключитесь на режим набора; справочник перечисляет эту настройку.

Вопросы

Работает в терминале VS Code?

Да. Встроенный терминал принимает вставку, как и любой другой, и ничего не выполняется, пока вы не нажмёте Enter.

Работает через SSH и в vim?

Да, в режиме набора: текст отправляется как нажатия клавиш, так что удалённая сторона видит набор. В vim сначала перейдите в режим вставки.

Она отправляет мой код куда-то?

Нет. Распознавание локальное, и постобработка локальная, если вы сами не укажете ей сервер. Журнал считает сетевые запросы на каждую диктовку.

Попробуйте в своём редакторе

Установите, поставьте курсор в файл, удерживайте Ctrl+Win и скажите строку.

Скачать HoldToType