Your Jarvis V2 desktop AI assistant is now fully built and ready to use! This is a comprehensive, production-ready system inspired by Tony Stark's JARVIS from Iron Man.
- β Natural Language Processing - Understands commands in plain English
- β Voice Control - Speak to Jarvis and get spoken responses
- β Application Management - Open, close, and switch between apps
- β Screenshot Capture - Full screen, window, or region capture
- β System Control - Volume, power management, system info
- β File Operations - Search, open, create, and manage files
- β Window Management - Resize, position, and organize windows
- β Intelligent Personality - Professional, witty, context-aware responses
- β GUI Mode - Modern graphical interface with CustomTkinter
- β CLI Mode - Text-based command line interface
- β Voice Mode - Hands-free voice control
- β Daemon Mode - Background service
- β Python 3.8+ - Core language
- β Speech Recognition - Google Speech API, CMU Sphinx
- β Text-to-Speech - pyttsx3
- β Desktop Automation - psutil, pywin32, pyautogui
- β GUI Framework - CustomTkinter
- β Configuration - JSON-based settings
JarivsV2/
βββ π main.py # Main entry point
βββ π requirements.txt # Python dependencies
βββ π README.md # Full documentation
βββ π QUICKSTART.md # Quick start guide
βββ π ARCHITECTURE.md # System architecture
βββ π CHANGELOG.md # Version history
βββ π LICENSE # MIT License
βββ π .gitignore # Git ignore rules
β
βββ π config/
β βββ config.example.json # Example configuration
β βββ config.json # User configuration (auto-created)
β
βββ π core/ # Core system
β βββ jarvis.py # Main controller
β βββ command_processor.py # Command processing
β βββ intent_recognizer.py # NLP intent recognition
β βββ validator.py # Command validation
β
βββ π modules/ # Desktop control
β βββ application_manager.py # App control
β βββ screenshot_manager.py # Screenshots
β βββ system_controller.py # System operations
β βββ file_manager.py # File operations
β βββ window_manager.py # Window management
β
βββ π voice/ # Voice interface
β βββ speech_recognition.py # Speech-to-text
β βββ text_to_speech.py # Text-to-speech
β βββ wake_word.py # Wake word detection
β
βββ π personality/ # Response system
β βββ response_generator.py # Natural responses
β
βββ π gui/ # Graphical interface
β βββ main_window.py # Main GUI window
β
βββ π utils/ # Utilities
β βββ logger.py # Logging system
β βββ config_manager.py # Config management
β βββ helpers.py # Helper functions
β
βββ π examples/ # Usage examples
β βββ api_usage.py # API examples
β βββ custom_commands.py # Custom command examples
β
βββ π logs/ # Application logs (auto-created)
βββ π screenshots/ # Screenshots folder (optional)
β
βββ π install.bat # Easy installation script
βββ π run_jarvis.bat # Quick launch script
βββ π run_cli.bat # CLI mode launcher
βββ π test.bat # Test runner
βββ π test_jarvis.py # System tests
Total Lines of Code: ~5,500+ Total Files: 35+ Modules: 8 core, 5 desktop control, 3 voice
Option A: Automated (Recommended)
install.batOption B: Manual
# Create virtual environment
python -m venv venv
venv\Scripts\activate
# Install dependencies
pip install -r requirements.txt
# Copy configuration
copy config\config.example.json config\config.jsonGUI Mode (Default)
python main.py
# Or: run_jarvis.batCLI Mode
python main.py --mode cli
# Or: run_cli.batVoice Mode
python main.py --mode voiceSingle Command
python main.py --command "open chrome"python test_jarvis.py
# Or: test.bat"Open Chrome"
"Launch Visual Studio Code"
"Close all browsers"
"Switch to Discord"
"List running apps"
"Take a screenshot"
"Screenshot this window"
"Capture screen and save to Desktop"
"Set volume to 50"
"Mute"
"How's the system doing?"
"Lock screen"
"Open Documents folder"
"Find all PDFs in Downloads"
"Create folder Projects"
"Hello" / "Hey Jarvis"
"What time is it?"
"Help"
"Thank you"
Edit config/config.json to customize:
{
"voice": {
"enabled": true,
"wake_word": "jarvis",
"tts_rate": 175,
"tts_volume": 0.9
}
}{
"personality": {
"formality_level": "professional",
"wit_enabled": true,
"address_user_as": "sir"
}
}{
"security": {
"require_confirmation": {
"file_deletion": true,
"system_shutdown": true
}
}
}Jarvis understands variations of commands:
- "Open Chrome" = "Launch Chrome" = "Start Chrome" = "Run Chrome"
- Smart extraction of parameters (app names, numbers, etc.)
Jarvis responds intelligently based on:
- Time of day (good morning/afternoon/evening)
- Command success/failure
- User preferences
- Validates all commands before execution
- Confirms dangerous operations
- Prevents system file deletion
- Graceful error handling
- Easy to add new commands
- Modular architecture
- Plugin-ready structure
- API for external integration
from core import get_jarvis
jarvis = get_jarvis()
jarvis.start()
# Process command
result = jarvis.process_command("open chrome")
print(result['response'])
# Voice command
result = jarvis.process_voice_command()
# Register callbacks
jarvis.on_command(lambda cmd: print(f"Command: {cmd}"))
jarvis.on_response(lambda res: print(f"Response: {res}"))from core import CommandProcessor
class MyCommands(CommandProcessor):
def _execute_my_command(self, params):
return {
'success': True,
'response': "Custom command executed!"
}# Test microphone
python -m speech_recognition
# Check config
# voice.enabled should be true in config.json
# Install audio dependencies
pip install pyaudio# Reinstall dependencies
pip install -r requirements.txt --upgrade
# Check Python version
python --version # Should be 3.8+- Disable continuous listening
- Reduce screenshot quality in config
- Check system resources
- README.md - Complete project overview
- QUICKSTART.md - Fast setup guide
- ARCHITECTURE.md - System design details
- CHANGELOG.md - Version history
- Change formality level (professional β casual)
- Modify response templates
- Add custom greetings
- Change wake word
- Adjust speech rate/volume
- Try different voices
- GUI theme (dark/light)
- Window size and position
- Custom colors
- Add shortcuts for common tasks
- Create automation workflows
- Integrate with other apps
- macOS and Linux support
- Web interface
- Mobile app
- Plugin system
- GPT-4 integration
- Smart home control
- Email integration
- Calendar management
- Task automation
- Cloud sync
To extend Jarvis:
- Add Commands: Edit
core/intent_recognizer.py - Add Modules: Create new module in
modules/ - Add Responses: Edit
personality/response_generator.py - Test: Run
test_jarvis.py
MIT License - Free to use, modify, and distribute
- Install: Run
install.bat - Configure: Edit
config/config.json - Test: Run
test_jarvis.py - Launch: Run
python main.py - Enjoy: Start commanding your desktop!
Built with:
- Python 3.8+
- SpeechRecognition
- pyttsx3
- CustomTkinter
- psutil
- pywin32
- pyautogui
Inspired by:
- Iron Man's JARVIS
- Modern AI assistants
- The open-source community
For issues or questions:
- Check logs in
logs/folder - Run with
--debugflag - Review documentation
- Check configuration
Your Jarvis V2 desktop AI assistant is ready to serve!
"Good morning, sir. Jarvis online and ready. All systems operational."
Version 2.0.0 - October 22, 2025 Built with π and Python