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.7.tar.gz (13.1 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.7-py3-none-any.whl (12.9 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: spotlight_ai-0.1.7.tar.gz
  • Upload date:
  • Size: 13.1 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.7.tar.gz
Algorithm Hash digest
SHA256 ce972cca9293edd4bd7d29edfc82c800defd16d4dd5808fa3f449a4a83e02bd7
MD5 8799f19a3b9664210e45e66fcd360717
BLAKE2b-256 f85c25e3f0368291df91739d18f7afad7c914775073ad6c3eacbc379f177d21b

See more details on using hashes here.

File details

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

File metadata

  • Download URL: spotlight_ai-0.1.7-py3-none-any.whl
  • Upload date:
  • Size: 12.9 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.7-py3-none-any.whl
Algorithm Hash digest
SHA256 da3861d0f752bd2bdc3704ca9730d5c2d35d3c98bb489b190655391fee401835
MD5 71ab84b65214f0cbb79bca9510145de0
BLAKE2b-256 639a41874fa79e5d31da5caec2abf365e8dd10ec82eed8a3092379268dd037cd

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