Windows AI voice assistant: Tauri + React HUD, Python backend, browser & desktop autopilot, phone remote
Python
1
4 commits
updated Oct 5, 2026
A voice assistant that actually does things on your PC. Say "Hey Jarvis", ask for something, and it answers out loud, drives a browser, clicks through desktop apps, and remembers you. All from an Iron-Man-style HUD.

Screenshot shows demo data.
Most desktop assistants stop at answering questions. JARVIS hands the task to an autopilot that reads the screen, plans the steps, acts, checks each step landed, and corrects itself when it didn't.
| ποΈ Hands-free voice | Local wake word ("Hey Jarvis") and local Whisper transcription. Push-to-talk with Ctrl+Space from any app. Full-duplex voice mode via Gemini Live. |
| π§ Any model, routed for you | Bring keys for Groq, Gemini, OpenRouter, NVIDIA NIM, Mistral, Claude, OpenAI, Grok or Meta Llama. Auto ranks your models by benchmark and picks per request, falling back when one is rate-limited. Vertex AI (Google Cloud login) and offline Ollama work too. |
| π Browser autopilot | Goal in, result out. Sandboxed to a browser JARVIS owns, with approvals for anything risky. Watch every step and screenshot in the Agent Activity panel. |
| π₯οΈ Desktop control | Opens, closes and operates Windows apps through UI Automation. Off until you arm it, with a live "JARVIS CONTROLLING" bar to pause or correct it. |
| π± Phone remote | QR + PIN pairing, signed messages, WebRTC screen streaming. A phone can run tasks but can never touch the PC's keys or settings. |
| π Rich answers | Charts, tables, timelines and flowcharts render inline in the chat. |
| πΎ Memory & playbooks | "Remember thatβ¦" keeps facts across sessions. Teach a multi-step routine once and it reuses it. Everything is stored locally and viewable in the Memory panel. |
| β° Everyday stuff | Reminders, timers, recurring routines, a voice-editable agenda, weather, nearby places, directions, news, web search with citations. |
| π οΈ PC actions | Volume, power, screenshots, screen/voice/video recording, QR codes, AI images, PDF read/write, speed test, camera OCR with translation. |
| π¨ Make it yours | Restyle the HUD by voice: colours, background, density and panel layout. Voices: Piper (offline), ElevenLabs or Google Chirp 3 HD. |
Grab the installer from the latest release.
Requires Windows 10/11, Python 3.11+, Node.js 20+ and the Rust toolchain.
git clone https://github.com/AnaaySampat/jarvis-windows.git
cd jarvis-windows
# Backend
cd jarvis-studio-backend
python -m venv .venv
.venv\Scripts\activate
pip install -r requirements.txt
playwright install chromium # for the browser autopilot
cd ..
# GUI
cd jarvis-studio-gui
npm install
cd ..
# Launch both
python start.py
python jarvis-studio-backend\main.py --text runs the backend with typed input
instead of the mic.
Every optional package fails soft. If one is missing, only its feature turns off,
and JARVIS tells you what to pip install.
| Feature | Package(s) |
|---|---|
| Vertex AI (Gemini / Imagen / Chirp / Vision) | google-auth + gcloud auth application-default login |
| Browser autopilot | playwright + playwright install chromium |
| Camera OCR | Cloud Vision via Vertex, or local easyocr + opencv-python + pillow |
| Live HUD telemetry | psutil (GPU gauge: nvidia-ml-py or GPUtil) |
| Exact volume control | pycaw, comtypes |
| Screenshots / QR codes | mss or pillow / qrcode |
| PDFs | pypdf (read), fpdf2 (write) |
| Video recording | opencv-python |
| Speed test | speedtest-cli |
| Phone pairing | cryptography + Tailscale on both devices |
| Live remote desktop | aiortc |
Phone Desktop
βββββββββββββββββββββ βββββββββββββββββββββββββββββββββββββ
signed envelopes ββββ Tailscale βββΆ +-------------------+
WebRTC video ββββ (100.64/10) | JARVIS HUD |
| (Tauri + React) |
+-------------------+
β WebSocket ws://127.0.0.1:8765
βΌ
+------------------------------------------------------------------+
| Python backend (jarvis-studio-backend) |
| openWakeWord β faster-whisper β LLM router β TTS |
| autopilot.py (browser + desktop operators) Β· task_router.py |
| actions/ Β· llm/ Β· server/ (ws + webrtc) Β· autonomy/ (pairing) |
+------------------------------------------------------------------+
One WebSocket server serves both the local HUD (loopback, full access) and a paired
phone (signed, allowlisted). A deterministic router (task_router.py) decides
whether a goal needs the browser or the desktop before any model commits to one.
| Path | What's there |
|---|---|
jarvis-studio-backend/ | main.py (handlers + orchestration), autopilot.py, actions/, llm/ (routing, model catalog), server/, autonomy/ (pairing crypto), transcription/, tts/, wake_word/ |
jarvis-studio-gui/ | Tauri 2 + React HUD: main window, status pill overlay, browser panel, control bar |
scripts/ | Installer build scripts |
start.py | Launches backend + GUI for development |
%APPDATA%\Jarvis\, never in the project folder.~/Jarvis).# Backend tests: no network or API keys needed
cd jarvis-studio-backend
python -m unittest discover -s . -p "test_*.py" -t .
# GUI
cd jarvis-studio-gui
npm test
npm run lint
npm run build
CI runs all of these on every push. Build the Windows installer with
.\scripts\build.ps1. It freezes the backend with PyInstaller, bundles the runtime
assets, and writes the NSIS installer to
jarvis-studio-gui\src-tauri\target\release\bundle\nsis\. Add -Lean to
scripts\package-backend.ps1 for a small installer that downloads assets on first run.
Bug reports and pull requests are welcome. See CONTRIBUTING.md and the Code of Conduct. Found a security issue? Please report it privately as described in SECURITY.md, not in a public issue.
MIT. See LICENSE.
Wake-word model: the bundled hey_jarvis model comes from
openWakeWord by David Scripka. Its code
is Apache 2.0, but its pre-trained models are
CC BY-NC-SA 4.0, which
forbids commercial use. For a commercial build, train your own model and put it
at jarvis-studio-backend/wake_word/models/hey_jarvis.onnx, or point
JARVIS_WAKE_MODEL_PATH at it.
JARVIS and Iron Man are trademarks of Marvel. This is an unofficial fan project, not affiliated with or endorsed by Marvel or Disney.
Windows AI voice assistant: Tauri + React HUD, Python backend, browser & desktop autopilot, phone remote
Python
1
4 commits
updated Oct 5, 2026
A voice assistant that actually does things on your PC. Say "Hey Jarvis", ask for something, and it answers out loud, drives a browser, clicks through desktop apps, and remembers you. All from an Iron-Man-style HUD.

Screenshot shows demo data.
Most desktop assistants stop at answering questions. JARVIS hands the task to an autopilot that reads the screen, plans the steps, acts, checks each step landed, and corrects itself when it didn't.
| ποΈ Hands-free voice | Local wake word ("Hey Jarvis") and local Whisper transcription. Push-to-talk with Ctrl+Space from any app. Full-duplex voice mode via Gemini Live. |
| π§ Any model, routed for you | Bring keys for Groq, Gemini, OpenRouter, NVIDIA NIM, Mistral, Claude, OpenAI, Grok or Meta Llama. Auto ranks your models by benchmark and picks per request, falling back when one is rate-limited. Vertex AI (Google Cloud login) and offline Ollama work too. |
| π Browser autopilot | Goal in, result out. Sandboxed to a browser JARVIS owns, with approvals for anything risky. Watch every step and screenshot in the Agent Activity panel. |
| π₯οΈ Desktop control | Opens, closes and operates Windows apps through UI Automation. Off until you arm it, with a live "JARVIS CONTROLLING" bar to pause or correct it. |
| π± Phone remote | QR + PIN pairing, signed messages, WebRTC screen streaming. A phone can run tasks but can never touch the PC's keys or settings. |
| π Rich answers | Charts, tables, timelines and flowcharts render inline in the chat. |
| πΎ Memory & playbooks | "Remember thatβ¦" keeps facts across sessions. Teach a multi-step routine once and it reuses it. Everything is stored locally and viewable in the Memory panel. |
| β° Everyday stuff | Reminders, timers, recurring routines, a voice-editable agenda, weather, nearby places, directions, news, web search with citations. |
| π οΈ PC actions | Volume, power, screenshots, screen/voice/video recording, QR codes, AI images, PDF read/write, speed test, camera OCR with translation. |
| π¨ Make it yours | Restyle the HUD by voice: colours, background, density and panel layout. Voices: Piper (offline), ElevenLabs or Google Chirp 3 HD. |
Grab the installer from the latest release.
Requires Windows 10/11, Python 3.11+, Node.js 20+ and the Rust toolchain.
git clone https://github.com/AnaaySampat/jarvis-windows.git
cd jarvis-windows
# Backend
cd jarvis-studio-backend
python -m venv .venv
.venv\Scripts\activate
pip install -r requirements.txt
playwright install chromium # for the browser autopilot
cd ..
# GUI
cd jarvis-studio-gui
npm install
cd ..
# Launch both
python start.py
python jarvis-studio-backend\main.py --text runs the backend with typed input
instead of the mic.
Every optional package fails soft. If one is missing, only its feature turns off,
and JARVIS tells you what to pip install.
| Feature | Package(s) |
|---|---|
| Vertex AI (Gemini / Imagen / Chirp / Vision) | google-auth + gcloud auth application-default login |
| Browser autopilot | playwright + playwright install chromium |
| Camera OCR | Cloud Vision via Vertex, or local easyocr + opencv-python + pillow |
| Live HUD telemetry | psutil (GPU gauge: nvidia-ml-py or GPUtil) |
| Exact volume control | pycaw, comtypes |
| Screenshots / QR codes | mss or pillow / qrcode |
| PDFs | pypdf (read), fpdf2 (write) |
| Video recording | opencv-python |
| Speed test | speedtest-cli |
| Phone pairing | cryptography + Tailscale on both devices |
| Live remote desktop | aiortc |
Phone Desktop
βββββββββββββββββββββ βββββββββββββββββββββββββββββββββββββ
signed envelopes ββββ Tailscale βββΆ +-------------------+
WebRTC video ββββ (100.64/10) | JARVIS HUD |
| (Tauri + React) |
+-------------------+
β WebSocket ws://127.0.0.1:8765
βΌ
+------------------------------------------------------------------+
| Python backend (jarvis-studio-backend) |
| openWakeWord β faster-whisper β LLM router β TTS |
| autopilot.py (browser + desktop operators) Β· task_router.py |
| actions/ Β· llm/ Β· server/ (ws + webrtc) Β· autonomy/ (pairing) |
+------------------------------------------------------------------+
One WebSocket server serves both the local HUD (loopback, full access) and a paired
phone (signed, allowlisted). A deterministic router (task_router.py) decides
whether a goal needs the browser or the desktop before any model commits to one.
| Path | What's there |
|---|---|
jarvis-studio-backend/ | main.py (handlers + orchestration), autopilot.py, actions/, llm/ (routing, model catalog), server/, autonomy/ (pairing crypto), transcription/, tts/, wake_word/ |
jarvis-studio-gui/ | Tauri 2 + React HUD: main window, status pill overlay, browser panel, control bar |
scripts/ | Installer build scripts |
start.py | Launches backend + GUI for development |
%APPDATA%\Jarvis\, never in the project folder.~/Jarvis).# Backend tests: no network or API keys needed
cd jarvis-studio-backend
python -m unittest discover -s . -p "test_*.py" -t .
# GUI
cd jarvis-studio-gui
npm test
npm run lint
npm run build
CI runs all of these on every push. Build the Windows installer with
.\scripts\build.ps1. It freezes the backend with PyInstaller, bundles the runtime
assets, and writes the NSIS installer to
jarvis-studio-gui\src-tauri\target\release\bundle\nsis\. Add -Lean to
scripts\package-backend.ps1 for a small installer that downloads assets on first run.
Bug reports and pull requests are welcome. See CONTRIBUTING.md and the Code of Conduct. Found a security issue? Please report it privately as described in SECURITY.md, not in a public issue.
MIT. See LICENSE.
Wake-word model: the bundled hey_jarvis model comes from
openWakeWord by David Scripka. Its code
is Apache 2.0, but its pre-trained models are
CC BY-NC-SA 4.0, which
forbids commercial use. For a commercial build, train your own model and put it
at jarvis-studio-backend/wake_word/models/hey_jarvis.onnx, or point
JARVIS_WAKE_MODEL_PATH at it.
JARVIS and Iron Man are trademarks of Marvel. This is an unofficial fan project, not affiliated with or endorsed by Marvel or Disney.