Ctrl+Space AI search bar for Linux — 200+ models via OpenCode, slash commands, frameless overlay
Project description
Spotlight AI
A macOS Spotlight-style AI bar for Linux. Press a hotkey, ask anything, get answers inline — without leaving your workflow.
Powered by OpenCode with 200+ free and paid models (DeepSeek, Gemini, Claude, Qwen, Kimi, GLM and more).
Screenshots
Type your question:
Thinking...
Answer inline:
Install
pip install spotlight-ai
spotlight-setup
That's it. spotlight-setup will:
- Install OpenCode CLI automatically
- Install PyQt5 if missing
- Register your hotkey (default
Ctrl+Space, or pick your own)
Usage
| Command | What it does |
|---|---|
spotlight |
Launch the bar |
spotlight --help |
Show help |
spotlight-setup |
First-time setup (install deps + hotkey) |
spotlight-keybind |
Register Ctrl+Space hotkey |
spotlight-keybind "<Super>space" |
Register a custom hotkey |
spotlight-help |
Show all commands |
Custom hotkeys
spotlight-keybind # Ctrl+Space (default)
spotlight-keybind "<Super>space" # Win+Space
spotlight-keybind "<Alt>space" # Alt+Space
spotlight-keybind "<Control><Shift>s" # Ctrl+Shift+S
Slash commands (inside the bar)
| Command | What it does |
|---|---|
/help |
Show slash command menu |
/model |
Show current active model |
/models |
List all available models (fetched live) |
/<alias> |
Switch model — e.g. /gemini-2.5-flash |
/<alias> <prompt> |
Switch + ask in one shot |
Model aliases are auto-derived from model IDs (last segment, lowercase). No hardcoded list — when OpenCode adds new models, they appear automatically.
Examples:
/deepseek-v4-flash-free
/gemini-2.5-flash what is a monad?
/claude-sonnet-4.6 write a regex for email
/kimi-k2-instruct explain async/await in 3 lines
Active model persists in ~/.spotlight/config.json.
How it works
hotkey pressed
└─▶ PyQt5 frameless dark overlay appears (center of screen)
└─▶ you type, press Enter
└─▶ opencode run --format json -m <model> "<prompt>"
└─▶ answer appears in the bar
└─▶ press Esc to close
Slash commands are parsed before sending to OpenCode. Model switches are instant and persistent.
Requirements
- Linux (GNOME for hotkey auto-registration; other DEs work manually)
- Python 3.10+
- OpenCode CLI — installed automatically by
spotlight-setup - PyQt5 — installed automatically by
spotlight-setup
Files
spotlight_ai/
cli.py entry points: spotlight, spotlight-setup, spotlight-keybind, spotlight-help
ui.py PyQt5 frameless window — search bar + result area + animations
opencode.py subprocess wrapper around opencode CLI
slash.py slash command parser — live model list, persistent config
Why not just use the terminal?
hotkey → type → read beats switching windows, typing a long command, and scrolling output. Spotlight stays on top, answers inline, and disappears with Esc. Works from anywhere — full-screen apps, browsers, anything.
Built with OpenCode + PyQt5. Inspired by macOS Spotlight.
PyPI: spotlight-ai · GitHub: santhoshkammari/spotlight-ai
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file spotlight_ai-0.1.5.tar.gz.
File metadata
- Download URL: spotlight_ai-0.1.5.tar.gz
- Upload date:
- Size: 11.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.11.1 {"installer":{"name":"uv","version":"0.11.1","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
92518b4990037dfd7bf24c4f3b8f80cc91700911b570c7ed2ab1ecd278af47d8
|
|
| MD5 |
e2d372a9f054109cd72b1988415f4cb9
|
|
| BLAKE2b-256 |
e80e10515127d164c770132eeccbdd0fac97e62a64f274e1bbe68bf74f9c5164
|
File details
Details for the file spotlight_ai-0.1.5-py3-none-any.whl.
File metadata
- Download URL: spotlight_ai-0.1.5-py3-none-any.whl
- Upload date:
- Size: 11.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.11.1 {"installer":{"name":"uv","version":"0.11.1","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f90ce904da0d84c14d97cab35a83858d959871b01f56e4509a59c9d25fb6b6d8
|
|
| MD5 |
51687d2ef768c84c8d2206839eab8ffb
|
|
| BLAKE2b-256 |
1bcc20aa198b544be4036a156b331f4b25ccda1a307fde07af490ec81dcf008a
|