• v0.4.1 53678fbdfa

    DmitryBykov-ISPO released this 2026-04-27 20:07:03 +03:00 | 0 commits to main since this release

    Patch release: url-action gets an optional browser field so commands can pick which browser to launch.

    What's new

    • Runtime: url action accepts browser: yandex|chrome|firefox|edge. Resolves via config.BROWSER_PATHS. When omitted — falls back to webbrowser.open (system default).
    • GUI command constructor: dropdown on URL block (single + multi-step variants).
    • Defaults: open_browser, open_youtube, open_google now use Yandex Browser (matching user setup).

    Why

    v0.3.0 added url action via webbrowser.open which uses the OS default browser. Users who use a non-default browser for specific commands needed an override.

    Migration

    Existing url actions without browser keep working unchanged. To use a specific browser, add browser: <name> to the action.

    License

    CC BY-NC-SA 4.0.

    Downloads
  • v0.4.0 47927fcf41

    DmitryBykov-ISPO released this 2026-04-23 11:10:00 +03:00 | 4 commits to main since this release

    Закрытие двух гэпов с Rust-форком: семантический intent-классификатор и опциональное шумоподавление.

    \ud83e\udde0 ONNX Intent Classifier (вместо fuzzywuzzy)

    Заменяет наивный fuzzy-match на семантические embeddings через MiniLM-L6-v2 ONNX. Теперь работает на семантически близких фразах, которых нет в commands.yaml буквально.

    • "запусти браузер" \u2192 open_browser (фразы нет в YAML, но смысл совпадает): score 0.776
    • Inference latency: 2.5 мс CPU median, незаметно
    • Threshold по умолчанию 0.45 (INTENT_SIMILARITY_THRESHOLD в config)
    • Все фразы из YAML pre-embed'ятся при старте, в рантайме только utterance
    • ONNX-модель ~87 МБ через Git LFS (впервые включён в Python-репо), скопирована из Qdrant/all-MiniLM-L6-v2-onnx

    \ud83d\udd07 Noisereduce preprocessing (опционально, OFF by default)

    noisereduce (spectral-gating) применяется к post-wake-word буферу перед подачей в Vosk. Помогает в шумных комнатах (вентилятор, кондиционер, фон).

    • Off by default (DENOISE_ENABLED = False)
    • Не трогает wake-word loop \u2014 только командное окно
    • Конфигурируется (DENOISE_PROP, DENOISE_STATIONARY)
    • Латенция: ~37 мс на 2-сек буфер

    Гэпы с Rust-форком

    Фича Python v0.4.0 Rust v0.4.0
    ONNX intent \u2705 \u2705 (через fastembed)
    Шумоподавление \u2705 noisereduce \u2705 nnnoiseless

    Новые зависимости

    onnxruntime>=1.17, tokenizers>=0.15, noisereduce>=3.0. Git LFS требуется для клонирования.

    Лицензия

    CC BY-NC-SA 4.0. Атрибуция Priler/Tugalov сохранена.

    Downloads
  • v0.3.0 e7d4304a62

    DmitryBykov-ISPO released this 2026-04-23 02:17:16 +03:00 | 13 commits to main since this release

    Two new features after v0.2.0.

    🎨 GUI Конструктор команд (tools/command_builder/)

    Окно (pywebview) для создания голосовых команд без правки кода. Запуск: run_builder.bat или python -m tools.command_builder.

    • 3-step stepper: триггер-фразы → выбор блока действия → параметры
    • LLM-suggest вкладка: опиши команду на русском, Groq предложит готовые блоки
    • Live YAML preview справа
    • Save → запись в commands.yaml через ruamel (комментарии сохраняются), backup в commands.yaml.bak
    • Тёмная палитра #0a1214 / #52fefe под Rust GUI стиль

    3 новых action-типа в commands.yaml:

    • shell — PowerShell/cmd команда
    • url — открыть ссылку в браузере
    • keys — нажатие хоткеев / набор текста (через pyautogui, AHK не нужен)

    Existing типы (exe, play_sound, system, multi, sleep) работают как раньше.

    26/26 unit-тестов на schema + YAML round-trip. Требует WebView2 Runtime (Win10/11 обычно ставится с Edge).

    🔊 TTS effects (опционально)

    effects.py — bandpass-фильтр (200-7000 Hz) + короткий реверб (~100 мс) для Silero-вывода. Голос звучит немного "из радиоточки", "AI-ассистентовее". Off by default — флипни TTS_EFFECTS_ENABLED = True в config.py. Все параметры конфигурируемые. utils/preview_effects.py генерирует A/B сэмплы для сравнения.

    Новые зависимости

    ruamel.yaml, pywebview, pyautogui (для GUI и новых action-типов).

    Лицензия

    CC BY-NC-SA 4.0. Атрибуция Priler/Tugalov сохранена.

    Downloads
  • v0.2.0 f45ac77a2e

    DmitryBykov-ISPO released this 2026-04-22 19:44:02 +03:00 | 32 commits to main since this release

    Two quality-of-life improvements after v0.1.0.

    Что нового

    VAD (Voice Activity Detection) вместо фиксированных 10 секунд

    • После wake-word бот слушает не ровно 10 секунд, а пока ты говоришь. Остановился на 1.2 сек тишины — окно закрывается, команда идёт в обработку.
    • Используется webrtcvad-wheels — лёгкий, Apache-2.0, колесо под Windows/Python 3.11 без MSVC.
    • Параметры в config.py (все конфигурируемы):
      • VAD_AGGRESSIVENESS = 2 — сбалансированная чувствительность
      • COMMAND_END_SILENCE_MS = 1200 — сколько тишины считать концом команды
      • COMMAND_MIN_SPEECH_MS = 500 — минимум речи чтобы не сработать от кашля
      • COMMAND_MIN_LISTEN_MS = 1000 — страховка: бот не закроется сразу если ты ещё не начал говорить
      • COMMAND_MAX_LISTEN_MS = 15000 — жёсткий потолок

    YAML-плагины вместо elif-монолита

    • execute_cmd() больше не гигантский if/elif. Все 17 команд переехали в commands.yaml с типизированными actions:
      • exe — запуск .exe из custom-commands/
      • play_sound — воспроизведение .wav из sound/
      • system — встроенные действия (volume_mute, volume_unmute, exit)
      • multi — последовательность шагов (play_sound → exe → play_sound и т.п.)
      • sleep — пауза между шагами
    • Новые команды добавляются правкой YAML, без трогания main.py. Шаблон см. в README.

    Migration

    Полная обратная совместимость — все 17 оригинальных команд работают идентично v0.1.0, просто теперь конфигурируются в YAML.

    Под капотом

    • VAD-фрейм 30 мс / 480 сэмплов / 960 байт, PvRecorder читает фреймами по 512 — буферизация и резка под VAD-формат, wake-word не затронут.
    • pip check clean с новой зависимостью.

    Лицензия

    CC BY-NC-SA 4.0. Атрибуция Priler/Tugalov сохранена.

    Downloads
  • v0.1.0 1c1c63e5f0

    DmitryBykov-ISPO released this 2026-04-22 17:50:52 +03:00 | 38 commits to main since this release

    First proper release of the Bossiara13 fork. Полностью работоспособная (с микрофоном) версия без зависимости от Picovoice.

    Что внутри (vs upstream Priler/jarvis @ 943efbf)

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

    • Из истории удалены случайно закоммиченные секреты Priler-а (Picovoice + OpenAI ключи 2022 года, давно отозванные).
    • Шаблон dev.env.example коммитится; dev.env с реальными ключами — gitignored.

    LLM

    • OpenAI заменён на Groq через openai-совместимый base_url. По умолчанию модель llama-3.3-70b-versatile (бесплатно).
    • Код переписан под современный openai SDK (>=1.0). Старый pre-1.0 интерфейс был сломан в свежих версиях библиотеки.
    • Системный промпт переписан — конкретный J.A.R.V.I.S. (британский дворецкий, обращается «сэр», без излишней цензуры).

    Wake-word

    • 🚮 Зависимость от Picovoice Porcupine выпилена полностью (Picovoice убрали бесплатный tier и удаляют аккаунты).
    • Wake-word теперь распознаётся через Vosk с grammar-constrained recognizer (WAKE_WORDS = ('jarvis', 'джарвис') в config.py). Менять wake-word — одной строкой.
    • pvporcupine удалён из requirements.txt. PICOVOICE_TOKEN удалён из конфигов.
    • pvrecorder оставлен — он бесплатный и без ключа, используется только для захвата аудио.

    Прочее

    • requirements.txt перекодирован из UTF-16 в UTF-8.
    • Полный ребренд под Bossiara13 (атрибуция Tugalov / Priler сохранена per CC BY-NC-SA 4.0).
    • Свежий русский README с актуальными инструкциями.

    Установка / Запуск

    См. README. Нужен Python 3.11, микрофон, бесплатный Groq API ключ.

    Что дальше (roadmap для v0.2.0+)

    • Свой TTS-голос Jarvis через voice cloning (Coqui XTTS-v2)
    • Аудио-клипы из фильмов на стандартные подтверждения ("Yes sir" и т.п.)
    • Фиксы AHK custom-commands под пользовательское железо

    Лицензия

    CC BY-NC-SA 4.0. Не для коммерческого использования.

    Downloads
  • v0.0.1-import ee8d236e1c

    DmitryBykov-ISPO released this 2026-04-22 17:13:32 +03:00 | 52 commits to main since this release

    Initial import of Priler/jarvis Python version at commit 943efbf. History was rewritten with git-filter-repo to redact two leaked credentials (Picovoice + OpenAI keys) that Priler accidentally committed in 2022 and later revoked.

    No functional changes yet. First proper release (v0.1.0) will land Groq LLM integration + Bossiara13 rebrand.

    Downloads