🤖 GRONI is a local-installed, voice-first, agentic AI assistant that understands English and Urdu (Roman Urdu), controls your desktop, and maintains context across conversations.
- 🎙️ Voice-First Interface: Wake word detection ("Hey GRONI"), continuous listening, natural TTS
- 🧠 Agentic AI: Multi-agent system powered by LangGraph for intelligent task routing
- 🌍 Bilingual: Seamless English and Roman Urdu support with auto-detection
- 🖥️ Desktop Control: Open apps, manage files, control system settings
- 💾 Memory: Short-term conversation context + long-term vector memory
- 😄 Personality: Casual, humorous responses with desi tone
- 🔐 Privacy-First: Runs locally with optional cloud LLM
pip install groni-ai- Get a Groq API Key (free): https://console.groq.com/
- Configure GRONI:
groni configEnter your API key when prompted, or create a .env file:
GROQ_API_KEY=your_api_key_heregroni startGRONI will run in the background. Say "Hey GRONI" to activate!
| Command | What GRONI Does |
|---|---|
| "Hey GRONI, open notepad" | Opens Notepad |
| "Hey GRONI, what's 25 times 4?" | Calculates and responds |
| "Bhai, weather kaisaa hai?" | Searches for weather (Roman Urdu) |
| "Create a note called ideas.txt" | Creates a text file |
| "Tell me a joke" | Shares a humorous response |
groni start # Start GRONI daemon
groni stop # Stop daemon
groni chat # One-off chat mode (no voice)
groni config # Configure settings
groni install # Install auto-start on system boot
groni logs # View logsCreate a .env file in your working directory or use groni config:
# Required
GROQ_API_KEY=your_groq_api_key_here
# Optional
WAKE_WORD=hey groni
DEFAULT_LANGUAGE=auto # auto, en, ur
MODEL_NAME=llama-3.1-70b-versatile
TEMPERATURE=0.7
REQUIRE_CONFIRMATION=true # Safety for system commandsGRONI uses a multi-agent architecture:
Voice Input → STT → Planner Agent
↓
┌─────────────────┼─────────────────┐
↓ ↓ ↓
System Agent File Agent Web Agent
↓ ↓ ↓
└─────────────────┼─────────────────┘
↓
Personality Agent → Memory → LLM → TTS
- Planner: Classifies user intent and routes to appropriate agent
- System: Controls desktop (apps, volume, screenshots)
- File: Manages files and notes
- Web: Searches and fetches web data
- Personality: Handles casual conversation with humor
- Memory: Maintains context and learns preferences
- Command whitelist for system operations
- Confirmation prompts for destructive actions
- All system commands are logged
- Optional voice PIN protection (coming soon)
- Voice: faster-whisper (STT), Piper TTS
- AI: Groq API, LangGraph, LangChain
- Memory: FAISS vector store
- System: PyAutoGUI, psutil, pywin32
- CLI: Typer, Rich
git clone https://github.com/yourusername/groni.git
cd groni
pip install -e ".[dev]"pytest tests/ -vgroni/
├── groni/
│ ├── core/ # Orchestration & memory
│ ├── agents/ # Agent implementations
│ ├── voice/ # STT/TTS/Wake word
│ ├── cli/ # CLI interface
│ └── utils/ # Utilities
├── tests/
├── examples/
└── pyproject.toml
- MVP: Voice I/O, 5-agent system, bilingual support
- Plugin system for extensibility
- Emotion detection in voice
- System tray UI
- Mobile companion app
- Cloud sync (optional)
Contributions welcome! Please:
- Fork the repo
- Create a feature branch
- Write tests for new features
- Submit a pull request
MIT License - see LICENSE file for details
- Groq for fast LLM inference
- OpenAI Whisper team
- LangChain & LangGraph
- Issues: https://github.com/yourusername/groni/issues
- Discussions: https://github.com/yourusername/groni/discussions
Built with ❤️ for the desi developer community