Skip to content

voidmute/Spotti-Voice

Repository files navigation

Спотти — голосовой помощник

Spotti Voice

Говори — текст в любом окне
Push-to-talk для Windows

При первом запуске Спотти проведёт короткое обучение на русском
Download Version Changelog
CI MIT Security Contributing
Spotti Servers

🎙️ Что это

Spotti Voice — десктопный голосовой ввод для Windows. Зажми горячую клавишу, говори — распознанный текст вставляется в активное поле (Discord, браузер, IDE, блокнот).

Overlay Капсула над треем — статус записи
Tray Быстрый доступ к настройкам и выходу
Onboarding Один раз при первом старте — RPG-чат с пиксельным Спотти
Установщик Один файл SpottiVoice-Setup.exe (~0.5 MB), остальное с сервера
const SpottiVoice = {
    platform: "Windows 10+",
    hotkey: { default: "Ctrl + Shift + Пробел", mode: "toggle PTT" },
    modes: {
        local: { network: "offline", language: "русский", engine: "whisper.cpp" },
        cloud: { network: "TLS", auth: "Discord OAuth", stt: "Spotti Servers" },
    },
    stack: {
        shell: ["Electron", "React", "anime.js"],
        engine: ["Python", "FastAPI", "sounddevice"],
        installer: ["NSIS thin bootstrap", "Electron setup wizard"],
    },
    security: {
        engineBind: "127.0.0.1:9777",
        electron: "contextIsolation + narrow preload",
        tokens: "Windows DPAPI",
    },
};

⚡ Режимы

Режим Сеть Языки Вход
Локально Офлайн после модели (~142 MB) Русский Не нужен
Облако TLS на Spotti Servers Много (auto) Discord
flowchart LR
  subgraph pc [Ваш ПК]
    Pill[Pill overlay]
    Engine[Python engine :9777]
    Tray[Tray + Settings]
  end
  subgraph cloud [Spotti Servers]
    OAuth[Discord OAuth]
    STT[STT proxy]
  end
  Pill --> Engine
  Tray --> Engine
  Engine -->|Облако| OAuth
  Engine -->|audio| STT
  Engine -->|inject| Focus[Focused app]
Loading

📥 Установка

🚀 Быстрый старт (пользователи)

  1. Скачайте SpottiVoice-Setup.exe из Releases.
  2. Запустите установщик — мастер скачает приложение с сервера.
  3. При первом запуске откроются настройки и обучение со Спотти (один раз).
  4. Облако: переключатель вверху → АккаунтВойти через Discord.
  5. Локально: при первом PTT скачается модель whisper.
Шаг Действие
Запись Ctrl+Shift+Пробел (по умолчанию) — toggle PTT
Настройки Иконка в трее → Setup
Горячая клавиша Настройки → Горячая клавиша

Download

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

Требования: Windows 10+, Python 3.11+, Node 20+, NSIS 3.x.

cd voice-pill
build-exe.bat
build-setup.bat
Скрипт Результат
build-exe.bat Portable payload в dist/
build-setup.bat dist-setup/SpottiVoice-Setup.exe

Разработка без установщика:

cd voice-pill
run.bat

Подробнее: voice-pill/README.md · voice-pill/RELEASE.md

🔐 Безопасность

  • Движок слушает только 127.0.0.1:9777
  • Electron: contextIsolation: true, узкий preload-мост
  • OAuth: spotti-voice://auth/callback (регистрирует установщик)

[!CAUTION] Не коммитьте .env. См. SECURITY.md

🧪 CI и тесты

На каждый push/PR в main:

  • Secret scan
  • pytest tests/voice_pill/
  • Сборка web UI

См. .github/workflows/ci.yml

pytest tests/voice_pill/ -q

🏗 Архитектура

sequenceDiagram
  participant User
  participant Electron
  participant Engine as voice_pill engine
  participant Server as Spotti API
  User->>Electron: PTT hotkey
  Electron->>Engine: HTTP localhost:9777
  alt Cloud mode
    Engine->>Server: STT + Bearer token
  else Local mode
    Engine->>Engine: whisper.cpp
  end
  Engine->>User: inject text
Loading

🔗 Связь с Spotti

Репозиторий Роль
Spotti-Voice (этот) Публичный клиент + установщик
Spotti (приватный) Сервер OAuth/STT, монорепо

Экспорт из монорепо:

.\scripts\migrate\export-voice-public.ps1 -OutDir ..\Spotti-Voice

📊 Репозиторий

Spotti-Voice repo card

GitHub stars GitHub forks GitHub release


Скачать v0.1.0.21 · Changelog · Issues


MIT · Spotti Voice © voidmute

About

Windows push-to-talk speech-to-text: floating pill, inject text into any field.

Topics

Resources

License

Contributing

Security policy

Stars

1 star

Watchers

0 watching

Forks

Packages

 
 
 

Contributors