2026-04-22 17:47:22 +03:00
|
|
|
# mic capture
|
2026-04-22 17:32:48 +03:00
|
|
|
pvrecorder
|
|
|
|
|
|
|
|
|
|
# Vosk
|
|
|
|
|
vosk
|
|
|
|
|
|
2026-04-22 19:32:30 +03:00
|
|
|
# Voice activity detection (smart command-end)
|
|
|
|
|
webrtcvad-wheels
|
|
|
|
|
|
2026-04-22 17:32:48 +03:00
|
|
|
# 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
|
2026-04-22 23:17:44 +03:00
|
|
|
|
feat: Wave 5 Python parity — outlook COM + time tracker
Outlook COM (`outlook_handlers.py`, agent):
- 4 handlers mirroring Rust pack: unread_count, latest, send_clipboard,
summarize_inbox. Uses `win32com.client` with lazy import so the module
loads even when pywin32 is missing — handlers degrade gracefully and
speak a "Outlook недоступен" reply.
- `requirements.txt`: pywin32>=305 (optional).
- 7 unit tests mock `_outlook_session` via unittest.mock.
Time tracker (`time_tracker_handlers.py`, agent):
- 5 handlers: start, stop, today, week, reset. JSON store at
`<here>/time_tracker.json`, atomic write-then-rename.
- Same shape as the Rust pack's `jarvis.state` blob: current_session_start
+ sessions[{start,end}]. Local-calendar today boundary.
- Full Russian pluralisation (час/часа/часов, минута/минуты/минут).
- 14 unit tests using the existing `isolated_state` fixture in conftest.py.
`extensions.py` + `main.py`: imports + 9 new proxy do_* functions + 9
new dispatch elifs. `commands.yaml`: 9 new entries.
Tests: 60 → 81 (+14 tracker + 7 outlook).
2026-05-16 14:34:44 +03:00
|
|
|
# Outlook COM automation (Win32-only). Optional: outlook_handlers degrades
|
|
|
|
|
# gracefully when this isn't installed.
|
|
|
|
|
pywin32>=305
|
|
|
|
|
|
2026-04-23 10:54:38 +03:00
|
|
|
# Semantic intent classifier (MiniLM-L6-v2 ONNX)
|
|
|
|
|
onnxruntime>=1.17
|
|
|
|
|
tokenizers>=0.15
|
|
|
|
|
|
|
|
|
|
# Noise suppression before STT (optional, off by default)
|
|
|
|
|
noisereduce>=3.0
|
|
|
|
|
|
2026-04-22 23:17:44 +03:00
|
|
|
# GUI command constructor (tools/command_builder)
|
|
|
|
|
ruamel.yaml
|
|
|
|
|
pywebview
|
|
|
|
|
pyautogui
|
2026-05-16 13:27:04 +03:00
|
|
|
|
|
|
|
|
# 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
|