One prompt away from any specialist
OmniAgent is a generalist with terminal access — pair it with the right MCP servers and it transforms into a coder, researcher, ops engineer, or data analyst on demand.
Open the chat and ask anything
Head to the Agent page in the desktop app, write a base prompt that defines the role, and start chatting. OmniAgent keeps the full conversation context — ask follow-ups, refine, branch off into new tasks without losing the thread.
Run a quick task anywhere
Don’t want to leave the app you’re in? Trigger OmniAgent inline with a keyword.
-
1
Write the prompt
@omniAgentfind all TODOs in this project and summarise them -
2
Select the text
-
3
Press ⌘T / Ctrl+T
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, Google Gemini, or NVIDIA Nemotron.
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
Supported web search providers: DuckDuckGo, Serper, Brave Search, Tavily, SearXNG.
Packed with features
Multiple LLM Providers
Choose between OpenAI, Anthropic, Google Gemini, or NVIDIA Nemotron (open weights, served via NVIDIA NIM) as your AI backend. Configure your preferred provider during onboarding or at any time via the CLI.
MCP Servers
Plug in any MCP (Model Context Protocol) server — via stdio, HTTP, or SSE transport — from the macOS app, Windows app, or CLI. The agent automatically discovers and calls those tools during task execution.
Web Search
Give the agent real-time web context. Supported providers: DuckDuckGo, Serper, Brave Search, Tavily, SearXNG.
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.
Telegram Integration
Interact with @omniAgent and receive notifications directly in
Telegram from your phone or any device. Run the daemon and the
Telegram client on your machine, leave it running, and drive entire agent sessions
from Telegram. Use /cmd to start or resume a task via a guided wizard,
/task to check progress or fetch the last result, and /stop
to abort a running session. The bot runs as a persistent background daemon (launchd on
macOS, NSSM on Windows) managed entirely through the CLI.
Get started with one command
omnikey telegram start
On first run the CLI prompts for your bot token (from
@BotFather) and chat ID, validates the token against the Telegram API, and
saves both to ~/.omnikey/config.json. For the full setup guide see the
Telegram README.
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.
Scheduled Jobs
Run prompts automatically on a recurring schedule or at a one-time date and time.
Use Scheduled Jobs in the Desktop App
Open Scheduled Jobs from the OmniKey menu bar (macOS) or system tray (Windows). You can:
- Create recurring jobs using weekday/day selection and time
- Create one-time jobs for a specific date and time
- Run jobs immediately with Run Now
- Enable/disable jobs with Activate and Deactivate
- Inspect the last execution with Last Run
Manage Scheduled Jobs from the CLI
Use the schedule command group to add, list, remove, and trigger jobs:
omnikey schedule add
omnikey schedule list
omnikey schedule remove
omnikey schedule run-now <job-id>
The add flow is interactive and supports multiline prompt input, recurring cron schedules, and one-time jobs.
MCP Servers
Extend the OmniKey agent with any external tool by connecting MCP servers over stdio, HTTP, or SSE.
Manage MCP Servers in the Desktop App
Open MCP Servers from the OmniKey menu bar (macOS) or system tray (Windows). From there you can:
- Create a new server — enter a name, description, and choose a transport: stdio, http, or sse
-
For stdio: supply the command, arguments, and optional
KEY=VALUEenvironment variables -
For http / sse: supply the endpoint URL and
optional
KEY=VALUEheaders - Toggle a server on or off with Enable / Disable
- Refresh a server connection with Refresh
- Edit server details or delete a server at any time
Manage MCP Servers from the CLI
Use the mcp command group to register, inspect, and control servers:
omnikey mcp add
omnikey mcp list
omnikey mcp remove
omnikey mcp toggle <id>
omnikey mcp update <id>
add and update are interactive prompts that ask for name,
description, transport (stdio, http,
sse), enabled flag, and the transport-specific fields.
Telegram Integration
Run the daemon and the Telegram client on your machine, leave it running, and handle entire OmniAgent sessions from Telegram on any device.
Chat with OmniAgent from Telegram
Once the daemon is running, send commands to your bot from any device. All commands are accepted only from your configured chat ID.
/cmd— guided wizard to start or resume an agent session-
/cmd --verbose— stream shell output, web calls, and MCP events as they happen -
/task— check progress of a running session, or fetch the last result /stop— abort the running agent session
Manage the Telegram Daemon
The bot runs as a persistent background service — launchd on macOS, NSSM on Windows.
On first run it prompts for your bot token and chat ID, validates them, and saves
them to ~/.omnikey/config.json.
omnikey telegram start # install and start
omnikey telegram status # check if running
omnikey telegram logs # tail stdout + stderr
omnikey telegram restart # restart after a config change
omnikey telegram stop # stop the daemon
For setup instructions — creating a bot with @BotFather and finding your chat ID — see the Telegram README.
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, Google Gemini, and NVIDIA Nemotron. You can also optionally configure a web search provider. Supported web search providers: DuckDuckGo, Serper, Brave Search, Tavily, SearXNG.
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