A fully local, voice-controlled AI assistant and autonomous tool-calling agent running 100% offline.
JARVIS is an offline personal AI assistant that runs directly on your machine using free, open-source tools. By integrating speech recognition and text-to-speech libraries, it listens for voice commands and speaks back in real time. When connected to Ollama, JARVIS leverages a local language model (like Gemma 3 or Llama 3) to function as an autonomous tool-calling agent that can interact with your computer. If offline models are not active, JARVIS fallback-handles standard commands using pre-defined pattern-matching rules.
- 🎙️ Voice Control - Speech-to-text integration using standard microphone input.
- 🗣️ Text-to-Speech (TTS) - Speaks responses back to you offline using custom voice configurations.
- 🧠 Offline LLM Integration - Powered by Ollama (
gemma3,llama3, etc.) to provide intelligent, natural conversational answers. - 🛠️ Autonomous Agent Tools - When connected to Ollama, JARVIS can call 12 built-in system tools to execute tasks on your system.
- 📂 File & Folder Management - Create, delete, rename, open, and list directories using natural speech.
- 🖥️ System Control - Type text at the cursor, take screenshots, copy to clipboard, and open applications like Notepad, Calculator, or VS Code.
- 🌐 Web Search Capabilities - Search Google in your default web browser using voice commands.
- 🔌 Pattern-Matching Fallback - Seamlessly runs offline regular expression rules if Ollama is not running.
| Layer | Technology |
|---|---|
| Language | Python 3.8+ |
| LLM Engine | Ollama |
| Speech to Text | SpeechRecognition |
| Text to Speech | pyttsx3 |
| OS Automation | PyAutoGUI |
| Clipboard | pyperclip |
| HTTP Client | requests |
- Python v3.8 or higher
- pip package manager
- Git
- A microphone and speaker/headset configured as your default system input/output devices.
git clone https://github.com/PramudithaN/jarvis.git
cd jarvisOn Windows, double-click setup.bat, or run manually:
pip install SpeechRecognition pyttsx3 pyautogui pyperclip requestsFor full smart conversation and tool execution capabilities:
- Download and install Ollama.
- Open a terminal and download your preferred model:
ollama pull gemma3
- Run the Ollama server in the background:
ollama serve
Run the main python file to start JARVIS:
python jarvis.pySay "Jarvis" to wake up the assistant, wait for the beep, and say your command!
| Command | Description |
|---|---|
setup.bat |
Windows batch file to automatically upgrade pip and install all required Python libraries. |
python jarvis.py |
Main script to calibrate your microphone and start the voice-controlled JARVIS loop. |
jarvis/
├── jarvis.py # Main assistant containing speech recognition, TTS, and agent loop
├── setup.bat # One-click Windows setup script for installing dependencies
├── .gitignore # Excludes cache, IDE workspace configs, and virtual environments
└── README.md # Project documentation and setup guide
- GitHub: github.com/PramudithaN
- LinkedIn: linkedin.com/in/pramuditha-nadun-612b1b204
- Email: pramudithanadun@gmail.com
Developed with ❤️ by Pramuditha Nadun.