The ultra-fast, Raycast-inspired AI Spotlight launcher for Windows.
Access local LLMs (Ollama, LM Studio) or cloud models (OpenAI, Anthropic, OpenRouter, DeepSeek) anywhere with a single shortcut (Alt + Space). Now with RAG Local, Advanced Voice Recognition, CLI Injection, Real Embeddings, Interactive Citations, Smart Suggestions, Immersive Reading Mode, and Conversation Export.
| Light theme | Dark theme |
|---|---|
![]() |
![]() |
Every version's changes β from v1.0.0 to the latest β live in the versioned CHANGELOG.md, generated from git tags with npm run changelog:all and committed automatically by the Release workflow.
- β‘ Instant Spotlight Access (
Alt + Space): Summon SpotAI anywhere on your desktop in less than 100ms. - π Automatic Clipboard Context Capture: Selected text or copied code is automatically attached as context for instant explanation, refactoring, or translation.
- π¦ Ollama Local & Network Server Support: Full compatibility with Ollama running locally or on a remote server/IP on your local network (e.g.
http://192.168.1.100:11434). - βοΈ Multi-Provider Cloud AI: Native support for OpenAI, Anthropic (Claude), Groq, DeepSeek, plus local LM Studio β and any OpenAI-compatible endpoint (OpenRouter, Mistral, Together, vLLMβ¦) with a custom base URL, API key and model.
- π― Native Auto-Insert (
Ctrl + Enter): Insert AI responses directly into your active text editor, code editor, or browser with one click. - π Dynamic Window Moving & Resizing: Drag the title bar to position SpotAI anywhere, and resize it freely (drag the bottom edge or corner) β the size is remembered between sessions.
- π Encrypted Storage: Sensitive API keys are stored securely using the Windows Credential Manager.
- β¨οΈ Configurable Global Hotkey: The
Alt + Spaceshortcut can be changed to any combo (e.g.Ctrl + Shift + Space) from Settings. - π§ Custom System Prompt: Define your own system prompt applied to every request, or keep SpotAI's built-in default.
- π¬ Multi-turn Chat: Conversations with memory, persisted between sessions, with a one-click "New chat".
- π Auto-start with Windows: Launch SpotAI automatically when you log in (toggle in Settings β General).
- π Automatic Updates: SpotAI checks GitHub Releases on startup and installs & restarts in one click (Tauri updater, signed).
- ποΈ Advanced Voice Input: Hold
Alt + V(or press the mic button) to speak in 5 languages (EN/ES/DE/PT/FR) with Whisper.cpp and real embeddings. - π Local RAG β Ask Your Files: Drag files in and ask questions about your code and documentation with local vector semantic search. Supports PDF, DOCX, TXT, MD, CSV, HTML/XML, JSON, YAML, TOML, code (Rust, Python, JS/TS, Go, Java, C/C++, etc.) and config/log files.
- π» CLI Injection (/exec): Generate smart PowerShell/CMD commands with a security confirmation step and direct terminal execution.
- π Real Embeddings: Uses the
nomic-embed-textmodel via Ollama for accurate semantic representations instead of hash-based fallbacks. - π¦ Zero Heavy Dependencies: Lightweight native Windows binary built with Tauri v2 and Rust.
- β¨ Interactive Citations: AI responses include clickable references [1], [2] that show exact document excerpts when clicked, with automatic highlighting in the document viewer.
- π‘ Smart Question Suggestions: Automatically generates relevant question chips based on uploaded documents to guide user interaction.
- π Immersive Reading Mode: Split-screen view with simultaneous document viewer and chat for enhanced study experience.
- π€ Conversation Export: Export complete chat history to Markdown format with citations, references, and document sources included.
- π Active Documents Panel: Visual management of indexed documents with real-time status, file details, and individual deletion controls.
- β³ Real-time Indexing Feedback: Progress bars and clear status messages during document processing ("Analyzing structure...", "Extracting text...", "Ready to answer").
Speak instead of typing: hold Alt + V (or click the microphone button in the toolbar) to record, then release β the recognised text is injected straight into the prompt, ready to send with Enter.
Two transcription engines are available in Settings β General β Speech-to-text engine:
- πͺΆ Native (Windows SAPI) β zero setup. Uses the Windows speech recognizer in live dictation mode with short silence timeouts for instant results.
- π§ Whisper (whisper.cpp) β more accurate and multilingual (en/es/de/pt/fr). The first time you pick it, a download (binary + model) is offered from Settings; afterwards everything runs locally and offline. You can choose the model size (Tiny / Base / Small) and the recognition language β see Tuning Whisper below. Recordings are also saved as WAV so the Whisper engine can transcribe them.
In Settings β Voice you can adjust how Whisper transcribes:
- ποΈ Recognition language β whisper's automatic detection on short clips often assumes English and produces nonsense on other languages. Pin the spoken language (Auto / English / EspaΓ±ol / Deutsch / PortuguΓͺs / FranΓ§ais) for reliable dictation; when nothing is pinned, the app defaults to your interface language automatically.
- π¦ Model size β Tiny (~75 MB) is the fast default, while Base (~145 MB) and Small (~466 MB) are noticeably more accurate on non-English speech (at the cost of slower transcription). Switching only downloads the model you pick β the binary is shared, and sizes you've already downloaded switch instantly.
π‘ Tip: for dictation in Spanish (or any non-English language), pick Base or Small and pin EspaΓ±ol β the Tiny model is fast but often misrecognises words.
π‘ Tip: Whisper runs fully offline after the one-time download. The native engine needs the Windows speech language pack for your language.
- Unit tests:
cargo testcovers provider parsing, history bounding, message formatting, host validation and credential masking;npm test(Vitest) covers i18n completeness across en/es/de and the action prompt templates. - Continuous Integration (
.github/workflows/ci.yml): typecheck, unit tests and production build on every push/PR. - Releases (
.github/workflows/release.yml): pushing avX.Y.Ztag builds, signs and publishes the GitHub Release automatically (no draft step) with the installers,.sigsignatures, the portable zip and thelatest.jsonupdater manifest β zero manual steps. The workflow also regenerates CHANGELOG.md from the full tag history and commits it tomainasgithub-actions[bot]. Requires two repository secrets:TAURI_SIGNING_PRIVATE_KEYβ the content of~/.tauri/spotai.keyTAURI_SIGNING_PRIVATE_KEY_PASSWORDβ the key password (leave empty when the key has none)
βΉοΈ The version is managed in a single place:
src-tauri/tauri.conf.json. The frontend reads it at build time, so bumping the version there is enough for the installers and the in-app UI.
| Shortcut | Action |
|---|---|
Alt + Space |
Show / Hide SpotAI overlay (configurable in Settings) |
Alt + V |
Hold to record voice input, release to transcribe into the prompt |
Esc |
Close / Hide SpotAI window |
Enter |
Submit prompt |
Shift + Enter |
Insert new line in prompt box |
β / β |
Navigate prompt history |
Ctrl + Enter |
Auto-insert the last response into the previous app |
Ctrl + , |
Open Settings Modal |
/ + β/β + Enter |
Open the slash command palette and pick a command |
Ctrl + V (with a screenshot) |
Attach an image as context for vision models |
| Command | Action |
|---|---|
/new |
Start a new conversation |
/theme |
Toggle between dark / light theme |
/capture |
Capture a screen region |
/incognito |
Toggle incognito mode |
/settings |
Open the settings modal |
/hide |
Hide the window |
/clear |
Clear the current conversation |
/explain |
Explain selected code or text |
/fix |
Fix a bug in selected code |
/refactor |
Refactor selected code |
/summarize |
Summarize selected text |
/translate |
Translate the selected text |
/improve |
Improve writing quality and tone |
/comment |
Add clear inline documentation |
/exec |
Generate and execute shell commands with security confirmation |
/rag |
Open RAG panel to ask questions about your local files |
Download the latest version from GitHub Releases:
- ποΈ Portable (no install):
SpotAI-Portable.zipβ unzip and runSpotAI.exedirectly, nothing to install (requires Windows 10/11 with WebView2). - β‘ Installer (NSIS):
SpotAI_1.4.4_x64-setup.exe - π¦ Installer (MSI):
SpotAI_1.4.4_x64_en-US.msi
(All assets β installers, portable zip, updater signatures and latest.json β are attached to the GitHub Release. Note: the portable build does not auto-update; use an installer if you want the built-in updater.)
-
Clone the repository:
git clone https://github.com/jaimitus/SpotAI.git cd SpotAI -
Install frontend dependencies:
npm install
-
Run in development mode:
npx tauri dev
-
Build production binaries:
npx tauri build
- Generate the signing keypair once (keep the private key secret; the
.pubfile goes intotauri.conf.jsonβplugins.updater.pubkey):npx tauri signer generate -w ~/.tauri/spotai.key - Build and sign the update bundles (produces the
.sigsignatures next to the MSI/NSIS installers):export TAURI_SIGNING_PRIVATE_KEY="$(cat ~/.tauri/spotai.key)" export TAURI_SIGNING_PRIVATE_KEY_PASSWORD="" npx tauri build
- Publish a new GitHub Release β just push the tag and the
release.ymlworkflow does everything automatically (build, signing, automatic publishing, changelog update):The app checksgit tag v1.4.4 && git push origin v1.4.4https://github.com/jaimitus/SpotAI/releases/latest/download/latest.jsonon startup, so that file must exist as a release asset. Two ways to get it:- Recommended: use
tauri-actionin the workflow β it builds, uploads the installers +.sigfiles and generateslatest.jsonautomatically. - Manual: upload the installers and their
.sigfiles fromsrc-tauri/target/release/bundle/{msi,nsis}/, then createlatest.jsonwith the static format and upload it too:{ "version": "1.4.4", "notes": "Release notes", "pub_date": "2026-08-11T09:00:00Z", "platforms": { "windows-x86_64": { "signature": "<content of the .sig file>", "url": "https://github.com/jaimitus/SpotAI/releases/download/v1.4.4/SpotAI_1.4.4_x64-setup.exe" } } }
- Recommended: use
If you find SpotAI helpful, consider supporting its development:
SpotAI
βββ src-tauri/ # Native Rust Backend (Tauri v2)
β βββ src/
β β βββ commands.rs # Tauri API commands (Streaming, Ollama, Browser Launcher)
β β βββ native_input.rs # Windows native input injection & paste (Ctrl+V)
β β βββ rag.rs # Local RAG: sqlite-vec index + Ollama embeddings
β β βββ secure_store.rs # Local DPAPI secure credential storage
β β βββ voice.rs # Voice capture (cpal) + Windows SAPI dictation
β β βββ whisper.rs # whisper.cpp download & offline transcription
β β βββ ai/ # LLM providers & streaming (OpenAI-compatible, Ollama)
β β βββ lib.rs # Window management, Tray icon & Global Hotkey
β βββ tauri.conf.json # Tauri app configuration & capabilities
βββ src/ # React 19 Frontend
βββ components/ # SpotlightWindow, ResponsePanel, SettingsModal, ActionChips
βββ hooks/ # useLLMStream, useClipboardContext
βββ lib/ # i18n, Prompts, Tauri API bridges, Providers
This project is licensed under the MIT License.
Crafted with β€οΈ by jaimitus




