Skip to main content

Ctrl+Space AI search bar for Linux — 200+ models via OpenCode, slash commands, frameless overlay

Project description

Spotlight AI

PyPI version GitHub stars GitHub forks PyPI downloads License: MIT

If this saves you time, drop a star — it helps others find it!

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:

search

Thinking...

thinking

Answer inline:

result


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

spotlight_ai-0.1.6.tar.gz (13.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

spotlight_ai-0.1.6-py3-none-any.whl (12.8 kB view details)

Uploaded Python 3

File details

Details for the file spotlight_ai-0.1.6.tar.gz.

File metadata

  • Download URL: spotlight_ai-0.1.6.tar.gz
  • Upload date:
  • Size: 13.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.3

File hashes

Hashes for spotlight_ai-0.1.6.tar.gz
Algorithm Hash digest
SHA256 4b23342a8aea1a168c0bc207a826bfb53b74c0b5df0897bd1031877b4533e783
MD5 de18018fd85b2fbdbe6282491c31dede
BLAKE2b-256 19d82b674d360b5c2778a6a28d14f2b608ac9607c010a7c1ca7506dcdef9fad5

See more details on using hashes here.

File details

Details for the file spotlight_ai-0.1.6-py3-none-any.whl.

File metadata

  • Download URL: spotlight_ai-0.1.6-py3-none-any.whl
  • Upload date:
  • Size: 12.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.3

File hashes

Hashes for spotlight_ai-0.1.6-py3-none-any.whl
Algorithm Hash digest
SHA256 cbb74d4dd117ecc92bc05ad4506e93a48e24e923394cc7d1cbab55ea72226868
MD5 051ebc9d14357e7730a7ef0f58e9eab1
BLAKE2b-256 af339737845dfe01a3e801ebf6ffa700f6cfe945849c585320a76c480c933901

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page