talkis/README.ru.md
David Perov 7f7d85f3f3
Some checks failed
CI / cargo check (linux) (push) Has been cancelled
CI / cargo check (macos) (push) Has been cancelled
CI / cargo check (windows) (push) Has been cancelled
CI / tsc + hotkey smoke (push) Has been cancelled
Release v0.3.7
2026-07-03 17:36:34 +03:00

15 KiB
Raw Blame History

Иконка приложения Talkis

Talkis

Открытый десктопный голосовой ввод для людей, которые каждый день пишут в рабочих приложениях.

Read in English · Сайт · Последний релиз

Talkis диктует запрос для разработки в редакторе кода

Что такое 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
Показать остальные демо прямо здесь

Диктовка письма

Talkis диктует письмо

Заметки

Talkis диктует заметку

Запись созвона

Talkis записывает транскрипт созвона

Транскрибация файла

Talkis транскрибирует аудио или видеофайл

Локальные модели и API-ключи

Talkis выбирает локальную модель или собственный API-ключ

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

  1. Поставьте фокус в поле, куда нужно вставить текст.
  2. Удерживайте Shift + Command + Space на macOS.
  3. Говорите естественно.
  4. Отпустите горячую клавишу.
  5. Talkis распознает, очистит и вставит текст.

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

Режимы работы

Talkis Cloud

Войдите в Talkis Cloud и используйте распознавание без управления API-ключами. Запросы идут через proxy.talkis.ru.

Собственный API-ключ

Можно использовать OpenAI-совместимый STT endpoint и отдельный LLM endpoint для очистки текста. Во вкладке Модели также есть карточки API-адаптеров для поддерживаемых провайдеров.

Поддерживаемые имена STT-моделей:

  • whisper-1
  • gpt-4o-transcribe
  • gpt-4o-mini-transcribe

Локальные модели

Установите и запустите управляемые Talkis локальные модели из настроек. Локальный режим отвечает только за транскрибацию, если отдельно не настроен LLM endpoint.

Управляемые локальные рантаймы:

  • Whisper, NVIDIA Parakeet GGUF и Qwen ASR GGUF через единый transcribe.cpp runtime, 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 не содержит вредоносного ПО»:

  1. В диалоге нажмите «Готово» (не «Переместить в Корзину»).
  2. Откройте Системные настройки → Конфиденциальность и безопасность, пролистайте вниз до строки «Talkis заблокирован…» и нажмите «Всё равно открыть».
  3. Подтвердите паролем или Touch ID и ещё раз нажмите «Открыть».

Либо одной командой в Терминале (после переноса в «Программы»):

xattr -dr com.apple.quarantine /Applications/Talkis.app

Windows — синее окно «Система Windows защитила ваш компьютер»:

  1. Нажмите «Подробнее».
  2. Нажмите «Выполнить в любом случае».

При первом запуске выдайте нужные разрешения:

  • доступ к микрофону для записи;
  • 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.