Появился локальный транскрибатор Qwen Scribe для Apple Silicon Mac. Расшифровка аудио и видео идёт целиком на устройстве — модель Qwen3-ASR крутится через MLX на Metal GPU. Никакой облачной службы Qwen Scribe, аккаунта или API-ключа: звук и готовый текст с Mac не уходят. Проект в стадии v0.1.0-beta.1. Готовых подписанных сборок пока нет, приложение собирается из исходников командой make app; нотаризованные бинарники Developer ID обещают в v0.2.
Веб-интерфейс на localhost позволяет перетащить аудио- или видеофайл и выбрать одну из двух моделей: 1.7B для точности или 0.6B для скорости. Есть автоматическое определение языка, принудительный язык, словарные подсказки, временные метки и экспорт в SRT. Все расшифровки попадают в локальную историю — её можно переоткрыть, удалить по одной или очистить полностью.
Главная фича — системная диктовка в любом текстовом поле. Зажимаешь правую Command, говоришь, отпускаешь — текст вставляется прямо под курсор. Никаких всплывающих окон не появляется, только не перехватывающий фокус HUD со статусом прослушивания и расшифровки. Для этого Qwen Scribe запрашивает разрешения на микрофон, Input Monitoring и Accessibility. Без последнего автоматическая вставка невозможна, тогда приложение оставляет результат в буфере обмена.
Все данные остаются на машине: расшифровки хранятся в читаемых JSON по пути ~/Library/Application Support/Qwen Scribe/transcripts, логи пишутся в ~/Library/Logs/QwenScribe.log, а модели кешируются в ~/.cache/huggingface/hub. Управлять расположением можно переменными QWEN_SCRIBE_DATA_DIR, QWEN_SCRIBE_MODEL_DIR и QWEN_SCRIBE_PORT (для ручного запуска сервера, по умолчанию порт 8990).
Для работы нужен Apple Silicon Mac с macOS 14 или новее, Python 3.12+, ffmpeg (ставится brew install ffmpeg) и Apple Command Line Tools. Модель 1.7B отъедает примерно 3.4 ГБ unified memory, а 0.6B — около 1.2 ГБ. Веса не включены в репозиторий и скачиваются при первом сеансе.
Сборка через make app компилирует нативный хелпер DictationHelper.m в arm64 bundle, встраивает серверный лаунчер и подписывает результат ad-hoc. Архитектура устроена просто: браузерный UI обращается к очереди заданий FastAPI, та дёргает MLX/Qwen3-ASR, а диктовка сохраняет временный WAV и посылает его в ту же очередь, затем восстанавливает исходный буфер обмена и эмулирует Command-V. GPU-задания сериализуются, чтобы избежать гонок за память.
Проект независимый, лицензируется под Apache-2.0 и не аффилирован ни с Alibaba Cloud, ни с командой Qwen, ни с Apple. Исходники и баг-трекер доступны в репозитории VladUZH/qwen-scribe.