Skip to content

PramudithaN/jarvis

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 

Repository files navigation

JARVIS - Personal Local AI Assistant

Python Ollama Windows

A fully local, voice-controlled AI assistant and autonomous tool-calling agent running 100% offline.


📖 About This Project

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.


✨ Features

  • 🎙️ 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.

🛠️ Tech Stack

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

📋 Prerequisites

  • Python v3.8 or higher
  • pip package manager
  • Git
  • A microphone and speaker/headset configured as your default system input/output devices.

⚙️ Getting Started

1. Clone the repository

git clone https://github.com/PramudithaN/jarvis.git
cd jarvis

2. Install dependencies

On Windows, double-click setup.bat, or run manually:

pip install SpeechRecognition pyttsx3 pyautogui pyperclip requests

3. Set up local LLM (Optional but Recommended)

For full smart conversation and tool execution capabilities:

  1. Download and install Ollama.
  2. Open a terminal and download your preferred model:
    ollama pull gemma3
  3. Run the Ollama server in the background:
    ollama serve

4. Start the Assistant

Run the main python file to start JARVIS:

python jarvis.py

Say "Jarvis" to wake up the assistant, wait for the beep, and say your command!


📦 Available Scripts

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.

📁 Project Structure

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

🙋‍♂️ Connect with Me


Developed with ❤️ by Pramuditha Nadun.

About

A fully local, voice-controlled AI assistant and autonomous tool-calling agent running 100% offline.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors