Skip to main content

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:

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

Uploaded Python 3

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

Hashes for spotlight_ai-0.1.5.tar.gz
Algorithm Hash digest
SHA256 92518b4990037dfd7bf24c4f3b8f80cc91700911b570c7ed2ab1ecd278af47d8
MD5 e2d372a9f054109cd72b1988415f4cb9
BLAKE2b-256 e80e10515127d164c770132eeccbdd0fac97e62a64f274e1bbe68bf74f9c5164

See more details on using hashes here.

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

Hashes for spotlight_ai-0.1.5-py3-none-any.whl
Algorithm Hash digest
SHA256 f90ce904da0d84c14d97cab35a83858d959871b01f56e4509a59c9d25fb6b6d8
MD5 51687d2ef768c84c8d2206839eab8ffb
BLAKE2b-256 1bcc20aa198b544be4036a156b331f4b25ccda1a307fde07af490ec81dcf008a

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