-
released this
2026-04-23 02:18:31 +03:00 | 7 commits to master since this releaseReaches functional parity with the Python fork v0.1.0+ for free-form voice queries.
What's in
- LLM fallback in voice loop (
crates/jarvis-app/src/llm_fallback.rs). Trigger-prefix pattern: any user utterance starting withскажи,ответь, orпроизнесиis forwarded to Groq. Word-boundary safe (won't fire mid-word). - Bounded conversation history in
jarvis-core::llm::history— caps at 8 turns + system prompt; system prompt always preserved when old turns evict. - System prompt mirrors the Python fork: J.A.R.V.I.S. as British butler in Russian, brief, calls user "сэр", no prudish censorship.
- Reply path: LLM response published as
IpcEvent::LlmReply { text }. Pre-recordedplay_okcue accompanies the text reply (Rust core has no real TTS engine — only voice clips). - Error path:
play_errorcue + russian fallback"Не могу связаться с сервером, сэр."over IPC. Voice loop never crashes from LLM errors. - Config knobs in
jarvis-app:llm_enabled,llm_max_history,llm_max_tokens,llm_trigger_phrases.
What does NOT happen
- No real TTS in Rust yet — LLM reply text goes via IPC for the GUI/host to speak. (Python fork uses Silero locally; Rust still relies on pre-recorded clips.)
Build / test
cargo build --workspace --release— succeeded, zero new warnings vs v0.2.0 baseline. (6 pre-existing warnings onjarvis-app/jarvis-gui, 1 onjarvis-core— all upstream.)cargo test -p jarvis-core --features llm --no-default-features— 8/8 pass (includes newpop_last_userhistory test).
How to test
set GROQ_TOKEN=gsk_... target\release\jarvis-app.exe # "Джарвис... скажи, что такое квантовая запутанность одной фразой?"Without
GROQ_TOKENthe assistant still works — fallback is silently disabled (warning in log).Лицензия
CC BY-NC-SA 4.0. Атрибуция Priler/Tugalov сохранена.
Downloads
-
Source code (ZIP)
0 downloads
-
Source code (TAR.GZ)
0 downloads
- LLM fallback in voice loop (