A Python-based voice assistant with automation capabilities that:
- Activates with "Jarvis" voice command
- Supports voice recognition and response
- Uses gTTS + pygame for speech output
- Can open popular websites
- Fetches headlines using NewsAPI
- Generates responses using Gemini AI
- NEW: Automated chat reply system with cursor position tracking
- NEW: Browser automation for drag, copy, and paste operations
- Wake word detection ("Jarvis")
- Voice-to-text conversion
- Text-to-speech responses
- Website navigation commands
- News headline fetching
- Automated Reply Generation: Intelligently generates responses as "Vivek" persona
- Cursor Position Tracking: Real-time mouse coordinate detection for precise automation
- Smart Chat Detection: Analyzes chat history to avoid duplicate replies
- Drag & Drop Automation: Automatically selects, copies, and replies to messages
- Python 3.7+
- Active internet connection
- Microphone access
- Screen access permissions (for automation features)
-
Clone the repository
-
Make an virtual environment(optional but recommended)
python3 -m venv venv
To activate it:
- In Linux/Macos
source venv/bin/activate - In Windows
venv\Scripts\Activate.ps1
- In Linux/Macos
-
Install dependencies:
pip install -r requirements.txt
-
Create a .env file:
NEWS_API=your_newsapi_key GEMINI_API=your_gemini_key
-
Run the assistant:
python main.py
in windows.
python main.py 2> /dev/nullin linux to avoid asla warnings.
Use get_cursor_position.py to find exact coordinates for your chat application:
python get_cursor_position.py- Move your mouse to different positions in your chat window
- Note the coordinates printed in the terminal
- Update the coordinates in
bot.pyif needed:- Start position:
(727, 204) - End selection:
(1883, 994) - Text input field:
(843, 1039) - Click area:
(33, 390)
- Start position:
Run the only automated chat reply system:
python bot.py How it works:
- Preparation: You have 5 seconds to switch to your chat application window
- Message Detection: Automatically drags to select the latest messages
- Content Analysis: Copies and analyzes the chat history
- Smart Reply: Generates contextual responses as "Vivek" persona
- Auto-Send: Pastes and sends the AI-generated reply
- This will run once