Open-source Windows desktop AI assistant for voice, automation, productivity, and intelligent workflows.
Brahma AI - Lite is an open-source desktop assistant designed for Windows power users. It unites voice and text input with intelligent automation, productivity workflows, document generation, and adaptive screen-aware actions.
- Live voice and text interaction via Gemini with OpenRouter fallback
- Automatic daily briefing with interruption-aware audio playback
- Desktop automation for apps, windows, files, and browser workflows
- Office content generation for PowerPoint, Word, spreadsheets, and PDF
- Built-in website and workspace creation through Brahma's local workspace generator
- Discord collaboration, reminders, meeting assistant, and notifications
- Responsive UI with rich task/workspace feedback
- Seamless AI and voice integration for desktop productivity
- Modular tool-driven architecture for clean extension
- Robust fallback handling to keep the assistant available
- Local-first configuration with secure credentials storage
- Unified voice + typed conversation experience
- Startup daily briefing with Edge TTS delivery
- Instant briefing interruption when a new message arrives
- Gemini-first live AI with OpenRouter fallback support
- Open and control Windows applications and system actions
- Browser automation with Playwright for web workflows
- Screen inspection and contextual content extraction
- File and document automation for fast productivity
- Generate PowerPoint decks and presentation content
- Create spreadsheets and Word documents quickly
- Export polished reports as PDF files
- Build landing pages and websites from within the app
- Discord bridge for remote commands and chat
- Local credential management for Gemini and OpenRouter
- Configurable voice, notifications, startup, and UI preferences
Brahma AI - Lite is built on a layered desktop architecture that separates UI, AI session management, and tool execution.
main.pyinitializes the application, launches the UI, and manages the AI runtime.BrahmaLiveowns the live AI session, audio queues, and command routing.actions/contains modular tools for automation, document generation, notifications, meetings, and search.AttentionMonitorcaptures external events and notification text, then speaks alerts using Edge TTS.daily_briefing.pyconstructs the morning briefing text and triggers playback after startup.ui.pyprovides a polished Qt-based interface with command entry, workspace cards, and status feedback.or_client.pyprovides OpenRouter fallback support when Gemini is unavailable or rate-limited.
- Windows 10 or Windows 11
- Python 3.11 or 3.12
- Git installed
- Gemini API key
- OpenRouter API key (optional, recommended for fallback resilience)
git clone https://github.com/titechprabhasolutions/Brahma-AI---Lite.git
cd "Brahma AI - Lite"python -m venv .venv
.\.venv\Scripts\Activate.ps1pip install -r requirements.txt
playwright installThe app loads keys from config/api_keys.json. Create this file if it does not already exist.
{
"gemini_api_key": "YOUR_GEMINI_API_KEY",
"openrouter_api_key": "YOUR_OPENROUTER_API_KEY"
}- Create a Google Cloud or Gemini account
- Enable Gemini API access for your project
- Generate an API key and add it under
gemini_api_key
- Register at https://openrouter.ai
- Generate an
sk-or-API key - Add it under
openrouter_api_key
To enable Discord bridging, populate config/discord_bot.json with your bot credentials and connection settings.
python main.pyFor a cleaner Windows launch without console output:
start_brahma.vbsconfig/api_keys.json— Gemini and OpenRouter credentialsconfig/app_settings.json— voice, UI, startup, and automation settingsconfig/discord_bot.json— Discord bridge settings
You can extend Brahma AI with lightweight Python plugins placed in the plugins/ folder. Plugins are simple *.py files that export one or more hook functions:
on_brahma_created(brahma)— called when theBrahmaLiveinstance is createdon_startup(brahma)— called once during app startup after plugins are registeredon_text_command(text, source, brahma=None)— called for each incoming text command; returnTrueto mark the command handled and stop further processing
Example: plugins/example_plugin.py demonstrates the hooks.
To enable plugins, simply drop your plugin file into the plugins/ folder and restart the app. The launcher and main.py load plugins automatically.
main.py— core runtime, AI session orchestration, and startup flowui.py— polished Qt interface, workspace cards, and controlsactions/— modular tools for automation and AI workflowsconfig/— local settings, API keys, and runtime configurationtests/— validation and integration tests for core features
- Restored automatic daily briefing playback at startup.
- Unified local TTS output to the same Edge voice.
- Added briefing interruption support for immediate user response.
- Redesigned gesture HUD for hand landmark control.
- Improved cursor mapping for better desktop reach and direction.
- Added idle speech prompts for proactive engagement.
- Tightened the developer workflow so Brahma uses the local workspace generator for websites and keeps coding tasks in the main app flow.
- Discord: https://discord.gg/gEYmJKKtq3
This project is licensed under a custom source-available license. See LICENSE for full terms and TRADEMARK.md for branding details.
- Suryaansh Tiwari
Please preserve attribution and keep credentials secure when building on top of Brahma AI - Lite.

