Skip to content

Repository files navigation

SuperDictate

Установить за минуту

Нужен Mac с Apple Silicon (M1 или новее) и macOS 14+.

  1. Откройте приложение Terminal.
  2. Вставьте эту команду и нажмите Enter:
curl -fsSL https://raw.githubusercontent.com/shlgd/SuperDictate/v0.2.39/install.sh | /usr/bin/arch -arm64 /bin/bash
  1. В открывшемся SuperDictate нажмите Разрешить для Микрофона, Универсального доступа и Мониторинга ввода.
  2. Дождитесь статуса Работает, нажмите правый Command и говорите. Нажмите правый Command ещё раз, чтобы вставить текст.

При первом запуске один раз загрузится локальная модель распознавания. На диске она занимает около 460 МБ; для установки лучше иметь не менее 1 ГБ свободного места. После загрузки интернет для диктовки не нужен.

SuperDictate — быстрая локальная диктовка для macOS. Аудио и расшифровка не отправляются в облачный API.

Обновиться

Если в SuperDictate уже есть кнопка Обновить: откройте приложение из папки Applications и нажмите эту кнопку. Приложение само скачает и проверит новую версию, заменит старую и запустится заново.

Если SuperDictate был установлен до появления кнопки обновления: ничего не удаляйте. Откройте Terminal и ещё раз выполните ту же команду:

curl -fsSL https://raw.githubusercontent.com/shlgd/SuperDictate/main/install.sh | /usr/bin/arch -arm64 /bin/bash

Команда заменяет только /Applications/SuperDictate.app. История, настройки и уже загруженная модель остаются на месте. После этого следующие обновления можно устанавливать прямо из приложения.

Последнюю опубликованную версию также всегда можно увидеть на странице GitHub Releases.

Горячие клавиши

  • Правый Command — начать диктовку; повторное нажатие завершает запись.
  • В настройках можно выбрать, что делает повторное нажатие: просто вставляет текст или вставляет текст и затем нажимает Enter.
  • Правый Option + правый Command — альтернативно завершить активную запись. Он выполняет противоположное действие: если основной хоткей нажимает Enter, этот завершит без Enter, и наоборот. Альтернативный хоткей можно выключить.
  • Правый Shift + правый Command — открыть или закрыть быструю историю.
  • Все три сочетания можно изменить независимо. Поддерживаются одиночные клавиши, функциональные клавиши, обычные сочетания и сочетания только из модификаторов, например Option + Command.
  • Левая и правая основные клавиши различаются: сочетание с правым Command не сработает от левого Command.
  • Пока открыто окно записи нового сочетания, глобальная диктовка временно приостанавливается. Нажатые клавиши только записывают новый хоткей и ничего не запускают.
  • Откройте SuperDictate из Applications, чтобы проверить службу, разрешения и обновления. Настройки открываются кнопкой-шестерёнкой.

Панель управления

Основная панель компактна: в ней видны состояние фоновой службы, недостающие разрешения и доступное обновление. Кнопки управления службой находятся справа от её статуса; при наведении macOS показывает пояснение к каждой кнопке.

Шестерёнка открывает отдельное окно с тремя сочетаниями, поведением завершения, выбором микрофона, размером капсулы, цветами и фоном индикатора. Переключатель RU / EN мгновенно меняет язык обеих панелей. Изменения сначала остаются черновиком; кнопка Сохранить и перезапустить применяет их вместе и перезапускает только фоновую службу. История и модель при этом не удаляются.

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

Зачем нужны разрешения

macOS не разрешает приложению выдать их самому:

  • Microphone — записывать голос во время активной диктовки.
  • Accessibility — находить активное поле и вставлять готовый текст.
  • Input Monitoring — видеть глобальную горячую клавишу.

Если после выдачи разрешений статус не стал Ready, откройте SuperDictate и нажмите Restart у фоновой службы. Если приложение не появилось в системном списке, нажмите Try Again у соответствующего разрешения.

Что делает установщик

Установщик:

  1. Загружает SuperDictate.zip из GitHub Releases.
  2. Проверяет закреплённую SHA-256, версию, bundle ID, архитектуру arm64, подпись и microphone-entitlements.
  3. Безопасно заменяет /Applications/SuperDictate.app и открывает панель.

Xcode и Command Line Tools для обычной установки не нужны. История, настройки и уже загруженная модель при обновлении сохраняются.

Подробнее об обновлении

Если установлена v0.2.26 или новее

  1. Откройте SuperDictate из папки Applications.
  2. В нижней строке панель сама покажет новую версию.
  3. Нажмите Обновить.

Архив скачается, пройдёт проверку SHA-256, bundle ID, версии и подписи, после чего приложение заменит себя и откроется заново. История, настройки и модель сохраняются. Предыдущая версия автоматически восстанавливается при ошибке.

Если установлена v0.2.25 или старее

В этих версиях кнопки ещё нет. Один раз повторите установочную команду ниже. Она обновит приложение без удаления истории, настроек и модели. Все следующие обновления можно будет устанавливать кнопкой в панели.

Эта же команда остаётся запасным способом для любой версии:

curl -fsSL https://raw.githubusercontent.com/shlgd/SuperDictate/v0.2.39/install.sh | /usr/bin/arch -arm64 /bin/bash

Приложение само не устанавливает обновления в фоне: запуск обновления всегда нужно подтвердить кнопкой.

Сборка из исходников

Самый простой способ

Команда скачает открытый исходный код, соберёт его локально и установит результат в /Applications:

curl -fsSL https://raw.githubusercontent.com/shlgd/SuperDictate/v0.2.39/install.sh | SUPERDICTATE_BUILD_FROM_SOURCE=1 /usr/bin/arch -arm64 /bin/bash

Понадобятся бесплатные Apple Command Line Tools. Если их нет, установщик откроет стандартный диалог установки; после его завершения запустите команду ещё раз. Первая чистая сборка обычно занимает несколько минут.

По умолчанию сборка из исходников скачивает точный коммит исходного кода релиза и проверяет его через GitHub. Для разработки можно передать свои SUPERDICTATE_REF и SUPERDICTATE_SOURCE_COMMIT; без совпадения коммита установщик не запустит скачанный scripts/build-app.sh.

Ручная сборка для разработки

xcode-select --install
git clone https://github.com/shlgd/SuperDictate.git
cd SuperDictate
swift run -c debug --package-path swift Parakey --self-test all
./scripts/build-app.sh ./dist/SuperDictate.app
open ./dist/SuperDictate.app

По умолчанию локальная сборка подписывается ad-hoc. Чтобы использовать свой сертификат, передайте его имя:

SIGN_IDENTITY="Apple Development: Your Name (TEAMID)" ./scripts/build-app.sh ./dist/SuperDictate.app

Не перемещайте и не удаляйте dist/SuperDictate.app, пока фоновая служба запущена из этой сборки. Для обычного использования предпочтительнее команда с SUPERDICTATE_BUILD_FROM_SOURCE=1, которая ставит приложение в /Applications.

Проверки перед pull request

bash -n install.sh uninstall.sh scripts/build-app.sh
plutil -lint swift/Info.plist entitlements.plist
swift run -c debug --package-path swift Parakey --self-test all
./scripts/build-app.sh ./dist/SuperDictate.app
codesign --verify --deep --strict ./dist/SuperDictate.app

GitHub Actions повторяет самотесты, собирает bundle, прогоняет установщик на чистом macOS runner и проверяет удаление.

Ограничения

  • Поддерживаются только Apple Silicon и macOS 14 или новее. Intel Mac, Windows и Linux пока не поддерживаются.
  • Публичная сборка подписана ad-hoc и не нотарифицирована Apple. Установка через команду выше проверена, но ZIP, скачанный вручную через браузер, может вызвать предупреждение Gatekeeper.
  • Из-за отсутствия стабильной Developer ID подписи macOS иногда повторно запрашивает разрешения после обновления. Нотаризация требует платного аккаунта Apple Developer.
  • Первый запуск требует интернет для загрузки модели. Панель проверяет обновления при открытии; фоновая автопроверка, если включена, обращается к публичному GitHub API раз в шесть часов.
  • Одна запись автоматически завершается через 20 минут. При аварийном завершении незаконченная запись сохраняется для восстановления истории.
  • Защищённые поля паролей и приложения, которые скрывают Accessibility-данные, могут не отдавать координаты каретки. Это влияет на положение анимации, но не всегда мешает вставке текста.
  • Ориентир по ресурсам на текущей сборке: около 460 МБ на диске для модели, примерно 100–150 МБ памяти в простое и до 500 МБ во время загрузки/работы модели. Значения зависят от macOS и длины записи.

Данные и приватность

  • История и настройки: ~/Library/Application Support/SuperDictate.
  • Модель FluidAudio: ~/Library/Application Support/FluidAudio/Models.
  • LaunchAgent: ~/Library/LaunchAgents/com.local.superdictate.agent.plist.
  • Логи: ~/Library/Logs/SuperDictate*.
  • Аналитики, аккаунтов и телеметрии нет.

Подробнее: PRIVACY.md.

Удаление

curl -fsSL https://raw.githubusercontent.com/shlgd/SuperDictate/v0.2.39/uninstall.sh | bash

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

Происхождение и лицензия

SuperDictate основан на открытом проекте Parakey Richard Courtman. Исходный и изменённый код распространяется по лицензии MIT. См. LICENSE и NOTICE.md.

About

Fast, private, local dictation for Apple Silicon Macs.

Topics

Resources

Contributing

Security policy

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages