Skip to main content

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

Metadata

Release files for spotlight-ai 0.1.7

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for spotlight-ai 0.1.7
File Size Uploaded
spotlight_ai-0.1.7.tar.gz 13.1 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for spotlight-ai 0.1.7
File Interpreter ABI Platform
spotlight_ai-0.1.7-py3-none-any.whl Python 3 none any Details

Total release size: 26.0 kB

Release files / spotlight_ai-0.1.7.tar.gz

Download URL spotlight_ai-0.1.7.tar.gz
Size 13.1 kB
Tags Source
SHA-256 checksum
How to use checksums
ce972cca9293edd4bd7d29edfc82c800defd16d4dd5808fa3f449a4a83e02bd7
BLAKE2b-256 checksum
How to use checksums
f85c25e3f0368291df91739d18f7afad7c914775073ad6c3eacbc379f177d21b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.3

Release files / spotlight_ai-0.1.7-py3-none-any.whl

Download URL spotlight_ai-0.1.7-py3-none-any.whl
Size 12.9 kB
Tags Python 3
SHA-256 checksum
How to use checksums
da3861d0f752bd2bdc3704ca9730d5c2d35d3c98bb489b190655391fee401835
BLAKE2b-256 checksum
How to use checksums
639a41874fa79e5d31da5caec2abf365e8dd10ec82eed8a3092379268dd037cd
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.3

Release history Release notifications | RSS feed

This release

0.1.7 This release

2 release files

0.1.6

2 release files

0.1.5

2 release files

0.1.4

2 release files

0.1.3

2 release files

0.1.2

2 release files

0.1.1

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page