How OmniKey works
Three steps, zero friction. Works in every app on your computer.
Select any text
Highlight text in any application — emails, documents, code editors, chat apps.
Press a shortcut
Use ⌘E, ⌘G, or ⌘T to trigger the AI enhancement.
AI enhances in-place
The result is automatically pasted back, replacing your selected text. No copy-paste needed.
Three powerful commands
Each shortcut maps to a specific AI capability, available in any app on your screen.
Enhance Prompt
Rewrite selected text with better clarity, structure, and tone — ideal before sending to any AI tool.
Grammar & Clarity
Fix spelling, grammar, and readability without changing the core meaning of your text.
Custom Task + Agent
Apply your own saved instructions or run the AI agent with real-time web search and terminal access.
Unlimited flexibility with @ commands
Prefix your text with @ to give OmniKey specific instructions on the fly.
Enhance a Prompt
Select any text in any app and press ⌘E (macOS) or Ctrl+E (Windows). OmniKey rewrites it with better clarity, structure, and tone — ideal before sending to an AI tool.
Fix Grammar & Clarity
Select text and press ⌘G / Ctrl+G. OmniKey corrects spelling, grammar, and readability without changing your meaning.
Run a Custom Task
Set up your own task instructions in the Task Instructions tab in the menu bar app. Then select any text and press ⌘T / Ctrl+T to apply them.
Ask OmniKey Anything
Start your text with @omnikeyai followed by any instruction. Select it and press any OmniKey shortcut — OmniKey takes action based on what you write and pastes the result in place.
@omnikeyai write this text into valid markdown format
Powered by your configured provider — OpenAI, Anthropic, or Google Gemini.
Run the AI Agent
Start your instructions with @omniAgent, select them, and press ⌘T / Ctrl+T. The agent gathers context from your terminal and the web, combines your saved task instructions if configured, then completes the task and pastes the result.
@omniAgent find all TODO comments in my project and summarise them
Web search uses your configured provider (Serper, Brave, Tavily, or SearXNG). Falls back to DuckDuckGo if none is set — no key required.
Packed with features
Multiple LLM Providers
Choose between OpenAI, Anthropic, or Google Gemini as your AI backend. Configure your preferred provider during onboarding or at any time via the CLI.
Web Search
Give the agent real-time web context. Supported providers:
- DuckDuckGo — default fallback, no key required
- Serper — Google Search API, 2,500 free req/mo
- Brave Search — 2,000 free req/mo
- Tavily — optimised for AI, 1,000 free req/mo
- SearXNG — self-hosted, no key needed
Prompt Enhancement
Press ⌘E / Ctrl+E to improve the clarity, structure, and tone of selected text — ideal before sending to any AI tool.
Grammar & Clarity Fix
Press ⌘G / Ctrl+G to correct spelling, grammar, and readability without changing the core meaning of your text.
Custom Tasks
Press ⌘T / Ctrl+T to apply your own saved task instructions to the selected text. Configure them in the Task Instructions window from the menu bar.
How It Works
- Select text in any app.
- Press an OmniKey shortcut.
- OmniKey sends it securely to the AI service.
- The result is pasted back in place.
Authenticated Browser Session Reading
OmniKey reads content directly from your live browser tab — including pages that require login. The @omniAgent can work with private dashboards, internal docs, and authenticated tools without any copy-pasting.
Works with: Chrome, Brave, Edge on Windows · Chrome, Brave, Edge, Arc, Vivaldi, Opera, Chromium, Safari on macOS.
Recommended: one command does everything
omnikey grant-browser-access
The CLI detects your installed browsers, creates a dedicated Omnikey debug profile stored at
~/.omnikey/browser-debug-profiles/, finds a free debug port, registers a permanent login startup entry,
and verifies the connection — all in one guided flow.
Because a fresh profile is used, you sign in to your accounts once inside it.
Your main browser profile is never touched, and the debug profile persists between sessions.
After setup, reopen the browser with its Omnikey debug profile any time using:
omnikey browser open
Manual setup
Remote Debugging Port (CDP)
Modern Chrome no longer allows --remote-debugging-port with your existing user profile.
You must point --user-data-dir at a dedicated, separate directory.
- Create a folder for the Omnikey debug profile — e.g.:
mkdir "$env:USERPROFILE\.omnikey\browser-debug-profiles\chrome-default" - Close all Chrome windows completely (check Task Manager → Details for any remaining
chrome.exeprocesses). - Launch Chrome pointing at the new profile — paste into PowerShell:
& "C:\Program Files\Google\Chrome\Application\chrome.exe" ` '--remote-debugging-port=9222' ` "--user-data-dir=$env:USERPROFILE\.omnikey\browser-debug-profiles\chrome-default" ` '--no-first-run' '--no-default-browser-check' - A fresh Chrome window opens. Sign in to your accounts — this profile persists, so you only do this once.
- Confirm the port is active:
http://127.0.0.1:9222/json - To auto-start on login, add this command as a Registry Run value under
HKCU\Software\Microsoft\Windows\CurrentVersion\Run.
Edge: replace chrome.exe with msedge.exe. Brave: use brave.exe.
Remote Debugging Port (CDP) — Chrome, Brave, Edge, Arc, Vivaldi, Opera, Chromium
Modern Chrome requires a separate --user-data-dir for remote debugging — using your existing profile is no longer supported.
- Create a folder for the Omnikey debug profile:
mkdir -p ~/.omnikey/browser-debug-profiles/chrome-default - Quit the browser fully (⌘Q).
- Launch it from Terminal pointing at the new profile:
"/Applications/Google Chrome.app/Contents/MacOS/Google Chrome" \ --remote-debugging-port=9222 \ --user-data-dir="$HOME/.omnikey/browser-debug-profiles/chrome-default" \ --no-first-run --no-default-browser-check - A fresh browser window opens. Sign in to your accounts — this profile persists between sessions.
- Confirm the port is active:
http://127.0.0.1:9222/json - To auto-start on login, create a launchd plist at
~/Library/LaunchAgents/com.omnikey.browser-debug.plistwithRunAtLoad = truepointing to the same command.
Replace the app path for Brave (Brave Browser.app), Edge (Microsoft Edge.app), etc. Use a different folder name per browser.
Chrome, Brave, Edge, Arc, Vivaldi, Opera, Chromium
- In the menu bar go to View → Developer → Allow JavaScript from Apple Events.
- Make sure it is checked, then restart the browser.
Safari
- Go to Safari → Settings → Advanced and enable "Show features for web developers".
- Then go to Develop → Allow JavaScript from Apple Events and make sure it is checked.
No separate profile or port needed — Omnikey reads your existing open tabs directly. This is a permanent one-time setting.
Up and running in minutes
Four simple steps to get OmniKey working on your machine.
Install the CLI
Install the OmniKey CLI:
brew install GurinderRawala/omnikey/omnikey-cli
npm install -g omnikey-cli
Onboard & configure your AI provider
Run the interactive setup to pick your LLM provider and enter your API key:
omnikey onboard
Supports OpenAI, Anthropic, and Google Gemini. You can also optionally configure a web search provider (Serper, Brave Search, Tavily, or SearXNG) — if none is set, OmniKey falls back to DuckDuckGo by default so web search works out of the box with no key required.
Start the daemon
Register OmniKey as a persistent background service that survives system restarts:
omnikey daemon
On macOS this registers a launchd agent. On Windows it registers a Task Scheduler task.
Download & launch the app
Download the app above for your platform, install it, and you're ready. Select any text in any app and press a shortcut. You can manage task instructions and view the manual from the menu bar / system tray icon.
Download OmniKey AI
Free to use. Open source. Works on macOS and Windows.
macOS 13+ | Windows 10/11 x64