A modular AI assistant ecosystem with voice/text interfaces, RAG capabilities, command execution, and integrated applications for radio streaming, web browsing, and document editing.
A comprehensive AI assistant system with voice and text interfaces, featuring RAG (Retrieval-Augmented Generation), command execution, and integrated applications.
Walls is a modular AI assistant ecosystem that combines multiple applications and services to provide a seamless AI-powered experience. The system features both voice and text-based interactions, intelligent command execution, and integrated applications for radio streaming, web browsing, and document editing.
- AI Interface (
ai_interface/) - Main GUI application with text and voice modes - RAG System (
rag/) - Retrieval-Augmented Generation for intelligent responses - Shared Server (
shared_server/) - Inter-application communication hub - GUI Core (
gui_core/) - Reusable UI components and theming
- Radio Player (
radio_player/) - Internet radio streaming with modern GUI - Browser (
browser/) - Web browser with AI integration - Words (
Words/) - Document editor with Python GUI and Rust core
- Dual Mode Operation: Text-based chat interface and voice interaction
- Command Execution: Automatic detection and execution of bash commands from AI responses
- RAG Integration: Context-aware responses using document retrieval
- Real-time Streaming: Live AI response streaming with loading indicators
- Chat Management: Persistent chat sessions with history
- Wake Word Detection: "Hey Assistant" activation
- Speech Recognition: Vosk-powered offline speech-to-text
- Text-to-Speech: Kokoro TTS for natural voice responses
- Audio Processing: Real-time audio capture and processing
- Smart Detection: Automatic bash code block recognition in AI responses
- Safety Policies: Blacklist-based command filtering for security
- Application Auto-start: Automatic launching of required services
- Command Corrections: Intelligent error correction for common mistakes
- Internet Radio: Stream thousands of radio stations worldwide
- Modern GUI: Beautiful, responsive interface with visualizations
- CLI Interface: Command-line control for automation
- Search & Discovery: Find stations by genre, country, or name
- Metadata Display: Real-time song information and station details
- AI-Powered Browsing: Intelligent web navigation
- Content Summarization: AI-powered page summaries
- Bookmark Management: Organized bookmark system
- Headless Mode: Background web operations
- Hybrid Architecture: Python GUI with Rust core for performance
- Rich Text Editing: Advanced document editing capabilities
- AI Integration: Smart writing assistance
- Python 3.8+
- Virtual environment support
- macOS (primary platform)
-
Clone the repository:
git clone https://github.com/askscience/Walls.git cd Walls -
Create virtual environment:
python -m venv venv source venv/bin/activate # On macOS/Linux
-
Install dependencies:
pip install -r requirements.txt
-
Install Kokoro TTS (for voice mode):
./install_kokoro.sh
-
Start all services:
python start_all.py
All Services:
python start_all.pyIndividual Components:
# AI Interface (Text Mode)
python ai_interface/main.py
# Voice Mode
python ai_interface/voice_mode/voice_manager.py
# Radio Player
python -m radio_player.modern_gui
# Browser
python -m browser.main
# Shared Server
python shared_server/start_server.py- Text Mode: Type questions and receive AI responses with automatic command execution
- Voice Mode: Say "Hey Assistant" followed by your question
- Command Execution: AI responses containing bash code blocks are automatically executed
- Radio Control: Ask for music and the system will search and play radio stations
- "Hey Assistant, play some jazz music"
- "Hey Assistant, search for news radio stations"
- "Hey Assistant, open the browser"
- "Hey Assistant, what's the weather like?"
- "Find and play classical music stations"
- "Search for radio stations in France"
- "Open the word editor"
- "Browse to wikipedia.com"
AI_IFACE_DEBUG=1- Enable debug logging for command interceptionRAG_DEBUG=1- Enable RAG system debug outputVOICE_DEBUG=1- Enable voice processing debug logs
rag/config.py- RAG system configurationrag/prompts.json- AI prompt templatesshared_server/config.py- Inter-service communication settings
Walls/
βββ ai_interface/ # Main AI interface application
β βββ components/ # UI components
β βββ main/ # Main interface logic
β βββ services/ # Background services
β βββ utils/ # Utilities and command handling
β βββ voice_mode/ # Voice interaction components
βββ rag/ # RAG system
βββ shared_server/ # Inter-application communication
βββ gui_core/ # Reusable UI components
βββ radio_player/ # Internet radio application
βββ browser/ # Web browser integration
βββ Words/ # Document editor
βββ requirements.txt # Python dependencies
- GUI Framework: PySide6 (Qt)
- AI/ML: Transformers, sentence-transformers, FAISS
- Voice Processing: Vosk (STT), Kokoro (TTS)
- Web: Requests, BeautifulSoup
- Audio: PyAudio, sounddevice
- Database: Vector stores for RAG
- New Commands: Add patterns to
ai_interface/utils/command_corrections.py - UI Components: Extend
gui_core/components/ - Voice Commands: Modify voice processing in
ai_interface/voice_mode/ - RAG Data: Add documents to
rag/data/
- Blacklist Filtering: Dangerous commands are automatically blocked
- Sandboxed Execution: Commands run in controlled environment
- User Confirmation: Critical operations require confirmation
- Audit Logging: All command executions are logged
- Application launches (radio_player, browser, etc.)
- File operations within project directory
- Network requests to known APIs
- System information queries
- System modification commands (
rm -rf,sudo, etc.) - Network security bypasses
- Privilege escalation attempts
- Destructive file operations
Voice Recognition Not Working:
- Check microphone permissions
- Verify Vosk models are installed
- Enable voice debug logging
Commands Not Executing:
- Enable
AI_IFACE_DEBUG=1 - Check command safety policies
- Verify virtual environment activation
Radio Player Issues:
- Check internet connection
- Verify shared server is running
- Try restarting the radio player service
Import Errors:
- Ensure virtual environment is activated
- Check all dependencies are installed
- Verify Python path configuration
- ollama-mcp-bridge: Originally created by jonigl. This component provides an API layer in front of the Ollama API, seamlessly adding tools from multiple MCP servers. We've included a modified version with local bugfixes in this repository.
This project is licensed under the GPL-3 License. See individual component LICENSE files for specific details.
- Fork the repository
- Create a feature branch
- Make your changes
- Add tests if applicable
- Submit a pull request
For issues and questions:
- Check the troubleshooting section
- Enable debug logging for detailed error information
- Review component-specific README files
- Submit issues with detailed logs and reproduction steps
Walls - Your intelligent AI assistant ecosystem, bringing together voice, text, and application integration in one powerful platform.