{"id":24305896,"url":"https://github.com/jmrashed/ai-desktop-assistant","last_synced_at":"2026-04-20T19:32:04.954Z","repository":{"id":270812582,"uuid":"911523486","full_name":"jmrashed/ai-desktop-assistant","owner":"jmrashed","description":"A Python-based AI desktop assistant designed to perform various tasks like opening websites, searching Wikipedia, playing music, retrieving the current time, and more. The assistant uses speech recognition and text-to-speech to interact with the user in a conversational manner.","archived":false,"fork":false,"pushed_at":"2025-10-01T08:05:10.000Z","size":157,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-10-31T10:45:05.463Z","etag":null,"topics":["ai","flask","python","speech-recognition","voice-assistant"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/jmrashed.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-01-03T08:09:42.000Z","updated_at":"2025-10-22T21:24:24.000Z","dependencies_parsed_at":null,"dependency_job_id":"3f11594b-fc31-42e3-a4fc-e3581c981199","html_url":"https://github.com/jmrashed/ai-desktop-assistant","commit_stats":null,"previous_names":["jmrashed/ai-desktop-assistant","mrzstack/ai-desktop-assistant"],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/jmrashed/ai-desktop-assistant","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jmrashed%2Fai-desktop-assistant","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jmrashed%2Fai-desktop-assistant/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jmrashed%2Fai-desktop-assistant/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jmrashed%2Fai-desktop-assistant/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jmrashed","download_url":"https://codeload.github.com/jmrashed/ai-desktop-assistant/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jmrashed%2Fai-desktop-assistant/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32062323,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-20T11:35:06.609Z","status":"ssl_error","status_checked_at":"2026-04-20T11:34:48.899Z","response_time":94,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["ai","flask","python","speech-recognition","voice-assistant"],"created_at":"2025-01-17T02:17:57.675Z","updated_at":"2026-04-20T19:32:04.942Z","avatar_url":"https://github.com/jmrashed.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# AI Desktop Assistant\n\nA modular, Python-based AI desktop assistant with voice recognition capabilities. Features weather updates, file management, system monitoring, and multiple interface options (CLI, GUI, Web). Built with a clean, scalable architecture following industry best practices.\n\n![Demo Screenshots](./static/images/ai-assistant.png)\n\n## Features\n\n### 🎯 Core Capabilities\n- **Voice Recognition**: Advanced speech-to-text with wake word detection\n- **Wikipedia Search**: Instant knowledge retrieval with natural language queries\n- **Web Control**: Open websites (YouTube, Google, Gmail, Facebook, etc.)\n- **Music Playback**: Stream music directly from YouTube\n- **Time \u0026 Date**: Current time and date information\n- **Cross-Platform TTS**: Native text-to-speech for Windows, macOS, and Linux\n\n### 🚀 Advanced Features\n- **Weather Service**: Real-time weather data with OpenWeatherMap API\n- **File Management**: Search files, create folders, organize directories\n- **System Monitoring**: CPU, memory, and disk usage statistics\n- **Application Control**: Launch system applications via voice commands\n- **Smart Configuration**: Customizable wake words and user preferences\n- **Security Layer**: PIN authentication for sensitive operations\n\n### 🖥️ Multiple Interfaces\n- **CLI Interface**: Command-line interaction for developers\n- **GUI Interface**: User-friendly graphical interface (planned)\n- **Web Interface**: Browser-based control panel (planned)\n- **API Integration**: Extensible plugin architecture\n\n## Requirements\n\n- **Python**: 3.7 or later\n- **Operating System**: Windows, macOS, or Linux\n- **Microphone**: For voice input\n- **Internet**: For weather, Wikipedia, and web features\n\n## Quick Start\n\n### 1. Clone \u0026 Install\n```bash\ngit clone https://github.com/jmrashed/ai-desktop-assistant.git\ncd ai-desktop-assistant\npip install -r requirements/base.txt\n```\n\n### 2. Configure (Optional)\n```bash\npython scripts/setup_config.py\n```\n\n### 3. Run Assistant\n```bash\n# CLI Interface (Default)\npython main.py\n\n# Or specify interface\npython main.py --interface cli\npython main.py --interface gui\npython main.py --interface web\n```\n\n### 4. Development Setup\n```bash\n# Install development dependencies\npip install -r requirements/dev.txt\n\n# Run tests\npython tests/run_tests.py\npytest tests/ --cov=src\n```\n\n## Voice Commands\n\n### 🗣️ Basic Usage\n1. Say the wake word: **\"Assistant\"** (customizable)\n2. Follow with your command\n3. Wait for response and confirmation\n\n### 📚 Knowledge \u0026 Search\n```\n\"Assistant, who is Elon Musk?\"\n\"Assistant, what is artificial intelligence?\"\n\"Assistant, search quantum computing\"\n```\n\n### 🌐 Web \u0026 Media\n```\n\"Assistant, open YouTube\"\n\"Assistant, open Gmail\"\n\"Assistant, play Bohemian Rhapsody\"\n```\n\n### 🌤️ Weather \u0026 Time\n```\n\"Assistant, weather in Tokyo\"\n\"Assistant, what time is it?\"\n\"Assistant, what's today's date?\"\n```\n\n### 📁 File Management\n```\n\"Assistant, search file report.pdf\"\n\"Assistant, create folder Projects\"\n```\n\n### 💻 System Control\n```\n\"Assistant, system info\"\n\"Assistant, open notepad\"\n\"Assistant, open calculator\"\n```\n\n### ⚙️ Configuration\n```\n\"Assistant, change wake word\"\n\"Assistant, goodbye\"\n```\n\n## Architecture\n\n```\nai-desktop-assistant/\n├── src/                     # 🏗️ Modular source code\n│   ├── core/               # Core functionality\n│   │   ├── assistant_base.py\n│   │   ├── speech_engine.py\n│   │   └── command_processor.py\n│   ├── features/           # Feature modules\n│   │   ├── weather_service.py\n│   │   ├── file_manager.py\n│   │   └── system_monitor.py\n│   ├── interfaces/         # UI interfaces\n│   │   └── cli_interface.py\n│   └── utils/              # Utilities\n│       └── config_manager.py\n├── tests/                  # 🧪 Comprehensive test suite\n├── config/                 # ⚙️ Configuration files\n├── static/                 # 🎨 Web assets\n├── requirements/           # 📦 Dependency management\n├── scripts/                # 🔧 Utility scripts\n└── main.py                 # 🚀 Entry point\n```\n\n## Configuration\n\n### 🔧 Setup Configuration\n```bash\npython scripts/setup_config.py\n```\n\n### 📝 Configuration Options\n```json\n{\n  \"wake_word\": \"assistant\",\n  \"weather_api_key\": \"your-api-key\",\n  \"user_pin\": \"1234\",\n  \"speech_rate\": 175,\n  \"timeout\": 5,\n  \"language\": \"en-in\"\n}\n```\n\n### 🌤️ Weather API Setup\n1. Get free API key from [OpenWeatherMap](https://openweathermap.org/api)\n2. Run configuration script\n3. Enter your API key when prompted\n\n### 🔒 Security Features\n- **PIN Authentication**: Protects sensitive file operations\n- **Configurable Access**: Customize command permissions\n- **Safe Defaults**: Secure out-of-the-box settings\n\n### 🎤 Platform Support\n- **Windows**: `pyttsx3` TTS engine\n- **macOS**: Native `say` command\n- **Linux**: `gTTS` with audio playback\n- **Fallback**: Text output if TTS unavailable\n\n## Testing\n\n### 🧪 Run Test Suite\n```bash\n# All tests\npython tests/run_tests.py\n\n# Specific module\npython tests/run_tests.py test_core.test_speech_engine\n\n# With pytest\npytest tests/ -v\n\n# Coverage report\npytest tests/ --cov=src --cov-report=html\n```\n\n### ✅ Test Results\n- **34 tests** - All passing\n- **82% coverage** - Comprehensive testing\n- **Features tested**: Speech, Weather, Files, System, Config\n- **Error handling**: API failures, permissions, timeouts\n\n## Development\n\n### 🔧 Contributing\n```bash\n# Fork and clone\ngit clone https://github.com/yourusername/ai-desktop-assistant.git\n\n# Create feature branch\ngit checkout -b feature/awesome-feature\n\n# Install dev dependencies\npip install -r requirements/dev.txt\n\n# Run tests\npytest tests/\n\n# Code formatting\nblack src/ tests/\nflake8 src/ tests/\n\n# Commit and push\ngit commit -m \"Add awesome feature\"\ngit push origin feature/awesome-feature\n```\n\n### 🚀 Roadmap\n- [ ] GUI Interface (Tkinter/PyQt)\n- [ ] Web Dashboard (Flask/FastAPI)\n- [ ] Calendar Integration\n- [ ] Smart Home Control\n- [ ] Email \u0026 Messaging\n- [ ] Multi-language Support\n- [ ] Voice Authentication\n- [ ] Plugin System\n- [ ] Mobile App Integration\n\n## Troubleshooting\n\n### 🔧 Common Issues\n\n| Issue | Solution |\n|-------|----------|\n| **Microphone not detected** | Check system permissions and audio drivers |\n| **TTS not working** | Install platform-specific libraries (`pyttsx3`, `gTTS`) |\n| **Weather API errors** | Verify OpenWeatherMap API key in config |\n| **File permission errors** | Run with appropriate user permissions |\n| **Import errors** | Install dependencies: `pip install -r requirements/base.txt` |\n\n### 💡 Performance Tips\n- Close other audio applications for better recognition\n- Use shorter wake words for faster response\n- Ensure stable internet for web features\n- Run tests to verify installation: `python tests/run_tests.py`\n\n## License \u0026 Support\n\n### 📄 License\nMIT License - see [LICENSE](LICENSE) file for details\n\n### 👨💻 Author\n**Md Rasheduzzaman**\n- 📧 Email: jmrashed@gmail.com\n- 🐙 GitHub: [@jmrashed](https://github.com/jmrashed)\n- 🌟 Give this project a star if you found it helpful!\n\n### 🤝 Community\n- 🐛 Report bugs via [GitHub Issues](https://github.com/jmrashed/ai-desktop-assistant/issues)\n- 💡 Request features via [Discussions](https://github.com/jmrashed/ai-desktop-assistant/discussions)\n- 🔧 Contribute via [Pull Requests](https://github.com/jmrashed/ai-desktop-assistant/pulls)\n\n---\n\n**Built with ❤️ using Python | Modular Architecture | Comprehensive Testing | Cross-Platform Support**","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjmrashed%2Fai-desktop-assistant","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjmrashed%2Fai-desktop-assistant","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjmrashed%2Fai-desktop-assistant/lists"}