Plugin loader (mirrors Rust #29): - plugins_store.py walks %APPDATA%\com.priler.jarvis\plugins\<name>\ for commands.yaml fragments and merges them into VA_CMD_LIST at startup. Same schema as the project root commands.yaml. Per-pack `disabled` flag file skips a pack without deletion. Built-in ids win conflicts so a malicious pack can't silently override open_browser. 9 unit tests (parity with the Rust tests). - main.py: plugin merge runs after the root yaml load; logs the number of extra commands picked up. Flet GUI (#27 — first parity with the Rust Tauri GUI): - New gui/ package: __main__.py launches via `python -m gui` (or gui.bat). app.py routes between 7 pages (Главная / Команды / Макросы / Расписание / Память / Плагины / Настройки) via NavigationRail; dark theme matching the Tauri look. - gui/services.py centralises every store-module call the pages share — single place to swap implementations later. - One file per page in gui/pages/, all expose `build(page)` and use the same card layout idiom. Pages mirror the Tauri ones feature- for-feature: home (status + counters + launcher), commands (filterable list of all VA_CMD_LIST entries), macros (list + delete + recording banner), scheduler (list + remove), memory (add/forget/search), plugins (toggle/open folder), settings (profile + LLM hot-swap). - requirements.txt: flet>=0.85 (optional; assistant runs without). - 3 smoke tests verify imports + build callables; skip cleanly when Flet isn't installed. README: documents both the GUI and the plugin layout in user-facing terms. Tests: 42 → 54 (+9 plugins +3 GUI smoke).
45 lines
729 B
Text
45 lines
729 B
Text
# mic capture
|
|
pvrecorder
|
|
|
|
# Vosk
|
|
vosk
|
|
|
|
# Voice activity detection (smart command-end)
|
|
webrtcvad-wheels
|
|
|
|
# Groq / OpenAI-compatible LLM
|
|
openai>=1.0
|
|
|
|
# Silero stuff
|
|
torch
|
|
torchaudio
|
|
omegaconf
|
|
|
|
# etc
|
|
numpy
|
|
simpleaudio
|
|
rich
|
|
fuzzywuzzy
|
|
python-Levenshtein
|
|
comtypes
|
|
pycaw
|
|
sounddevice
|
|
PyYAML
|
|
python-dotenv
|
|
|
|
# Semantic intent classifier (MiniLM-L6-v2 ONNX)
|
|
onnxruntime>=1.17
|
|
tokenizers>=0.15
|
|
|
|
# Noise suppression before STT (optional, off by default)
|
|
noisereduce>=3.0
|
|
|
|
# GUI command constructor (tools/command_builder)
|
|
ruamel.yaml
|
|
pywebview
|
|
pyautogui
|
|
|
|
# Flet — main jarvis-gui (mirrors the Rust Tauri GUI's 5 pages).
|
|
# Optional: install only if you want the desktop GUI; the assistant runs
|
|
# fine in console mode without it.
|
|
flet>=0.85
|