Adrishya is a cross-platform desktop AI assistant overlay built using Electron, React, TypeScript, and Tailwind CSS. It serves as a fully functional, private overlay that listens to conversations, reads screen contents using local OCR, and provides contextual AI suggestions.
Designed for privacy, Adrishya is completely invisible during screen-sharing sessions (e.g., Zoom, Teams, Discord, Google Meet) utilizing native OS window protection.
- 🛡️ Screen Share Protection (Invisibility): Uses native hardware-accelerated Content Protection (
win.setContentProtection(true)), causing the window to appear completely black or disappear in stream recording/screen sharing. - ✨ Frosted Glass UI (Glassmorphism): Beautiful semi-transparent window utilizing Windows 11 native Acrylic material and macOS native Vibrancy effects.
- 🔍 Private Local OCR: Captures screen buffers and extracts code, questions, or text locally using a background WebAssembly
tesseract.jsprocess. - 🎙️ Speech Transcription: Continuous voice transcription using Chromium's Web Speech API (Free) or OpenAI/Groq Whisper APIs (for sub-second latency and multi-language support).
- 🚀 Collapsible overlay widget: Drag the header anywhere using frameless dragging. Collapse it into a minimal floating horizontal pill to minimize distraction.
- ⚙️ Multi-Provider Support: Configure API keys and models for Google Gemini, OpenAI GPT, Anthropic Claude, Groq, and xAI Grok on the fly.
For a comprehensive architectural breakdown, process diagram, system demerits/limitations, and detailed specification, please refer to the Technical Specification Document (doc.md).
- Node.js: v18.x / v20.x or higher
- npm: v9.x or higher
Clone the repository and install all dependencies:
git clone https://github.com/IamJayPrakash/adrishya.git
cd adrishya
npm installStart the Vite dev server and launch Electron:
npm run devCompile and package binaries locally for your target OS:
# Package for Windows (.exe)
npm run build:win
# Package for macOS (.dmg, .zip)
npm run build:mac
# Package for Linux (.AppImage, .deb)
npm run build:linuxOutput files will be generated in the dist/ or out/ folder.
Adrishya registers global shortcuts at the operating system level, allowing you to control the app even when focusing on full-screen exams, coding editors, or browsers:
| Shortcut | Action | Description |
|---|---|---|
Ctrl + Shift + A |
Toggle Visibility | Instantly hide or show the Adrishya overlay window. |
Ctrl + Shift + V |
Toggle Recording | Start or stop the microphone transcription recorder. |
- Launch the application.
- Navigate to the Settings tab.
- Select your desired active AI provider from the dropdown.
- Input your API key (your key is saved securely in LocalStorage on your machine).
- (Optional) Choose the default model name (e.g.,
gemini-1.5-flashorgpt-4o-mini). - Click Save Settings.
- Opacity: Adjust the opacity slider in the settings tab to make the glass overlay more or less translucent.
- Font Size: Scale message text size from
11pxto18pxusing the font size slider. - Themes: Switch between:
- Light: Frosted glass light theme.
- Dark: Translucent frosted dark theme (Default).
- AMOLED: Deep dark layout, perfect for OLED screens.
- Move the overlay so it doesn't obstruct the text you want to scan.
- Click the Screen tab, then click Capture Screen.
- Review the extracted text in the code editor box.
- Click Explain Code or Solve / Answer to automatically submit the text along with prompt guidelines to your configured AI assistant.
- Click the Voice tab.
- Ensure you have configured a Groq or OpenAI key if using Whisper API mode (Local Engine requires no keys).
- Click Start Voice (or press
Ctrl+Shift+Vglobally). - Speak; your transcript will roll onto the screen in real-time, and you can submit questions directly.
Contributions are welcome! Please check out CONTRIBUTING.md for local environment setup guidelines and pull request instructions.
This project is open-source and licensed under the MIT License.