Features β’ Quick Start β’ Demo β’ Documentation β’ Contributing
Buddy is an all-in-one AI virtual assistant that revolutionizes how you interact with your computer. Control your mouse and keyboard with hand gestures, execute commands with your voice, and automate tasks with AI-powered features.
Author: Rajpal Singh Rathore
- Virtual Mouse - Hand gesture-based mouse control
- Virtual Keyboard - On-screen keyboard with gesture typing
- Voice Assistant "Buddy" - AI-powered voice commands
- β Face authentication
- β Voice command recognition
- β Spotify integration (play music, search artists)
- β YouTube control (play videos, search)
- β WhatsApp automation (messages, calls)
- β Phone integration (calls, SMS via Phone Link)
- β Email composition (Gmail)
- β Web search (Google, product search on 20+ sites)
- β Note taking (Sticky Notes, file-based)
- β Reminders (Windows Task Scheduler)
- β Screenshots
- β AI chatbot (HuggingChat)
- β Code generation
- β Image generation (Stable Diffusion)
- β Google Maps routes
| Gesture | Action |
|---|---|
| Index finger movement | Move cursor |
| Index finger bent + middle straight | Left click |
| Middle finger bent + index straight | Right click |
| Both fingers bent (thumb far) | Double click |
| Both fingers bent (thumb close) | Screenshot |
| Thumb + index touching + move up/down | Scroll |
| Thumb + pinky touching | Drawing mode |
| Thumb + ring finger (1 sec) | Close window |
| Thumb + middle finger (1 sec) | Minimize window |
- Windows 10/11
- Python 3.8 or higher
- Webcam
- Microphone
- Internet connection
-
Clone or download this repository
cd C:\VirtualMouseProject -
Run setup script
setup.batThis will:
- Create virtual environment
- Install all dependencies
- Verify installation
-
Configure API keys (Optional) Create a
.envfile in the project root:CLIENT_ID=your_spotify_client_id CLIENT_SECRET=your_spotify_client_secret HuggingFaceApiKey=your_huggingface_api_key -
Test components
python test_components.py -
Launch the assistant
start.batOr directly:
python run.py
- Run
start.bat - Complete face authentication when prompted
- Wait for "Ready to help" confirmation
- Use voice commands or click the mic button
- Press
Alt + Jfor quick voice activation
- "Open YouTube"
- "Play Despacito on YouTube"
- "Search for laptop on Amazon"
- "Send a message to [contact name] on WhatsApp"
- "Set a reminder for tomorrow at 3 PM to call mom"
- "Take a screenshot"
- "Generate an image of a sunset over mountains"
- "Write a code to sort a list in Python"
- "What's the weather like?"
- Voice: "Start virtual mouse" / "Start virtual keyboard"
- Or use Flask API endpoints (if running app.py)
- Check if camera is being used by another application
- Grant camera permissions to Python
- Check microphone permissions
- Ensure internet connection (uses Google Speech API)
- Adjust
r.pause_thresholdin commands.py if needed
- Ensure good lighting
- Train your face using
assist/Engine/auth/sample.py - Run
assist/Engine/auth/trainer.pyto generate trainer.yml
- Activate virtual environment:
envjarvis\Scripts\activate - Reinstall:
pip install -r requirements.txt
- Get API credentials from https://developer.spotify.com
- Add to .env file
VirtualMouseProject/
βββ run.py # Main launcher (multiprocessing)
βββ main.py # Assistant initialization
βββ app.py # Flask API server
βββ virtualMouse.py # Gesture-based mouse
βββ virtual_ketboard.py # Gesture-based keyboard
βββ requirements.txt # Dependencies
βββ setup.bat # Installation script
βββ start.bat # Launch script
βββ test_components.py # Component testing
βββ assist/
β βββ Engine/
β β βββ commands.py # Command handler
β β βββ features.py # Feature implementations
β β βββ config.py # Configuration
β β βββ db.py # Database operations
β β βββ spotify.py # Spotify integration
β β βββ auth/ # Face authentication
β β βββ ImageBot/ # Image generation UI
β β βββ CodingBuddy/ # Code assistant UI
β βββ www/ # Web interface
β βββ index.html
β βββ main.js
β βββ style.css
βββ envjarvis/ # Virtual environment
Coming Soon: Full demo video showcasing all features
Secure login with facial recognition
Control cursor with hand gestures
Beautiful web-based UI with voice commands
Create images from text prompts
β¨ Say "Hey Buddy" to activate
π΅ "Play [song name] on Spotify"
π§ "Send email to [contact]"
π "Search Google for [query]"
π¨ "Generate image of [description]"
π» "Write code to [task]"
Edit assist/Engine/commands.py and add to allCommands() function
Use the web UI contact form or edit database directly
Run the easy setup script:
.\setup_face_auth.batOr manually:
- Run
python assist/Engine/auth/sample.pyto capture face samples - Run
python assist/Engine/auth/trainer.pyto train the model
Contributions are welcome! Here's how:
- Fork the repository
- Create your feature branch (
git checkout -b feature/AmazingFeature) - Commit your changes (
git commit -m 'Add some AmazingFeature') - Push to the branch (
git push origin feature/AmazingFeature) - Open a Pull Request
See DEPLOYMENT.md for complete deployment guide.
This project is licensed under the MIT License - see the LICENSE file for details.
- OpenCV for computer vision capabilities
- MediaPipe for hand tracking
- Eel for Python-JavaScript bridge
- HuggingFace for AI models
- All open-source contributors
Rajpal Singh Rathore
- GitHub: @Rathore-Rajpal
- Project Link: https://heybuddy.rathorerajpal.live
This project is open source and available for educational purposes.
Contributions, issues, and feature requests are welcome!
- Some features require API keys (Spotify, HuggingFace)
- WhatsApp automation may require WhatsApp Desktop app
- Phone features require Windows Phone Link app
- Face authentication model needs to be trained with your face
For issues or questions, please create an issue in the repository.