Skip to content

A high-performance, modular voice assistant framework built in Rust. AVI powers voice and command interfaces across devices with a custom DSL, contextual awareness, and multi-language support. The evolution of ALEX reimagined for reliability, speed, and scalability.

License

Notifications You must be signed in to change notification settings

Apoll011/Avi-core

Repository files navigation

AVI - Autonomous Voice Interface

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.

✨ Key Features

  • 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 the avi-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.


📦 Installation

Prerequisites:

  • Rust (latest stable)
  1. Clone the repository:
git clone https://github.com/YourUser/Avi
cd Avi
  1. Build the core system:
cargo build --release
  1. 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

🧠 Create Your Own Skills

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)


🧩 Ecosystem

  • 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

🛠 Architecture

  • Core Engine: Processes voice/input → recognizes intent → executes AviScript skills
  • Skill System: Modular DSL-based system with hot-reloading
  • Interfaces: CLI, GUI, Web, API
  • Event Bus: Async communication over messagebus
  • Context Manager: Remembers states, preferences, and session data
  • Translation Layer: Dynamic i18n using DSL macros

🧪 Contributing

I ❤️ contributions. Jump in and build a skill, interface, or even a new enclosure:

  1. Fork the repo
  2. Create a feature branch
  3. cargo fmt && cargo clippy
  4. Commit and PR

📄 License

Licensed under the Apache License 2.0. See LICENSE for details.


🙏 Acknowledgements

  • Inspired by ELIZA, reimagined for the future
  • Uses Neon modules by Neon Gecko
  • Successor of ALEX

About

A high-performance, modular voice assistant framework built in Rust. AVI powers voice and command interfaces across devices with a custom DSL, contextual awareness, and multi-language support. The evolution of ALEX reimagined for reliability, speed, and scalability.

Topics

Resources

License

Code of conduct

Security policy

Stars

Watchers

Forks

Languages