A native cross-platform voice assistant built with Rust and GPUI.
This is a Rust workspace. Crates (see [workspace].members in Cargo.toml for the authoritative list):
crates/shared- Shared utilities and typescrates/core- Core backend services (audio, transcription, and platform permission/runtime bridges)crates/app- GPUI-based native UI applicationcrates/sidecar-proto- IPC protocol types shared with the sidecarcrates/whisper-sidecar- Optional Whisper STT sidecar binary
- Rust 1.95 (installed automatically by
rustupfromrust-toolchain.toml) cmakeavailable onPATHfor native speech/model dependencies- macOS: Xcode Command Line Tools
- Linux:
libxcb,libxkbcommon,libwayland-client,libvulkandevelopment packages - Windows: Visual Studio Build Tools 2022+
# Development build
cargo build --workspace
# Release build with optimizations
cargo build --workspace --release# Run the GPUI application
cargo run -p app
# Or run the binary directly
./target/release/ansibleSingle-key hotkeys on Linux use evdev and require access to /dev/input/event*.
If hotkeys fail to register, add a udev rule and re-login:
KERNEL=="event*", SUBSYSTEM=="input", GROUP="input", MODE="0660"Then add your user to the input group.
Settings include deterministic custom dictionary replacements, soft vocabulary boosting,
and optional AI enhancement via OpenAI-compatible providers (OpenAI, Ollama,
LM Studio). OpenAI reads API keys from an env var (default OPENAI_API_KEY);
local model hosting inside Ansible is deferred. See
docs/design/ai-enhancement-dictionary-vocabulary.md.
| Model | Size | Notes |
|---|---|---|
| Parakeet V3 | 670 MB | Fast, accurate English transcription (INT8 parakeet-tdt-0.6b-v3 variant) |
| Nemotron Streaming 0.6B | ~2.5 GB | NVIDIA Nemotron; batch transcription plus streaming live preview support. |
| Nemotron Streaming 0.6B (int8) | 876 MB | Smaller int8 build of NVIDIA Nemotron (encoder MatMul weights quantized); batch + streaming. |
| Whisper Small | 487 MB | |
| Whisper Medium | 539 MB | Quantized |
| Whisper Large | 1.1 GB | Quantized |
| Whisper Turbo | 1.6 GB |
- VS Code + rust-analyzer
- GPUI documentation: https://www.gpui.rs/
Platform packaging metadata for macOS, Windows (MSIX), and Linux (Flatpak) lives under packaging/ and crates/app/. See packaging/PACKAGING.md — the source of truth for the file inventory, the canonical application identity, and verification/build-integration steps.