ASTRO is a Self-Hosted, Offline-First Voice AI Agent for Raspberry Pi
Summary
ASTRO is an open-core, self-hosted voice AI agent designed to hear, speak, see, execute commands, and train LoRA adapters on its own device. The project targets an offline-first setup centered on a Raspberry Pi 5 with a Hailo-10H NPU, while PC hardware and cloud keys are optional. Its voice stack combines a wake word, Polish speech recognition through Vosk or Whisper, and Piper text-to-speech; its vision stack supports network cameras, object and face detection, person recognition, OCR, age and gender estimation, motion events, and scene description through a vision-language model. A local learning loop collects knowledge, distills trajectories, and trains adapters. The repository is organized into CPU, Hailo NPU, PC, and optional remote backends, with modules for intent dispatch, tools, audio, vision, memory, safety, and deterministic skills. SQLite stores learned knowledge, trajectories, sessions, and biometric data, with AES-GCM protection for biometric information. Safety rules keep commands out of the cloud, enforce refusals, and protect secrets. The code can fall back to CPU execution and simulated tests without the full hardware set, although the documented hardware provides the intended experience. The quickstart installs dependencies, creates a local machine configuration, runs hermetic tests, and launches a text REPL. The project describes roughly 990 standard-library tests, quality gates for model promotion, an MIT license, and a sanitized public mirror whose private core may be ahead of the snapshot.