Malaika isn't just a companion, she's a presence. Inspired by the minimalist elegance of "Her" my favorite movie, and the high energy aesthetic of modern social interfaces.
Frontend
Backend
Tools & Platforms
- Python 3.9+
- Node.js 18+
- Docker & Docker Compose
- Hugging Face API Token
frontend/: Contains the React application with TypeScript and Three.js 3D rendering.backend/: Contains the FastAPI backend with ChromaDB memory integration.
- Navigate to the
backenddirectory:cd backend - Install the required Python packages:
pip install -r requirements.txt
- Set your Hugging Face API key as an environment variable:
export HF_TOKEN='your_huggingface_token'
- Run the backend server:
uvicorn app.main:app --reload --port 8000
- Navigate to the
frontenddirectory:cd frontend - Install the required npm packages:
npm install --legacy-peer-deps
- Start the React development server:
npm start
- Run with Docker Compose:
docker-compose up --build
- Multi-modal Memory: Integrated with ChromaDB for hybrid semantic/chronological retrieval of conversations.
- Proactive Visual Awareness: Powered by Qwen2.5-VL-7B-Instruct for high-fidelity visual and video context awareness.
- Emotional Depth: Dual-layered emotion engine analyzing facial expressions and message sentiment.
- Natural Speech Synthesis: Edge-TTS with natural prosody and conversational flow.
- Open your web browser and navigate to
http://localhost:3000. - Interact with Malaika through voice or text.
- Clap your hands to trigger and start voice conversation!
To allow Malaika to control your macOS laptops, you must grant the following permissions:
- Accessibility: Required for controlling system volume, brightness, and window management via
osascriptandQuartz.- Go to
System Settings > Privacy & Security > Accessibility. - Add and enable your Terminal (e.g., iTerm2 or Terminal.app) and/or your IDE (e.g., VS Code).
- Go to
- Screen Recording: Required for the Vision module to capture frames for analysis.
- Go to
System Settings > Privacy & Security > Screen Recording. - Enable for your terminal/browser.
- Go to
- Microphone: Required for voice interaction and clap detection.
- Go to
System Settings > Privacy & Security > Microphone. - Enable for your browser (Chrome/Safari) and Terminal.
- Go to
- Automation: Ensure the terminal is allowed to control "System Events".
- Usually prompted on first run; can be managed in
System Settings > Privacy & Security > Automation.
- Usually prompted on first run; can be managed in
This project is licensed under the MIT License.
If you have any questions or issues, please open an issue on GitHub or contact mwalyangashadrack@gmail.com
