Skip to content

legolev/speakagent_desktop

Русский · English

SpeakAgent Desktop

Расшифровка со спикерами · голосовой ввод · локальный MCP-сервер — полностью офлайн

Три инструмента в одном настольном приложении: расшифровка записей с разбивкой по спикерам и ИИ-итогами, голосовой ввод в любой программе и локальный MCP-сервер для ИИ-агентов. Всё считается на вашем компьютере — ни один байт записи не уходит в сеть.

Бесплатно · без аккаунта и регистрации · всё считается локально

Последний релиз CI Windows 10/11 macOS Intel + Apple Silicon 100% офлайн Лицензия Apache 2.0 Tauri 2

Скачать последнюю версию

Скачать для Windows   Скачать для macOS (Apple Silicon)   Скачать для macOS (Intel)

Прямое скачивание последней версии. Не уверены, какой у вас Mac? Меню Apple → «Об этом Mac»: чип «Apple M…» — Apple Silicon; «Intel» — Intel. Про первый запуск (Gatekeeper) — раздел Установка.


Оглавление

Три функции · Возможности · Скриншоты · Как это работает · Модели · Производительность · Установка · Технологии · Дорожная карта · Лицензия

🎯 Три функции в одном приложении

🎧 Расшифровка записей. Встреча, интервью, лекция или голосовое → чистый текст с разбивкой «кто когда говорил» и «Итогами встречи» (саммари, деловой протокол, список задач) силами локальной ИИ. Плеер с караоке-подсветкой, экспорт в TXT/MD/PDF, история.

🎙️ Голосовой ввод (диктовка). Глобальная горячая клавиша в любой программе: зажали, продиктовали, отпустили — текст мгновенно распознан локально и вставлен по месту курсора. Как superwhisper, только офлайн и бесплатно.

🔌 Локальный MCP-сервер. Движок расшифровки и диаризации доступен любому ИИ/код-агенту (Claude Code, Cursor, VS Code, Codex) прямо на вашем ПК — распознавание файлов, диаризация, протоколы и история через Model Context Protocol.

Всё — полностью офлайн, на любом железе, без подписок и аккаунтов.

✨ Возможности

Для кого: журналисты, исследователи, студенты, юристы, врачи, HR — все, кому нужно приватно превратить интервью, лекцию, встречу или голосовое в текст, не загружая запись в чужое облако.

🔒 Полностью офлайн Транскрипция, диаризация и ИИ-итоги работают локально. Аудио никогда не покидает компьютер — особенно для интервью, переговоров, а также медицинских, юридических и кадровых записей.
🗣️ Кто когда говорил Речь автоматически разбивается по спикерам: «Спикер 1 [00:14]: …». Можно указать точное число говорящих или довериться авто-определению.
📝 «Итоги встречи» Локальная LLM превращает расшифровку в саммари, деловой протокол, конспект собеседования или список задач — с интерактивными чек-боксами.
💻 Работает на слабом железе CPU-first: даже на одном ядре ~×7 быстрее реального времени (~17 мин на час записи), пик RAM < 1 ГБ. GPU не обязателен.
🌍 Выбор модели и языка Русский по умолчанию (GigaAM v3), плюс мультиязычные Parakeet (25 языков) и Whisper — от small до large-v3 turbo (99 языков) — переключаются в настройках.
🎧 Плеер с караоке-подсветкой Встроенный аудио/видео-плеер подсвечивает активную реплику; клик по строке перематывает к нужному месту.
✏️ Переименование спикеров «Спикер 1» → «Иван»: имена сохраняются и подставляются даже в промпты LLM, поэтому протокол пишет «Иван», а не «Speaker 2».
📄 Экспорт TXT / MD / PDF Выгрузка расшифровки и итогов; PDF генерируется нативно со встроенным кириллическим шрифтом.
🕘 История записей Все результаты хранятся в локальной SQLite-базе и восстанавливаются при следующем запуске. Авто-заголовок по содержанию встречи.
GPU-ускорение для итогов Дискретная карта с Vulkan (≥ 4 ГБ VRAM) автоматически ускоряет LLM ~в 10×; на iGPU/без Vulkan тихо работает на CPU.
📥 Честная авто-загрузка Мастер первого запуска и фоновая докачка моделей с реальными размерами в UI; мелкие модели вшиты в установщик.
🖱️ Drag & drop, отмена, ETA Перетаскивание файлов, кнопка «Стоп», само-калибрующаяся оценка времени, живой статус-бар с загрузкой CPU/RAM.
🎙️ Диктовка (push-to-talk) Глобальная горячая клавиша (даже одиночная — напр. правый Shift): зажали — говорите, отпустили — текст мгновенно распознаётся локально, копируется в буфер и вставляется по месту курсора в любом приложении. История диктовок — отдельной вкладкой.
🔌 Локальный MCP-сервер Встроенный сервер Model Context Protocol на 127.0.0.1: любой ИИ/код-агент (Claude Code, Cursor, VS Code, Codex) обращается к движку — распознаёт файлы, делает диаризацию, протоколы и смотрит историю. Кнопки быстрого добавления в клиенты.
🖥️ Трей + фон Сворачивается в трей (иконка в стиле системных), закрытие окна не останавливает обработку и MCP-сервер.
⬆️ Авто-обновление «О приложении» → «Проверить»: приложение само находит свежий релиз на GitHub, скачивает и устанавливает его бесшовно (подписанные обновления).

🎬 Скриншоты

Диалог по спикерам с таймкодами; активная реплика подсвечивается при воспроизведении

Расшифровка с разбивкой по спикерам — активная реплика подсвечивается синхронно с плеером, клик по реплике перематывает запись.

Главная
Главная
Диктовка
Диктовка (push-to-talk)
MCP-сервер
Локальный MCP-сервер
О приложении
О приложении · авто-обновление

⚙ Как это работает

Единый нативный конвейер, целиком на вашей машине:

flowchart LR
    A["Аудио / видео"] -->|"symphonia · ffmpeg"| B["16 кГц моно PCM"]
    B -->|"Silero VAD"| C["Речевые сегменты"]
    C -->|"GigaAM / Parakeet / Whisper"| D["Слова + таймкоды"]
    C -->|"pyannote + CAM++"| E["Кто когда говорил"]
    D --> F["Пост-обработка"]
    E --> F
    F --> G["Диалог по спикерам"]
    G -.->|"локальная LLM"| H["Итоги встречи"]
Loading
  1. Декод — аудио/видео разбирается в 16 кГц моно PCM: нативно через symphonia, с fallback на ffmpeg для webm/opus и всего, что symphonia не берёт.
  2. Нарезка по речи (VAD) — Silero VAD режет длинный файл на сегменты (≤ 20 с) так, чтобы границы падали в тишину, а не посреди слова.
  3. Распознавание (ASR) — каждый сегмент проходит через sherpa-onnx (GigaAM CTC / Parakeet / Whisper) → слова с таймкодами; GigaAM v3 сразу отдаёт пунктуацию и заглавные.
  4. Диаризация — pyannote-segmentation + эмбеддер CAM++ определяют, «кто когда говорил» (порог кластеризации или точное число спикеров из UI).
  5. Пост-обработка — назначение слов спикерам по максимальному перекрытию, сглаживание «островков», склейка соседних реплик → формат «Спикер N [таймкод]: текст».
  6. «Итоги встречи» (опционально) — расшифровка уходит в локальную LLM через llama-server → саммари / протокол / задачи. Длинные записи идут через map-reduce с кэшем дайджеста, поэтому второй артефакт по той же встрече считается в ~9× дешевле.

🧠 Модели

Языковую модель выбирают в настройках; служебные модели диаризации тянутся в фоне. Всё скачивается при первом запуске и не входит в репозиторий.

Модель Роль Размер Лицензия
GigaAM v3 CTC-punct ASR — русский (по умолчанию), пунктуация + таймкоды слов ~160 МБ ⚠️ Некоммерческая
Parakeet-TDT-0.6b-v3 ASR — 25 языков, самый быстрый ~640 МБ CC-BY-4.0
Whisper small ASR — 98 языков ~466 МБ MIT
Whisper large-v3 turbo ASR — 99 языков, для трудного аудио ~540 МБ MIT
Qwen3-4B-Instruct-2507 (Q4_K_M) LLM «Итоги» — лучшее качество ~2.4 ГБ Apache-2.0
Qwen3-1.7B (Q4_K_M) LLM «Итоги» — для слабых ПК ~1.1 ГБ Apache-2.0
pyannote-segmentation-3.0 Диаризация — сегментация речи ~6 МБ MIT
CAM++ (3D-Speaker) Диаризация — различение голосов ~28 МБ Apache-2.0
Silero VAD Детектор речи ~2 МБ MIT

⚠️ Модель по умолчанию GigaAM — под некоммерческой лицензией. Подробности и лицензии остальных компонентов — в NOTICE.md.

📊 Производительность

Замеры на CPU (Фаза 0 и реальные встречи). GPU нужен только для «Итогов» — ASR он не ускоряет.

Что Значение
GigaAM (русский), CPU ×15.9 быстрее реального времени
Parakeet-v3, CPU ×24
Whisper-small, CPU ×2.7
Диаризация, CPU ×14
ASR + диаризация, 1 час аудио ~8–9 мин (многоядерный CPU)
Даже на 1 ядре ×7 (~17 мин на час)
Пиковая RAM < 1 ГБ, не растёт с длиной записи
Установщик / релизный exe ~8 МБ / ~32 МБ
«Итоги» на CPU (тёплый сервер) саммари ~33 с
«Итоги» на GPU (Vulkan, RTX 3090 Ti) ~169 т/с — примерно ×10 к CPU

🚀 Установка

Готовый установщик

Скачайте свежий установщик со страницы Releases:

  • macOS Apple Silicon (M1+)*_aarch64.dmg;
  • macOS Intel*_x64.dmg;
  • Windows 10/11*-setup.exe (NSIS).

Установленное приложение обновляется само: «О приложении» → «Проверить» (или тихая автопроверка при открытии страницы) находит новый релиз на GitHub и ставит его бесшовно.

Первый запуск (приложение пока без платной подписи разработчика Apple/Microsoft):

  • macOS — перетащите в «Программы», затем правый клик по приложению → «Открыть» → «Открыть». Если macOS пишет «повреждено», снимите карантин один раз: xattr -cr /Applications/SpeakAgent.app
  • Windows — в окне SmartScreen нажмите «Подробнее» → «Всё равно выполнить».

Дальше приложение обновляется само — предупреждений больше не будет.

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

Требуется: Rust (stable-x86_64-pc-windows-msvc) + MSVC C++ Build Tools (линкер + Windows SDK) + Node 20 и pnpm. FFmpeg докачивается сам — системный не нужен.

pnpm install
pnpm tauri dev                       # запустить приложение (Vite + нативное окно)
pnpm tauri build --bundles nsis      # установщик → src-tauri/target/release/bundle/nsis/*.exe

MSVC Build Tools (если ещё нет, из терминала с правами администратора):

winget install --id Microsoft.VisualStudio.2022.BuildTools --override "--quiet --wait --add Microsoft.VisualStudio.Workload.VCTools --includeRecommended"

Быстрый тест движка без GUI (проверить ядро на Rust):

cd src-tauri
cargo run --example try_transcribe -- "<файл>" [сек] [diarize]
cargo run --example try_llm -- gen <transcript.txt> [summary|business|interview|todo]

Хотите помочь проекту?

Вклад приветствуется — issues и pull request'ы открыты. Как собрать проект под Windows и macOS, стиль кода, а также процесс релиза и нужные секреты для мейнтейнеров — в CONTRIBUTING.md.

Это некоммерческий пет-проект, который я развиваю в свободное время. Отвечаю не всегда сразу и без гарантий поддержки — приложение предоставляется «как есть».

🛠 Технологии

  • Оболочка: Tauri 2 (Rust-ядро + системный WebView). Установщик ~8 МБ; релизный exe ~32 МБ со статически слинкованными sherpa-onnx + ONNX Runtime — без сторонних DLL.
  • Фронтенд: React 19 · Vite 7 · Tailwind 4 · Zustand · TanStack Query · react-router. Тёмная тема zinc + amber, glass/vibrancy.
  • Движок: sherpa-onnx 1.13.4 (официальный Rust-крейт, prebuilt-бинарники — без сборки C++). ASR + диаризация + Silero VAD.
  • Локальная LLM: llama-server (llama.cpp) как sidecar, качается в рантайме как ffmpeg; Vulkan-сборка (GPU + CPU в одном архиве); OpenAI-совместимый HTTP через ureq со стримингом.
  • Декод: symphonia (чистый Rust) → ffmpeg fallback. Хранилище: SQLite (rusqlite). PDF: genpdf + встроенный DejaVu.

🗺 Дорожная карта

Фаза Что Статус
0 Валидация ядра (sherpa-onnx) на реальных файлах ✅ Готово
1 Windows MVP: транскрипция + диаризация, модели, экспорт, история, плеер ✅ Готово
2 macOS (Intel + Apple Silicon) + Metal: .app/.dmg, vibrancy ✅ Готово
3 «Итоги встречи» — протоколы/саммари/задачи через локальную LLM ✅ Готово
Диктовка (push-to-talk), локальный MCP-сервер, трей ✅ Готово
Авто-обновление (GitHub Releases, подписанные обновления) ✅ Готово
Английский интерфейс (RU/EN) + двуязычные промпты «Итогов» ✅ Готово
Правка спикеров (слияние/переназначение) + опциональный LLM-украшатель текста ✅ Готово
4 Подпись кода (Apple Developer ID) + нотаризация — устранить сброс разрешений диктовки при обновлении и предупреждения Gatekeeper/SmartScreen ⬜ В работе
5+ Тюнинг диаризации (точность спикеров), папка-watch, редактор субтитров, глоссарий, live-стриминг ⬜ Планы

Проект молодой (0.x): ядро и основные сценарии работают на Windows и macOS, но приложение ещё не подписано платным сертификатом — при первом запуске система покажет предупреждение (как обойти — в разделе Установка). Проект остаётся бесплатным; развитие поддерживается донатами.

Историю изменений см. в CHANGELOG.md.

📄 Лицензия

Код приложения — под открытой лицензией Apache 2.0: свободно использовать, изменять и распространять, в том числе в коммерческих проектах. Но модель русского языка по умолчанию — GigaAM — некоммерческая, поэтому «из коробки» приложение подходит для личного, учебного и некоммерческого использования. Для коммерческих сценариев выберите в настройках модель ASR с подходящей лицензией (Parakeet — CC-BY-4.0, Whisper — MIT). Лицензии всех компонентов и моделей — в NOTICE.md.

💛 Поддержать проект

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

  • Boosty — разовая помощь или подписка
  • Bitcoin (BTC): bc1qakjpcjwxkttxs9d3qlgp42dpacngzry2qurhfp
  • TON (GRAM): UQC2KkNMTefPUJEjGr0mMik2nNgOkP_NT-_qnmaBrZTHJ0LP

🙏 Благодарности

Проект стоит на плечах открытых компонентов: sherpa-onnx, llama.cpp, GigaAM, Whisper, NVIDIA NeMo Parakeet, pyannote, Silero VAD, Tauri — спасибо их авторам.

Сделано с ❤️ для тех, кто ценит приватность своих записей.

About

Fully-offline transcription, speaker diarization & local-LLM meeting notes — desktop app for Windows & macOS, runs on any hardware.

Topics

Resources

License

Code of conduct

Contributing

Security policy

Stars

0 stars

Watchers

0 watching

Forks

Sponsor this project

Packages

 
 
 

Contributors