• v0.2.0 b2045cf950

    DmitryBykov-ISPO released this 2026-04-22 19:44:20 +03:00 | 14 commits to master since this release

    Adds a foundation for LLM capability in the Rust fork. Upstream Priler/jarvis has had ChatGPT (coming soon) in the README since 2022 without an implementation. This release ships the implementation — parity with the Python fork — but does NOT yet wire it into the voice/intent loop. That's the next step (v0.3).

    What's in

    • New jarvis-core/src/llm.rs module behind the llm cargo feature:
      • LlmClient with new(base_url, api_key, model) and from_env() constructors.
      • complete(messages, max_tokens) over the OpenAI-compatible chat-completions endpoint.
      • thiserror-derived LlmError and ConfigError enums (HTTP error, JSON error, API error, missing env var).
      • Defaults: GROQ_BASE_URL=https://api.groq.com/openai/v1, GROQ_MODEL=llama-3.3-70b-versatile (same as the Python fork).
    • jarvis-cli ask <prompt> — one-shot invocation (argv) and REPL ask command both wired.
    • 3 unit tests in jarvis-core (parses_valid_chat_response, from_env_fails_when_token_missing, chat_message_helpers_set_role) all pass.
    • thiserror added to workspace deps; llm feature auto-enabled by default jarvis_app feature set and explicitly by jarvis-cli.
    • README updated: new "LLM (Groq)" section in Russian.

    Build / test

    • cargo build --workspace --release — succeeds (~1m56s cold). Zero new warnings vs v0.1.0 baseline.
    • cargo test -p jarvis-core --features llm -- llm — 3/3 pass. Full-workspace cargo test has a pre-existing vosk-link limitation carried from v0.1.0 (test binary for jarvis-core lacks build.rs); release workspace build is unaffected.

    Not yet

    • Wake-word / intent loop still uses only local rules. Wiring the LLM as a fallback (analog of Python's "скажи …") is v0.3.

    Licensing

    CC BY-NC-SA 4.0. Original Priler/Tugalov attribution preserved.

    Downloads