Полгода я собираю голосового помощника для macOS, который не просто отвечает, а выполняет действия на компьютере: открывает папки, ищет файлы, включает фильмы, читает почту. Главное условие, которое я себе поставил, — языковая модель должна работать локально, на том же Mac, без облака и подписок. В статье расскажу, из чего состоит такая система, как я дообучал модель на ноутбуке и на какие грабли наступил по дороге.
Общая схема
Приложение написано на Electron. Вокруг окна работают несколько отдельных процессов:
- Слух — процесс на Python: детектор речи (VAD) и распознавание через Whisper в сборке под MLX (Apple Silicon).