A lightning-fast, privacy-first AI assistant that works seamlessly during meetings, interviews, and conversations.
The world's most efficient AI assistant that lives on your desktop
| πͺΆ Ultra Lightweight | πΊ Always Visible | β‘ Instant Access |
|---|---|---|
| Only ~10MB total app size | Translucent overlay on any window | One click to activate AI assistance |
| 27x smaller than Cluely (~270MB) | Always on top, never intrusive | Overlaps seamlessly with your workflow |
| 50% less compute power usage | Perfect transparency level | Ready when you need it most |
Nyx operates with complete stealth during sensitive scenarios. The application features a translucent overlay window that sits above all other applications, making it invisible in video calls, screen shares, and recordings. The window is designed to be screenshot-proof and undetectable in meeting platforms like Zoom, Google Meet, Microsoft Teams, and Slack Huddles. When sharing your screen or recording, Nyx remains invisible to your audience while providing you with real-time AI assistance.
Capture and transcribe system audio in real-time. The system audio feature allows you to record audio directly from your computer's output, perfect for meetings, presentations, or any audio playing on your system. The captured audio is processed through your selected speech-to-text provider and can be automatically sent to the AI for analysis or transcription.
Keyboard Shortcut: Cmd+Shift+M (macOS) / Ctrl+Shift+M (Windows/Linux)
The system audio capture includes voice activity detection, real-time audio visualization, and automatic processing status indicators. Configure your preferred audio input devices in the Audio Settings page.
Record your voice and convert it to text using advanced speech-to-text providers. The voice input feature supports multiple STT providers including OpenAI Whisper, ElevenLabs, Groq Whisper, and custom providers. Voice activity detection automatically identifies when you're speaking and processes your audio accordingly.
Keyboard Shortcut: Cmd+Shift+A (macOS) / Ctrl+Shift+A (Windows/Linux)
Voice input can be used in the main overlay window or within chat conversations for hands-free interaction with AI.
Capture screenshots and send them to AI for visual analysis. Nyx offers two screenshot modes:
Screenshot Mode: Capture the entire screen with a single click. The full screen is captured instantly and can be processed by AI.
Selection Mode: Click and drag to select a specific area of your screen to capture. This mode allows precise control over what you want the AI to analyze.
Keyboard Shortcut: Cmd+Shift+S (macOS) / Ctrl+Shift+S (Windows/Linux)
Processing Modes:
Manual Mode: Screenshots are captured and automatically added to your attached files. You can capture multiple screenshots and submit them later with your own prompt. This gives you full control over when and how screenshots are sent to the AI.
Auto Mode: Screenshots are automatically submitted to AI using your custom prompt. Configure a default prompt in Screenshot Settings that will be used every time a screenshot is captured. Only one screenshot can be submitted at a time in auto mode, providing instant AI analysis without manual intervention.
Configure your preferred screenshot mode and processing behavior in the Screenshot Settings page.
Attach files to your AI conversations for analysis, review, or context. Nyx supports attaching multiple files at once, allowing you to send documents, images, code files, or any text-based content to the AI. Files are displayed as chips with file type indicators and can be removed individually or cleared all at once.
Drag and drop files directly into the input area, or use the file attachment button to browse and select files from your system. Attached files are processed and sent alongside your text prompt to provide context for AI responses.
The Nyx Dashboard provides comprehensive access to all features and settings through an intuitive sidebar navigation. Access the dashboard using the keyboard shortcut Cmd+Shift+D (macOS) / Ctrl+Shift+D (Windows/Linux).
The main dashboard displays your Nyx license status and usage statistics. Activate your license key to unlock faster AI responses, premium features, and priority support. View your token usage and API activity over time with detailed charts showing daily consumption patterns. Refresh your activity data to see real-time updates of your API usage.
View and manage all your conversation history. Conversations are organized by date with searchable titles and message counts. Each conversation displays the number of messages and the last update time. Search through your conversations to quickly find specific topics or discussions.
View Conversation: Click any conversation to open the detailed view page where you can:
- Read the complete message history with timestamps
- Continue the conversation by sending new messages
- Attach files, screenshots, and voice recordings to extend the conversation
- Download the entire conversation as a markdown file
- Open the conversation in the overlay window for quick reference
- Delete conversations you no longer need
The view page supports continuous chat, allowing you to maintain context across multiple messages with the AI. All messages display with user and AI avatars, proper formatting, and timestamps grouped by date.
Create, manage, and organize custom system prompts to control AI behavior. System prompts define how the AI responds and behaves across all interactions. The page displays all prompts in a grid layout with search functionality to quickly find specific prompts.
Features:
- Create new system prompts with custom names and instructions
- Edit existing prompts to refine AI behavior
- Delete prompts you no longer need
- Select active prompt that will be used for all AI interactions
- Search prompts by name or content
- AI-powered prompt generation to help create effective system prompts
- Visual indicators show which prompt is currently selected
Each system prompt card displays the prompt name, content preview, creation date, and action menu for editing or deleting. The selected prompt is highlighted with a green checkmark and colored border.
Configure core application behavior and appearance:
Theme Settings: Switch between light, dark, and system themes. The theme applies globally across the entire application including the overlay window and dashboard.
Autostart: Enable or disable automatic launch when your system starts. When enabled, Nyx launches silently in the background and is ready to use immediately.
App Icon Visibility: Control whether the Nyx icon appears in your dock or taskbar. Hide the icon for maximum stealth during sensitive scenarios, or keep it visible for easy access.
Always On Top Mode: Control whether the overlay window stays above all other applications. When enabled, Nyx remains visible regardless of which application you're using. Disable to allow the window to behave like normal applications.
Customize how AI generates and displays responses:
Response Length: Control how detailed AI responses should be. Choose from:
- Short: Concise answers with essential information only
- Medium: Balanced responses with moderate detail
- Long: Comprehensive answers with thorough explanations
- Auto: Let the AI decide based on your question complexity
Response Language: Select the language for AI responses from over 50 supported languages. The language setting applies globally to all providers and conversations. Language support may vary depending on your selected LLM provider.
Auto-Scroll Control: Enable or disable automatic scrolling to the latest message. When enabled, the chat view automatically scrolls to show new responses as they arrive. Disable to maintain your current scroll position.
Configure screenshot capture behavior with granular control:
Capture Method:
- Screenshot Mode: Quickly capture the entire screen with one click
- Selection Mode: Click and drag to select a specific area to capture
Processing Mode:
- Manual Mode: Screenshots are captured and added to attached files for later submission with your own prompt. Capture multiple screenshots before submitting.
- Auto Mode: Screenshots are automatically submitted to AI using your custom prompt. Configure the auto prompt that will be used for instant analysis.
Auto Prompt Configuration: When auto mode is selected, specify the default prompt used for automatic screenshot analysis. This prompt is sent to the AI along with the screenshot without requiring manual input.
Configure audio input and output devices for voice interaction and system audio capture. Select your preferred microphone for voice recording and configure system audio capture devices. The page displays all available audio devices detected by your system with real-time device status.
Manage cursor visibility and customize keyboard shortcuts:
Cursor Settings:
- Invisible: Completely hide the cursor when hovering over Nyx (not supported on Linux)
- Default: Standard cursor appearance
- Auto: Cursor automatically changes based on context (pointer, text cursor, or default)
Keyboard Shortcuts: Customize all global keyboard shortcuts:
- Toggle Dashboard: Open or close the dashboard window (Default:
Cmd+Shift+D/Ctrl+Shift+D) - Toggle Window: Show or hide the main overlay window (Default:
Cmd+\/Ctrl+\) - Refocus Input Box: Bring Nyx forward and focus the input area (Default:
Cmd+Shift+I/Ctrl+Shift+I) - Move Window: Hold modifier key and use arrow keys to move the overlay window continuously (Default:
Cmd/Ctrl) - System Audio: Toggle system audio capture on or off (Default:
Cmd+Shift+M/Ctrl+Shift+M) - Voice Input: Start voice recording for speech-to-text (Default:
Cmd+Shift+A/Ctrl+Shift+A) - Screenshot: Capture screenshot using configured mode (Default:
Cmd+Shift+S/Ctrl+Shift+S)
All shortcuts can be customized to your preferred key combinations. The shortcut manager displays current bindings and allows you to record new shortcuts by pressing your desired key combination.
The Dev Space provides advanced configuration for developers and power users to integrate custom AI providers and speech-to-text services.
AI Providers:
Configure AI language model providers from a comprehensive list of pre-configured services or create your own custom providers. Supported providers include OpenAI, Anthropic Claude, Google Gemini, xAI Grok, Mistral AI, Cohere, Perplexity, Groq, and Ollama.
Custom AI Provider Setup:
Add any LLM provider using curl commands. Nyx supports full streaming and non-streaming capabilities with complete flexibility:
- Enter your curl command with the API endpoint and request structure
- Configure authentication using Bearer tokens, API keys, or custom headers
- Specify the response path to extract content from API responses (e.g.,
choices[0].message.content) - Toggle streaming support for real-time response generation
- Create custom variables using
{{VARIABLE_NAME}}format in your curl command
Dynamic Variables: Nyx automatically replaces these variables in your requests:
{{TEXT}}- User's text input{{IMAGE}}- Base64 encoded image data{{SYSTEM_PROMPT}}- System instructions{{MODEL}}- AI model name{{API_KEY}}- API authentication key
Example Custom Provider:
curl -X POST https://api.example.com/v1/chat/completions \
-H "Authorization: Bearer {{API_KEY}}" \
-H "Content-Type: application/json" \
-d '{
"model": "{{MODEL}}",
"messages": [
{"role": "system", "content": "{{SYSTEM_PROMPT}}"},
{"role": "user", "content": "{{TEXT}}"}
]
}'STT Providers:
Configure speech-to-text providers from pre-configured services including OpenAI Whisper, ElevenLabs STT, Groq Whisper, Google Speech-to-Text, Deepgram, Azure Speech-to-Text, Speechmatics, Rev.ai, and IBM Watson STT.
Custom STT Provider Setup:
Add any speech-to-text provider using curl commands with complete control:
- Enter your curl command with the API endpoint and audio data structure
- Configure authentication and headers
- Specify the response path to extract transcription text (e.g.,
textorresults[0].transcript) - Support for various audio formats and sample rates
- Create custom variables for flexible configuration
Dynamic Variables for STT:
{{AUDIO}}- Audio file or blob data{{API_KEY}}- API authentication key{{LANGUAGE}}- Target transcription language- Custom variables you define in your curl command
Example Custom STT Provider:
curl -X POST https://api.example.com/v1/audio/transcriptions \
-H "Authorization: Bearer {{API_KEY}}" \
-H "Content-Type: multipart/form-data" \
-F "file={{AUDIO}}" \
-F "model=whisper-1"The Dev Space allows complete flexibility to integrate any AI or STT service that exposes a REST API, giving you unlimited options beyond pre-configured providers.
Nyx redefines what an AI assistant can be. Built from the ground up with privacy, performance, and discretion in mind, it delivers enterprise-grade capabilities without compromising your data security or system resources.
Nyx operates with absolute stealth. The application features a translucent overlay window that sits seamlessly above all other applications, making it invisible to everyone except you.
Undetectable Everywhere:
The overlay window is designed to be invisible in video calls, screen shares, recordings, and screenshots. When you share your screen in Zoom, Google Meet, Microsoft Teams, or any other meeting platform, Nyx remains completely hidden from your audience. The translucent design makes it extremely difficult to capture in screenshots, and it won't appear on projectors or shared screens.
Perfect Stealth Design:
The window transparency can be adjusted to your preference, allowing you to see through it while keeping it functional. You can instantly show or hide the window using keyboard shortcuts, and move it anywhere on your screen with arrow keys. The always-on-top mode ensures it's accessible when you need it, while the hide feature makes it disappear completely when you don't.
Critical Use Cases:
Use Nyx confidently during job interviews to get real-time information without detection. Access product details instantly during sales calls while maintaining professionalism. Reference documentation during technical meetings without breaking your flow. Get learning assistance during educational presentations that's completely invisible to your audience. Analyze screenshots and get suggestions during design reviews without anyone knowing. Debug code and get syntax help during live coding sessions in complete stealth.
Your data stays yours. Nyx is engineered with privacy as the foundation, not an afterthought.
Local Storage:
All your conversations are stored locally in a SQLite database on your device. Chat history, messages, and attachments never leave your computer. The database is stored in your application data directory with full transaction safety and data integrity checks. Your conversations can be exported as markdown files and deleted anytime you want.
Settings and Configuration:
All application settings, AI provider configurations, custom system prompts, keyboard shortcuts, and preferences are stored in your browser's localStorage. This data remains on your device and is never transmitted anywhere. You have complete control over your configuration data.
Secure Credentials:
License keys and sensitive credentials are stored in encrypted secure storage in your application data directory, separate from other application data. API keys for AI providers are stored in localStorage and never sent to any server except directly to your chosen AI provider.
Zero Server Dependency:
Nyx makes API calls directly from your device to your chosen AI provider. There are no proxy servers, no middleware, and no data collection. Your conversations go straight from your device to OpenAI, Anthropic, Google, or whichever provider you choose. You can inspect every network request in your browser's developer tools to verify this claim.
No Telemetry:
Nyx has no analytics, no usage tracking, no data collection, and no telemetry of any kind. Your usage patterns, conversations, and behavior remain completely private. The application doesn't phone home, doesn't report statistics, and doesn't collect any information about how you use it.
Offline Capability:
The application works without an internet connection for all local features. You only need internet when making API calls to AI providers for responses. Everything else, including the interface, settings, chat history, and system prompts, works completely offline.
Built with Tauri and Rust, Nyx delivers native desktop performance that puts web-based alternatives to shame.
Lightweight Binary:
The entire application is approximately 10MB in size, making it 27 times smaller than the original Cluely and significantly smaller than Electron-based alternatives. Despite its tiny footprint, it includes a full React frontend, Rust backend, SQLite database, and all features.
Instant Startup:
Nyx launches in under 100 milliseconds. There's no splash screen, no loading spinner, and no waiting. Click the icon and it's ready to use immediately. This instant startup makes it perfect for quick queries and impromptu assistance.
Native Performance:
Built on Tauri, Nyx runs as a native application using your system's webview. There's no embedded Chromium, no browser overhead, and no unnecessary resource consumption. It uses 50% less RAM compared to Electron apps and has minimal CPU impact even during active use.
Efficient Resource Usage:
The application typically uses less than 50MB of RAM during normal operation. System audio capture, voice recording, and screenshot processing are optimized for performance. Multiple conversations, attached files, and chat history don't slow down the application.
Cross-Platform:
Nyx runs natively on macOS, Windows, and Linux with platform-specific optimizations. The same codebase delivers optimal performance on all three platforms, using native system APIs and respecting platform conventions.
Own your AI experience. Nyx gives you unprecedented control over every aspect of the application.
Any AI Provider:
Connect to any LLM provider using simple curl commands. OpenAI, Anthropic, Google, xAI, Mistral, Cohere, Perplexity, Groq, Ollama, or your own custom endpoint. Switch providers anytime without losing your chat history or configuration. Use multiple providers for different use cases.
Any STT Provider:
Integrate any speech-to-text service using curl commands. OpenAI Whisper, ElevenLabs, Groq, Deepgram, Azure, Google, or custom providers. Full control over audio format, sample rate, and processing parameters. Test providers instantly to find the best accuracy for your voice and language.
Custom System Prompts:
Create unlimited system prompts to control AI behavior. Define personas, writing styles, response formats, and specialized knowledge domains. Switch between prompts instantly to adapt the AI to different scenarios. Use AI-powered generation to create effective prompts automatically.
Flexible Configuration:
Customize keyboard shortcuts for all actions. Adjust window transparency and always-on-top behavior. Configure screenshot capture modes and processing options. Set response length, language, and auto-scroll preferences. Choose audio input devices and capture settings. Everything is configurable to match your workflow.
Open Source:
The entire codebase is open source under GPL v3. You can inspect every line of code, verify privacy claims, audit security measures, and modify the application to suit your needs. Build it yourself, contribute improvements, or fork it for custom requirements.
Nyx sits quietly on your desktop, consuming minimal resources while remaining instantly accessible.
One-Click Access:
Use keyboard shortcuts to instantly show or hide the window, open the dashboard, start voice recording, capture screenshots, or toggle system audio. The overlay window is always available when you need it and out of sight when you don't.
Persistent History:
All conversations are saved locally in SQLite with full context. Return to previous conversations anytime, continue where you left off, and search through your history. Export conversations as markdown for documentation or reference.
Background Operation:
Nyx can run silently in the background with the overlay hidden. Enable autostart to launch it automatically when your system boots. Hide the dock icon for maximum stealth while keeping the application running and accessible via keyboard shortcuts.
Zero Maintenance:
No subscriptions to manage, no accounts to maintain, and no services to configure beyond your AI provider. Once set up, Nyx just works. Updates are delivered automatically when available, and you control when to install them.
Important: Before installing the app, ensure all required system dependencies are installed for your platform:
π Tauri Prerequisites & Dependencies
This includes essential packages like WebKitGTK (Linux), system libraries, and other dependencies required for Tauri applications to run properly on your operating system.
- Node.js (v18 or higher)
- Rust (latest stable)
- npm or yarn
# Clone the repository
git clone https://github.com/DrewWalkup/pluely.git
cd pluely
# Install dependencies
npm install
# Start development server
npm run tauri dev# Build the application
npm run tauri buildThis creates platform-specific installers in src-tauri/target/release/bundle/:
- macOS:
.dmg - Windows:
.msi,.exe - Linux:
.deb,.rpm,.AppImage
Extra features:
- Completely stripped off license logic with updater logic removed to avoid conflicts.
- Auto screenshot upload with automatic prompt on key press
- Multi-Modal Gemini Support(in built audio, image)
- Ability to attach system audio automatically in compressed opus 16khz mono form to get quick insights while using auto screenshot upload feature (Only supported for Macs, will look into windows/linux later)
- Ability to choose between fast and slow models(pro, reasoning etc.) through chat ui toggle if specified in dev space/dashboard settings.
This project is licensed under the GNU General Public License v3.0 - see the LICENSE file for details.
- Runningbord - App cleanup
- Pluely - Original repo
- Cluely - Inspiration for this open source alternative
- Tauri - Amazing desktop framework
- tauri-nspanel - macOS native panel integration for Tauri
- shadcn/ui - Beautiful UI components
- @ricky0123/vad-react - Voice Activity Detection
- OpenAI - GPT models and Whisper API
- Anthropic - Claude AI models
- xAI - Grok AI models
- Google - Gemini AI models
Please perform the manual verification steps from the plan:
- npm run tauri dev β app launches, both windows render
- Mic button visible in completion bar alongside system audio toggle
- Clicking mic button opens speech panel with recording controls
- VAD auto-record mode works when enabled
- Waveform visualizer displays audio levels during recording
- Transcription results appear after recording stops
- Speech panel closes cleanly and returns to completion bar
- System audio daemon toggle still enables/disables passive capture
- Screenshot + system audio capture still works (screenshot with audio attachment)
- Audio settings page accessible from sidebar, shows device selection
- Chat history shows audio recording and playback components
- Keyboard shortcut for audio recording works (Cmd+Shift+A)
- No console errors related to audio components
They're independent features that serve different purposes:
Speaker Module (Mic/System Audio Capture + STT)
- Triggered by the mic button in the completion bar, or Cmd+Shift+A
- Opens the speech panel which replaces the completion bar while active
- Captures system audio output (loopback) in real-time
- Runs VAD (voice activity detection) to detect speech
- Sends detected speech to your STT provider for transcription
- Result: text gets inserted into the input
System Audio Daemon (Passive Capture)
- Triggered by the toggle button in the completion bar, or Cmd+Shift+M
- Runs silently in the background β no panel, no UI takeover
- Captures system audio into a ring buffer continuously
- When you take a screenshot, the last N seconds of audio are extracted as OGG/Opus and attached to the screenshot as context for the AI
- Result: raw audio attached to multimodal AI requests
In practice:
- You can use either independently β they don't interfere with each other
- You could even run both simultaneously (though the plan notes potential device contention on some platforms)
- They have completely separate controls, separate Rust backends, and separate keyboard shortcuts
- Think of it as: speaker module = "transcribe what I hear into text", daemon = "give the AI audio context with my screenshots"
Dev Space (/dev-space)
AI Providers β Configure your LLM backend:
- Add an API key for your provider (OpenAI, Anthropic, etc.)
- Select a model that matches your needs:
- Text + Image: Any vision model (e.g., gpt-4o, claude-sonnet-4-20250514)
- Text + Image + Audio: gpt-4o-audio-preview or similar multimodal model
- Text only: Any model works
STT Providers β Configure speech-to-text:
- Add an API key for your STT provider (OpenAI Whisper, Deepgram, etc.)
- This is what the speaker module sends recorded audio to for transcription
Audio Settings (/audio in sidebar)
- Microphone: Select which input device to use for the chat AudioRecorder
- System Audio: Select which output device the speaker module captures (loopback)
Screenshot Settings (/screenshot in sidebar)
- Configure screenshot capture behavior
- When system audio daemon is enabled, screenshots will have audio attached
Testing Each Feature
| Feature | How to trigger | Requires |
|---|---|---|
| Mic button (completion bar) | Click mic icon or Cmd+Shift+A |
STT provider configured |
| System audio daemon | Click toggle in completion bar or Cmd+Shift+M |
Nothing β just works |
| Screenshot + audio | Take screenshot while daemon is on | Screenshot + daemon enabled |
| Chat audio recording | Open a chat β click mic icon in input area | STT provider configured |
| VAD auto-record | Enable in speech panel's mode switcher | STT provider + system audio output device |
Minimum setup for full testing: One AI provider API key + one STT provider API key + select audio devices.