Viru is a production-grade, autonomous, multi-modal personal assistant designed for desktop orchestration. Built with a Local LLM Cognitive Engine, a zero-dependency Web Dashboard, and a Zero-CPU Wake Word system, Viru transforms your computer into a self-aware agent capable of seeing, hearing, thinking, and executing complex workflows in real-time.
- Powered by Qwen 2.5 3B (GGUF) running locally via
llama.cppon port8080. - KV Prompt Caching & Compact Schema: Sub-2-second response latency on CPU.
- Private & Offline: Your data never leaves your machine.
- Glassmorphic Control Centre: Sleek responsive design built with HTML5, Vanilla CSS, and JavaScript.
- Real-Time System Monitor: Live CPU/RAM usage charts (powered by Chart.js & Flask polling).
- Clipboard & File Browser: Navigate and open local files directly from the browser.
- Screen Captures: View, download, or perform OCR text extraction on captured screenshots.
- SQLite Productivity Modules: Manage notes, contacts, alarms, and reminders directly from the UI.
- LAN Sharing: Scans your local network and displays a QR code so you can access the dashboard from your phone on the same WiFi!
- OCR Engine: Uses
EasyOCRandPyTorchto read text on any screen window. - Vision-Clicking: Viru can find the coordinates of buttons/text and execute mouse clicks using
PyAutoGUI. - Window Awareness: Always contextually aware of which window is active.
- Wake Word: Strict grammar Vosk isolator ("Viru") with near 0% CPU usage while idle.
- Bi-Lingual: Flawless switching between Hindi and English.
- Speech Engine: High-fidelity ASR via Faster-Whisper and natural TTS via
pyttsx3.
- Vector Database: Built-in
ChromaDBandLangChainindex your desktop files (PDFs, Docs, TXT). - Contextual Recall: Bypasses heavy transformer imports when database is empty for zero overhead.
- WhatsApp Mastery: Headless background automation via
Playwrightto send/schedule messages. - Google Sync: Native OAuth2 integration for Google Calendar management.
- Smart Home: Generic Webhook bridge for IoT control.
Caution
Do NOT deploy this project to public cloud hosting platforms (like Vercel, Heroku, Render, or Netlify). It will NOT work properly there because:
- Local System Access: It requires physical access to your operating system to execute commands, open directories, launch apps, and automate mouse/keyboard inputs via
pyautogui. - Audio Hardware: Voice input/output requires physical audio device interfaces (microphone and speakers via
pyaudio/pyttsx3) not present in cloud containers. - Model Resource Demand: Running a 3B LLM model locally requires dedicated local CPU/GPU/RAM. Free cloud tiers will crash immediately due to out-of-memory errors.
Always run this project locally (localhost) or share it on your Local Area Network (LAN).
- Windows 10/11
- Python 3.10+
- FFmpeg (for voice processing, added to System PATH)
- 8GB+ RAM
Open PowerShell or Command Prompt and run the following:
# Clone the repository
git clone https://github.com/rajpratham1/Peresonal_Assistant.git
cd Peresonal_Assistant
# Run the setup script (creates virtual environment, installs pip packages, downloads models)
.\setup.batTo run the Tkinter GUI and system tray listener:
- Via file explorer: Double-click
run.bat - Via command line:
# Activate virtual environment .venv\Scripts\activate # Start loader python main_loader.py
To run the premium web dashboard:
- Via file explorer: Double-click
run_web.bat - Via command line:
Once started, open your browser and navigate to:
# Activate virtual environment .venv\Scripts\activate # Launch the web server python web_server.py
http://localhost:5000
Pratham Kumar
B.Tech CSE student, Web Developer, and Active AI Builder.
GitHub Profile | Project Repository
This project is for educational and personal use. All local model usage respects the original Qwen and llama.cpp licenses.