A futuristic cross-platform AI assistant built with ElectronJS and GPT4All, featuring a sleek tech-blue themed interface and comprehensive voice integration.
- Local LLM Integration: Powered by GPT4All for privacy-focused AI interactions
- Natural Language Processing: Advanced intent parsing and command understanding
- Structured Response Handling: JSON-based communication for reliable action execution
- Create, read, search, and manage documents
- Cross-platform file operations
- Safe file handling with user confirmation for destructive actions
- Set reminders and alarms with custom messages
- Background alarm monitoring
- Persistent alarm storage and managementร
- System information monitoring (CPU, memory, disk usage)
- Safe command execution with security restrictions
- Cross-platform application launching
- Text-to-speech (TTS) for AI responses
- Voice input recognition (requires internet for Google Speech Recognition)
- Voice control toggle and settings
- Futuristic Design: Tech-blue themed with glowing animations
- Dark/Light Themes: Multiple theme options including tech blue
- System Tray Integration: Minimize to tray for background operation
- Responsive Layout: Adaptive design for different screen sizes
- Python 3.9+ with pip
- Node.js 16+ with npm
- macOS, Windows, or Linux
python3 start_jarvis.pyThis will automatically:
- Check and install all dependencies
- Start the Python backend server
- Launch the Electron frontend
- Handle graceful shutdown
If you prefer to set up manually:
-
Install Python dependencies:
cd python-backend pip3 install -r requirements.txt -
Install Node.js dependencies:
cd electron-app npm install -
Start the backend:
cd python-backend python3 ipc_server.py -
Start the frontend (in a new terminal):
cd electron-app npm start
Run the comprehensive test suite:
python3 run_tests.pyThis will run:
- Frontend file integrity checks
- Backend startup validation
- Python unit tests
- JavaScript unit tests (Jest)
โโโโโโโโโโโโโโโ IPC โโโโโโโโโโโโโโโโโโโโ API โโโโโโโโโโโโโโโโโโโ
โ Electron โ โโโโโโโโโโ โ Python MCP โ โโโโโโโโโโ โ GPT4All (LLM) โ
โ Frontend โ โ (Command Router) โ โ + Task Handlers โ
โโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโโโโ
โ โ โ โ
โ โ โ โ
โผ โผ โผ โผ
User Input OS APIs: File I/O, Alarms, Apps Python Functions
(Text/Voice) subprocess, psutil, TTS (Task Executors)
llm_interface.py: GPT4All integration and prompt handlingintent_parser.py: Natural language intent extractiontask_router.py: Routes parsed intents to appropriate handlersipc_server.py: FastAPI server with WebSocket supporttasks/: Modular task handlers for different functionalities
main.js: Main Electron process with IPC and system integrationrenderer.html: Futuristic UI with chat interfacecomponents/: Modular JavaScript components (chat, settings)styles/: CSS with tech-blue theme and animations
- "Create a document called meeting-notes.txt"
- "Find all PDF files in my documents"
- "Set a reminder for 30 minutes to check the oven"
- "Show me the current system information"
- "Open calculator"
- Click the microphone button or press the voice toggle
- Speak your command clearly
- JARVIS will process and respond with both text and voice
Use the side panel for one-click actions:
- Create Document
- Find Files
- Set Reminder
- System Info
Access settings via:
- Menu: JARVIS โ Preferences
- Keyboard:
Cmd/Ctrl + , - UI: Settings button in title bar
- Theme: Dark, Light, or Tech Blue
- Voice: Enable/disable TTS and voice recognition
- System: Auto-start with system, backend port configuration
- Export/Import: Backup and restore settings
- Local Processing: All AI processing happens locally via GPT4All
- Safe Commands: Whitelist of allowed system commands
- User Confirmation: Required for destructive file operations
- No Data Collection: No telemetry or data sent to external servers
JARVIS/
โโโ python-backend/ # Backend server and AI logic
โ โโโ tasks/ # Task handler modules
โ โโโ logs/ # Application logs
โ โโโ requirements.txt # Python dependencies
โโโ electron-app/ # Frontend Electron application
โ โโโ src/ # Source code
โ โโโ assets/ # Images and icons
โ โโโ package.json # Node.js dependencies
โโโ tests/ # Test suites
โโโ start_jarvis.py # Main startup script
โโโ run_tests.py # Test runner
- Backend Tasks: Create new modules in
python-backend/tasks/ - Frontend Components: Add to
electron-app/src/components/ - UI Themes: Extend
electron-app/src/styles/theme.css - Tests: Add to
tests/directory
The backend exposes these main endpoints:
POST /chat: Main chat interfacePOST /action: Direct action executionGET /actions: List available actionsWebSocket /ws: Real-time communication
- OS: macOS 10.14+, Windows 10+, or Ubuntu 18.04+
- RAM: 4GB (8GB recommended for GPT4All)
- Storage: 2GB free space for models and data
- Network: Optional (for voice recognition only)
- RAM: 8GB+ for optimal AI performance
- SSD: For faster model loading
- Microphone: For voice input features
Backend won't start:
- Check Python version (3.9+ required)
- Install dependencies:
pip3 install -r python-backend/requirements.txt - Check if port 8000 is available
Frontend won't launch:
- Check Node.js version (16+ required)
- Install dependencies:
cd electron-app && npm install - Clear npm cache:
npm cache clean --force
Voice features not working:
- Check microphone permissions
- Ensure internet connection (for speech recognition)
- Try toggling voice settings
GPT4All model not loading:
- Check available disk space (models are ~4GB)
- Verify internet connection for initial model download
- Check system RAM (8GB+ recommended)
- Backend logs:
python-backend/logs/jarvis.log - Enable debug mode: Start with
--devflag - Console debugging: Press
F12in Electron app
We welcome contributions! Areas where help is needed:
- Additional Task Handlers: Email, calendar, weather, etc.
- UI Improvements: Animations, themes, accessibility
- Voice Enhancement: Better speech recognition, more TTS voices
- Cross-platform: Platform-specific optimizations
- Documentation: Tutorials, API docs, user guides
MIT License - see LICENSE file for details.
- GPT4All: For providing local LLM capabilities
- Electron: For cross-platform desktop app framework
- FastAPI: For the robust Python backend
- The Open Source Community: For the amazing tools and libraries
Made with โค๏ธ for AI enthusiasts who value privacy and local processing.