You can check the progress here Dev Log Avi Series.
A Rust-based, modular voice assistant framework
Avi is a high-performance, extensible voice assistant framework reimagined in Rust. It is the evolution of ALEX, rewritten from the ground up for reliability, speed, and scalability. Avi powers voice and command interfaces across devices—ranging from desktops to IoT nodes and satellite computers—built with modularity and developer experience in mind.
Status: ⚙️ In active development. Interfaces and modules still haven´t been made.
-
Blazing-Fast Core in Rust
Rewritten from Python for speed and reliability. -
Modular Skill Framework
AviScript-based DSL for creating and managing assistant behaviors. -
Voice-First Architecture
-
Cross-Device Enclosure Support
Deploy theavi-enclosure
on any compatible IoT, edge device, or satellite node. -
Flexible Interfaces
- Command-Line
- Web Interface (coming soon)
- Voice Interface
- API Layer (modular)
-
Contextual Awareness
Persistent conversation state and contextual command processing. -
Async Event System
Uses a lightweight messagebus for inter-module and cross-device communication (will transition to Core backend). -
Multi-Language Support
Current support: English 🇺🇸, Portuguese 🇵🇹🇧🇷 -
Psychological & Emotional Layer
Built on modernized ELIZA-style interaction for mental health support.
Prerequisites:
- Rust (latest stable)
- Clone the repository:
git clone https://github.com/YourUser/Avi
cd Avi
- Build the core system:
cargo build --release
- Run Avi:
# CLI Mode
./target/release/avi -m cli
# Voice Mode
./target/release/avi -m voice
# With GUI (when Avi GUI is available)
./target/release/avi -m gui
# Debug mode
./target/release/avi -d
Avi introduces AviScript, a domain-specific language for defining assistant behavior.
Use Avi Studio (coming soon) – a visual, drag-and-drop IDE – to build and debug skills.
Docs: AviScript Guide (WIP)
- avi-core – Rust-powered assistant engine
- avi-enclosure – Lightweight binary for embedded devices
- avi-gui – Desktop or web interface for Avi interaction
- avi-studio – IDE for skill creation with AviScript
- avi-audio – Voice and audio infrastructure
Core Engine
: Processes voice/input → recognizes intent → executes AviScript skillsSkill System
: Modular DSL-based system with hot-reloadingInterfaces
: CLI, GUI, Web, APIEvent Bus
: Async communication over messagebusContext Manager
: Remembers states, preferences, and session dataTranslation Layer
: Dynamic i18n using DSL macros
I ❤️ contributions. Jump in and build a skill, interface, or even a new enclosure:
- Fork the repo
- Create a feature branch
cargo fmt && cargo clippy
- Commit and PR
Licensed under the Apache License 2.0. See LICENSE for details.
- Inspired by ELIZA, reimagined for the future
- Uses Neon modules by Neon Gecko
- Successor of ALEX