A.D.A (Advanced Digital Assistant) is a fully local, privacy-focused AI assistant for Windows. It combines a beautiful modern GUI with powerful voice control capabilitiesโall running entirely on YOUR computer with no cloud dependency.
๐ Your data stays on your machine. No API keys required for core functionality. No subscriptions. No data collection.
| Feature | Description |
|---|---|
| ๐ค Voice Control | Wake word detection ("Jarvis") with natural language commands |
| ๐ฌ AI Chat | Interactive chat with local LLMs via Ollama with streaming responses |
| ๐ Smart Home | Control TP-Link Kasa smart lights and plugs from the app |
| ๐ Planner | Manage calendar events, alarms, and timers |
| ๐ฐ Daily Briefing | AI-curated news from Technology, Science, and Top Stories |
| ๐ค๏ธ Weather | Current weather and hourly forecast on your dashboard |
| ๐ Web Search | Search the web through voice or chat commands |
| ๐ฅ๏ธ System Monitor | Real-time CPU and memory usage in the title bar |
The application features a sleek Windows 11 Fluent Design aesthetic with dark mode support.
Before you begin, make sure you have:
| Software | Purpose | Download |
|---|---|---|
| Miniconda | Python environment manager | miniconda.io |
| Ollama | Local AI model server | ollama.com |
| NVIDIA GPU (Recommended) | Faster AI inference | GPU with 4GB+ VRAM |
Follow these steps to get A.D.A running on your system.
โ Ollama runs in the background - no need to start it manually after installation.
Open a terminal and pull your preferred model. You can choose from:
๐น Option A: Qwen3 (Recommended for most users)
# Fast and efficient - great balance of speed and quality
ollama pull qwen3:1.7b
๐น Option B: DeepSeek R1 (Better reasoning)
# Stronger reasoning capabilities - slightly slower
ollama pull deepseek-r1:1.5b
๐ก Tip: You can switch models anytime in
config.pyby changingRESPONDER_MODEL.
Verify your model is installed:
ollama list
# Clone the repository
git clone https://github.com/your-username/pocket_ai.git
cd pocket_ai
# Create a conda environment
conda create -n ada python=3.11 -y
# Activate the environment
conda activate ada
# Install dependencies
pip install -r requirements.txt
โฑ๏ธ Note: First installation may take 5-10 minutes as PyTorch and other large packages are downloaded.
For significantly faster AI inference, install PyTorch with CUDA support:
# Install PyTorch with CUDA 12.4 support
pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu124
Verify CUDA is working:
python -c "import torch; print(f'CUDA available: {torch.cuda.is_available()}')"
๐ก CPU-only users: Skip this stepโPyTorch will use CPU by default. It's slower but works fine.
python main.py
๐ That's it! A.D.A will launch with a beautiful GUI.
A.D.A benefits greatly from GPU acceleration. Here's what runs on your GPU:
| Component | GPU Benefit | Without GPU |
|---|---|---|
| Router Model | ~50ms inference | ~200ms inference |
| Ollama LLM | Fast streaming responses | Slower, but functional |
| Whisper STT | Real-time transcription | Slight delay |
# View GPU info and VRAM
nvidia-smi
The following models are downloaded automatically on first runโno manual setup required:
| Model | Purpose | Size | Downloaded From |
|---|---|---|---|
| Router Model | Intent classification | ~500MB | Hugging Face |
| TTS Voice | Text-to-speech | ~50MB | Piper Voices |
| STT Model | Speech-to-text (Whisper) | ~150MB | OpenAI Whisper |
๐ฆ First launch will take a few minutes while these models download. Subsequent launches are instant.
A.D.A includes Alexa-like voice control with wake word detection.
| Command | What It Does |
|---|---|
| "Jarvis, turn on the office lights" | Controls smart lights |
| "Jarvis, set a timer for 10 minutes" | Creates a countdown timer |
| "Jarvis, what's on my schedule today?" | Reads your calendar |
| "Jarvis, search the web for Python tutorials" | Performs web search |
| "Jarvis, add buy groceries to my to-do list" | Creates a task |
Edit config.py to customize:
# Change wake word (default: "jarvis")
WAKE_WORD = "jarvis"
# Adjust sensitivity (0.0-1.0, lower = less false positives)
WAKE_WORD_SENSITIVITY = 0.4
# Enable/disable voice assistant
VOICE_ASSISTANT_ENABLED = True
All configuration is centralized in config.py:
Change the chat model in config.py:
# The main chat model (runs on Ollama)
# Options: "qwen3:1.7b" (fast) or "deepseek-r1:1.5b" (better reasoning)
RESPONDER_MODEL = "qwen3:1.7b"
# Ollama server URL (usually no need to change)
OLLAMA_URL = "http://localhost:11434/api"
Model Comparison:
| Model | Speed | Reasoning | Best For |
|---|---|---|---|
qwen3:1.7b | โก Fast | Good | Daily use, quick responses |
deepseek-r1:1.5b | Moderate | Excellent | Math, coding, complex questions |
# Voice model (downloads automatically on first run)
TTS_VOICE_MODEL = "en_GB-northern_english_male-medium"
The default location is New York City. To change it:
pocket_ai/
โโโ main.py # Application entry point
โโโ config.py # Centralized configuration
โโโ requirements.txt # Python dependencies
โ
โโโ core/ # Backend logic
โ โโโ router.py # FunctionGemma intent classifier
โ โโโ function_executor.py # Executes routed functions
โ โโโ voice_assistant.py # Voice pipeline orchestrator
โ โโโ stt.py # Speech-to-text with wake word
โ โโโ tts.py # Piper text-to-speech
โ โโโ kasa_control.py # Smart home device control
โ โโโ weather.py # Open-Meteo weather API
โ โโโ news.py # DuckDuckGo news + AI curation
โ โโโ tasks.py # To-do list management
โ โโโ calendar_manager.py # Local calendar/events
โ โโโ history.py # SQLite chat history
โ โโโ llm.py # Ollama LLM interface
โ
โโโ gui/ # PySide6 GUI
โ โโโ app.py # Main window setup
โ โโโ handlers.py # Chat message handling
โ โโโ tabs/ # Individual tab screens
โ โ โโโ dashboard.py # Weather + status overview
โ โ โโโ chat.py # AI chat interface
โ โ โโโ planner.py # Calendar + tasks
โ โ โโโ briefing.py # AI news curation
โ โ โโโ home_automation.py # Smart device control
โ โ โโโ settings.py # App configuration
โ โโโ components/ # Reusable UI widgets
โ
โโโ merged_model/ # Fine-tuned FunctionGemma router
โโโ demo.py # Standalone voice assistant demo
โโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโ
โ User Input โโโโโโถโ FunctionGemma โโโโโโถโ Function โ
โ (Voice/Text) โ โ Router โ โ Executor โ
โโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโโโโโ โโโโโโโโฌโโโโโโโ
โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโโโโ
โ โ โ
โผ โผ โผ
โโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโ
โ Kasa Lights โ โ Calendar โ โ Web Search โ
โโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโ
โ
โผ
โโโโโโโโโโโโโโโโ
โ Qwen LLM โ
โ (via Ollama) โ
โโโโโโโโโโโโโโโโ
โ
โผ
โโโโโโโโโโโโโโโโ
โ Piper TTS โ
โ (Voice Out) โ
โโโโโโโโโโโโโโโโ
A.D.A supports TP-Link Kasa smart devices:
"Turn on the living room lights"
"Set the bedroom lights to 50%"
"Turn off all lights"
"Change the office light to blue"
Problem: The app can't connect to Ollama.
Solution:
ollama serveollama listconfig.py matches your setupProblem: PyTorch is running on CPU instead of GPU.
Solution:
pip install torch --index-url https://download.pytorch.org/whl/cu121
python -c "import torch; print(torch.cuda.is_available())"Problem: Wake word isn't being detected.
Solution:
realtimestt is installed: pip install realtimesttWAKE_WORD_SENSITIVITY in config.pyProblem: Kasa devices don't appear in the app.
Solution:
Contributions are welcome! Here's how to get started:
git checkout -b feature/amazing-featurepytest tests/This project is open source. See LICENSE for details.
Made with โค๏ธ for local AI enthusiasts
55 commits
Python
100.0%
A.D.A (Advanced Digital Assistant) is a fully local, privacy-focused AI assistant for Windows. It combines a beautiful modern GUI with powerful voice control capabilitiesโall running entirely on YOUR computer with no cloud dependency.
๐ Your data stays on your machine. No API keys required for core functionality. No subscriptions. No data collection.
| Feature | Description |
|---|---|
| ๐ค Voice Control | Wake word detection ("Jarvis") with natural language commands |
| ๐ฌ AI Chat | Interactive chat with local LLMs via Ollama with streaming responses |
| ๐ Smart Home | Control TP-Link Kasa smart lights and plugs from the app |
| ๐ Planner | Manage calendar events, alarms, and timers |
| ๐ฐ Daily Briefing | AI-curated news from Technology, Science, and Top Stories |
| ๐ค๏ธ Weather | Current weather and hourly forecast on your dashboard |
| ๐ Web Search | Search the web through voice or chat commands |
| ๐ฅ๏ธ System Monitor | Real-time CPU and memory usage in the title bar |
The application features a sleek Windows 11 Fluent Design aesthetic with dark mode support.
Before you begin, make sure you have:
| Software | Purpose | Download |
|---|---|---|
| Miniconda | Python environment manager | miniconda.io |
| Ollama | Local AI model server | ollama.com |
| NVIDIA GPU (Recommended) | Faster AI inference | GPU with 4GB+ VRAM |
Follow these steps to get A.D.A running on your system.
โ Ollama runs in the background - no need to start it manually after installation.
Open a terminal and pull your preferred model. You can choose from:
๐น Option A: Qwen3 (Recommended for most users)
# Fast and efficient - great balance of speed and quality
ollama pull qwen3:1.7b
๐น Option B: DeepSeek R1 (Better reasoning)
# Stronger reasoning capabilities - slightly slower
ollama pull deepseek-r1:1.5b
๐ก Tip: You can switch models anytime in
config.pyby changingRESPONDER_MODEL.
Verify your model is installed:
ollama list
# Clone the repository
git clone https://github.com/your-username/pocket_ai.git
cd pocket_ai
# Create a conda environment
conda create -n ada python=3.11 -y
# Activate the environment
conda activate ada
# Install dependencies
pip install -r requirements.txt
โฑ๏ธ Note: First installation may take 5-10 minutes as PyTorch and other large packages are downloaded.
For significantly faster AI inference, install PyTorch with CUDA support:
# Install PyTorch with CUDA 12.4 support
pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu124
Verify CUDA is working:
python -c "import torch; print(f'CUDA available: {torch.cuda.is_available()}')"
๐ก CPU-only users: Skip this stepโPyTorch will use CPU by default. It's slower but works fine.
python main.py
๐ That's it! A.D.A will launch with a beautiful GUI.
A.D.A benefits greatly from GPU acceleration. Here's what runs on your GPU:
| Component | GPU Benefit | Without GPU |
|---|---|---|
| Router Model | ~50ms inference | ~200ms inference |
| Ollama LLM | Fast streaming responses | Slower, but functional |
| Whisper STT | Real-time transcription | Slight delay |
# View GPU info and VRAM
nvidia-smi
The following models are downloaded automatically on first runโno manual setup required:
| Model | Purpose | Size | Downloaded From |
|---|---|---|---|
| Router Model | Intent classification | ~500MB | Hugging Face |
| TTS Voice | Text-to-speech | ~50MB | Piper Voices |
| STT Model | Speech-to-text (Whisper) | ~150MB | OpenAI Whisper |
๐ฆ First launch will take a few minutes while these models download. Subsequent launches are instant.
A.D.A includes Alexa-like voice control with wake word detection.
| Command | What It Does |
|---|---|
| "Jarvis, turn on the office lights" | Controls smart lights |
| "Jarvis, set a timer for 10 minutes" | Creates a countdown timer |
| "Jarvis, what's on my schedule today?" | Reads your calendar |
| "Jarvis, search the web for Python tutorials" | Performs web search |
| "Jarvis, add buy groceries to my to-do list" | Creates a task |
Edit config.py to customize:
# Change wake word (default: "jarvis")
WAKE_WORD = "jarvis"
# Adjust sensitivity (0.0-1.0, lower = less false positives)
WAKE_WORD_SENSITIVITY = 0.4
# Enable/disable voice assistant
VOICE_ASSISTANT_ENABLED = True
All configuration is centralized in config.py:
Change the chat model in config.py:
# The main chat model (runs on Ollama)
# Options: "qwen3:1.7b" (fast) or "deepseek-r1:1.5b" (better reasoning)
RESPONDER_MODEL = "qwen3:1.7b"
# Ollama server URL (usually no need to change)
OLLAMA_URL = "http://localhost:11434/api"
Model Comparison:
| Model | Speed | Reasoning | Best For |
|---|---|---|---|
qwen3:1.7b | โก Fast | Good | Daily use, quick responses |
deepseek-r1:1.5b | Moderate | Excellent | Math, coding, complex questions |
# Voice model (downloads automatically on first run)
TTS_VOICE_MODEL = "en_GB-northern_english_male-medium"
The default location is New York City. To change it:
pocket_ai/
โโโ main.py # Application entry point
โโโ config.py # Centralized configuration
โโโ requirements.txt # Python dependencies
โ
โโโ core/ # Backend logic
โ โโโ router.py # FunctionGemma intent classifier
โ โโโ function_executor.py # Executes routed functions
โ โโโ voice_assistant.py # Voice pipeline orchestrator
โ โโโ stt.py # Speech-to-text with wake word
โ โโโ tts.py # Piper text-to-speech
โ โโโ kasa_control.py # Smart home device control
โ โโโ weather.py # Open-Meteo weather API
โ โโโ news.py # DuckDuckGo news + AI curation
โ โโโ tasks.py # To-do list management
โ โโโ calendar_manager.py # Local calendar/events
โ โโโ history.py # SQLite chat history
โ โโโ llm.py # Ollama LLM interface
โ
โโโ gui/ # PySide6 GUI
โ โโโ app.py # Main window setup
โ โโโ handlers.py # Chat message handling
โ โโโ tabs/ # Individual tab screens
โ โ โโโ dashboard.py # Weather + status overview
โ โ โโโ chat.py # AI chat interface
โ โ โโโ planner.py # Calendar + tasks
โ โ โโโ briefing.py # AI news curation
โ โ โโโ home_automation.py # Smart device control
โ โ โโโ settings.py # App configuration
โ โโโ components/ # Reusable UI widgets
โ
โโโ merged_model/ # Fine-tuned FunctionGemma router
โโโ demo.py # Standalone voice assistant demo
โโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโ
โ User Input โโโโโโถโ FunctionGemma โโโโโโถโ Function โ
โ (Voice/Text) โ โ Router โ โ Executor โ
โโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโโโโโ โโโโโโโโฌโโโโโโโ
โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโโโโ
โ โ โ
โผ โผ โผ
โโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโ
โ Kasa Lights โ โ Calendar โ โ Web Search โ
โโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโ
โ
โผ
โโโโโโโโโโโโโโโโ
โ Qwen LLM โ
โ (via Ollama) โ
โโโโโโโโโโโโโโโโ
โ
โผ
โโโโโโโโโโโโโโโโ
โ Piper TTS โ
โ (Voice Out) โ
โโโโโโโโโโโโโโโโ
A.D.A supports TP-Link Kasa smart devices:
"Turn on the living room lights"
"Set the bedroom lights to 50%"
"Turn off all lights"
"Change the office light to blue"
Problem: The app can't connect to Ollama.
Solution:
ollama serveollama listconfig.py matches your setupProblem: PyTorch is running on CPU instead of GPU.
Solution:
pip install torch --index-url https://download.pytorch.org/whl/cu121
python -c "import torch; print(torch.cuda.is_available())"Problem: Wake word isn't being detected.
Solution:
realtimestt is installed: pip install realtimesttWAKE_WORD_SENSITIVITY in config.pyProblem: Kasa devices don't appear in the app.
Solution:
Contributions are welcome! Here's how to get started:
git checkout -b feature/amazing-featurepytest tests/This project is open source. See LICENSE for details.
Made with โค๏ธ for local AI enthusiasts
55 commits
Python
100.0%