15 KiB
Talkis
Открытый десктопный голосовой ввод для людей, которые каждый день пишут в рабочих приложениях.
Read in English · Сайт · Последний релиз
Что такое Talkis?
Talkis - десктопное приложение для преобразования речи в текст на Tauri, React, TypeScript и Rust. Оно работает как маленький плавающий виджет: записывает голос по горячей клавише, распознает речь, при необходимости улучшает текст через LLM и вставляет результат в активное приложение.
Talkis сделан для повседневной работы: IDE, чаты, заметки, CRM-поля, письма, файлы и транскрипты созвонов.
Главное
- Диктовка в любое активное текстовое поле через глобальную горячую клавишу.
- Режим закрепленной записи для длинной речи без удержания клавиш.
- Автоматическая вставка очищенного текста после распознавания.
- Работа через облако, собственный API-ключ или локальные STT-модели.
- Транскрибация аудио и видео из вкладки
Файлыили через перетаскивание файла на виджет. - Запись созвонов на macOS с отдельными дорожками микрофона и системного аудио.
- Локальная история голосовых записей и файловых транскрибаций.
- Единый управляемый локальный STT runtime
transcribe.cppдля Whisper, Qwen ASR, NVIDIA Parakeet и отдельный runtime для diarization. - Нативные сборки для macOS, Windows и Linux.
Демонстрация
В репозиторий добавлены те же GIF-демо, которые используются на сайте Talkis.
| Демо | Что показывает |
|---|---|
| Диктовка кода | Короткий запрос для разработки, вставленный в редактор |
| Диктовка письма | Превращение речи в деловое письмо |
| Диктовка заметки | Быстрые заметки и задачи |
| Запись созвона | Отдельный сценарий записи разговора из виджета |
| Транскрибация файла | Обработка аудио или видеофайла |
| Выбор моделей | Локальные модели и собственный API |
Показать остальные демо прямо здесь
Диктовка письма
Заметки
Запись созвона
Транскрибация файла
Локальные модели и API-ключи
Как это работает
- Поставьте фокус в поле, куда нужно вставить текст.
- Удерживайте
Shift + Command + Spaceна macOS. - Говорите естественно.
- Отпустите горячую клавишу.
- Talkis распознает, очистит и вставит текст.
Горячая клавиша, микрофон, язык, источник моделей, стиль обработки текста и тема приложения настраиваются в настройках.
Режимы работы
Talkis Cloud
Войдите в Talkis Cloud и используйте распознавание без управления API-ключами. Запросы идут через proxy.talkis.ru.
Собственный API-ключ
Можно использовать OpenAI-совместимый STT endpoint и отдельный LLM endpoint для очистки текста. Во вкладке Модели также есть карточки API-адаптеров для поддерживаемых провайдеров.
Поддерживаемые имена STT-моделей:
whisper-1gpt-4o-transcribegpt-4o-mini-transcribe
Локальные модели
Установите и запустите управляемые Talkis локальные модели из настроек. Локальный режим отвечает только за транскрибацию, если отдельно не настроен LLM endpoint.
Управляемые локальные рантаймы:
- Whisper, NVIDIA Parakeet GGUF и Qwen ASR GGUF через единый
transcribe.cppruntime, endpoint по умолчаниюhttp://127.0.0.1:8000 - Speaker diarization, endpoint по умолчанию
http://127.0.0.1:8003
Если порт по умолчанию занят, Talkis запускает управляемый рантайм на свободном fallback-порту и сохраняет фактический endpoint в настройках.
Установка
Скачайте последнюю сборку из GitHub Releases:
Если ОС блокирует первый запуск
Talkis пока распространяется без платной подписи кода, поэтому Gatekeeper (macOS) и SmartScreen (Windows) показывают предупреждение о «непроверённом» приложении. Это не вирус: исходный код открыт (AGPL-3.0), сборки собираются публичным GitHub Actions из этого репозитория. Как открыть:
macOS — «Не удалось проверить, что приложение Talkis не содержит вредоносного ПО»:
- В диалоге нажмите «Готово» (не «Переместить в Корзину»).
- Откройте Системные настройки → Конфиденциальность и безопасность, пролистайте вниз до строки «Talkis заблокирован…» и нажмите «Всё равно открыть».
- Подтвердите паролем или Touch ID и ещё раз нажмите «Открыть».
Либо одной командой в Терминале (после переноса в «Программы»):
xattr -dr com.apple.quarantine /Applications/Talkis.app
Windows — синее окно «Система Windows защитила ваш компьютер»:
- Нажмите «Подробнее».
- Нажмите «Выполнить в любом случае».
При первом запуске выдайте нужные разрешения:
- доступ к микрофону для записи;
- Accessibility на macOS для автоматической вставки текста;
- Screen and System Audio Recording на macOS для записи созвонов.
Транскрибация файлов
Вкладка Файлы поддерживает транскрибацию аудио и видео до 8 ГБ. Файлы обрабатываются через нативный path-based pipeline, поэтому большие файлы не загружаются в память WebView.
Talkis использует встроенный ffmpeg sidecar для видео, неподдерживаемых аудиоформатов, чанкинга и подготовки diarization. Готовые 16 kHz mono PCM WAV файлы могут пропускать конвертацию для локального STT.
Разделение по говорящим доступно через Talkis Cloud или через локальный Whisper плюс локальный diarization runtime - в зависимости от выбранного режима.
Запись созвонов
На macOS запись созвона собирает две дорожки:
Выиз микрофона.Созвониз системного аудио.
Windows и Linux пока возвращают явный unsupported-state для записи системного аудио созвонов. Поддержка появится после реализации WASAPI loopback и PipeWire monitor capture.
Приватность
- В облачном режиме запросы идут через
proxy.talkis.ru. - В режиме собственного ключа запросы идут напрямую в настроенные endpoints.
- В локальном режиме транскрибация остается на вашем компьютере.
- API-ключи и device token хранятся локально в настройках приложения.
- История голосовых записей и файловых транскрибаций хранится локально.
- Talkis не хранит аудио на своих серверах дольше самого API-вызова.
Диагностика
- Текст не вставляется: проверьте macOS System Settings -> Privacy & Security -> Accessibility и убедитесь, что Talkis включен.
- В распознавании появляются неожиданные иностранные символы: выберите фиксированный язык, например
ruилиen, вместо auto. - Локальный STT возвращает ошибки модели: откройте
Модели->Локально, убедитесь, что модель установлена и выбрана, затем переустановите ее, если runtime сообщает о потерянных файлах. - Запись созвона не стартует на macOS: выдайте разрешения Microphone и Screen and System Audio Recording, затем перезапустите Talkis.
- Нужна подробная диагностика: откройте
~/.talkis/talkis.logили запуститеbun run logsво время разработки.
Разработка
Требования:
- Bun
1.2.x - Rust stable
- системные зависимости Tauri v2
Установка зависимостей и запуск:
bun install
bun run prepare:sidecars
bun run tauri dev
Полезные команды:
bunx tsc --noEmit
cargo check --manifest-path src-tauri/Cargo.toml
bun run check:release
bun run tauri build
bun run build:release:macos
bun run logs
На Ubuntu/Debian сначала установите нативные зависимости Tauri и сборки sidecar-ов:
sudo apt update
sudo apt install -y libwebkit2gtk-4.1-dev libayatana-appindicator3-dev libxdo-dev libasound2-dev librsvg2-dev patchelf clang libclang-dev cmake
Структура проекта
src/ React и TypeScript frontend
src/windows/widget/ Плавающий widget window
src/windows/settings/ Окно настроек и вкладки
src/lib/ Store, auth, permissions, logging, shared clients
src-tauri/src/ Rust backend, Tauri commands, audio, paste, STT
src-tauri/icons/ Иконки приложения
docs/ Release docs, audio rules, demo media
scripts/ Release и sidecar preparation scripts
Перед изменениями в аудио, транскрибации, локальном STT, файловой обработке или call-capture прочитайте docs/audio-pipeline-principles.md.
Технологии
- Tauri v2
- React 19
- TypeScript
- Rust
- cpal native microphone recording
- OpenAI-compatible STT и LLM APIs
- Managed local STT sidecars
- Bundled ffmpeg sidecar
Как помочь проекту
Issues и pull requests приветствуются. Перед изменением аудио-поведения прочитайте документ про audio pipeline и сохраняйте достаточно логов для отладки recorder stats, ffmpeg timing, выбора STT endpoint, прогресса чанков и уровней call-capture.
Конвенции проекта:
- Тексты интерфейса - на русском.
- Код и комментарии - на английском.
- Package manager - Bun.
- Настройки сохраняются сразу после изменения.
- Release workflow описан в rules/release.rule.md.
Лицензия
Talkis распространяется по лицензии GNU Affero General Public License v3.0 or later (AGPL-3.0-or-later).
Эта лицензия сохраняет десктопное приложение open-source и также требует доступности исходного кода для измененных версий, которые предоставляются пользователям по сети, что важно для связанной поверхности Talkis Cloud/API.