Skip to content

Repository files navigation

SpotAI v1.4.4 πŸš€

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
SpotAI in light theme SpotAI in dark theme

Buy Me A Coffee Release Tauri v2 Rust React License


πŸ“ Release History

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.


πŸ”₯ Key Features

  • ⚑ 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 + Space shortcut 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-text model 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").

πŸŽ™οΈ Voice Input (Dictation)

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.

The Whisper install panel (3 phases)

1 Β· Before download 2 Β· During download 3 Β· Ready
Whisper panel before download Whisper panel during download Whisper panel ready
Shows the Download Whisper model button for the selected size (Tiny/Base/Small). A live progress bar tracks the binary and model download phases. A green check confirms Whisper model ready with the installed model size.

Tuning Whisper: model size & recognition language

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.


πŸ§ͺ Testing & CI

  • Unit tests: cargo test covers 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 a vX.Y.Z tag builds, signs and publishes the GitHub Release automatically (no draft step) with the installers, .sig signatures, the portable zip and the latest.json updater manifest β€” zero manual steps. The workflow also regenerates CHANGELOG.md from the full tag history and commits it to main as github-actions[bot]. Requires two repository secrets:
    • TAURI_SIGNING_PRIVATE_KEY β€” the content of ~/.tauri/spotai.key
    • TAURI_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.


🎹 Keyboard Shortcuts

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

/ Commands (type and press Enter to run directly)

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

πŸš€ Quick Download & Installation

Download the latest version from GitHub Releases:

  • πŸ—‚οΈ Portable (no install): SpotAI-Portable.zip β€” unzip and run SpotAI.exe directly, 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.)


πŸ› οΈ Building from Source

Prerequisites

  • Node.js (v18+)
  • Rust (1.75+)
  • Windows 10 / 11 Build Environment

Installation Steps

  1. Clone the repository:

    git clone https://github.com/jaimitus/SpotAI.git
    cd SpotAI
  2. Install frontend dependencies:

    npm install
  3. Run in development mode:

    npx tauri dev
  4. Build production binaries:

    npx tauri build

Publishing updates (auto-updater)

  1. Generate the signing keypair once (keep the private key secret; the .pub file goes into tauri.conf.json β†’ plugins.updater.pubkey):
    npx tauri signer generate -w ~/.tauri/spotai.key
  2. Build and sign the update bundles (produces the .sig signatures next to the MSI/NSIS installers):
    export TAURI_SIGNING_PRIVATE_KEY="$(cat ~/.tauri/spotai.key)"
    export TAURI_SIGNING_PRIVATE_KEY_PASSWORD=""
    npx tauri build
  3. Publish a new GitHub Release β€” just push the tag and the release.yml workflow does everything automatically (build, signing, automatic publishing, changelog update):
    git tag v1.4.4 && git push origin v1.4.4
    The app checks https://github.com/jaimitus/SpotAI/releases/latest/download/latest.json on startup, so that file must exist as a release asset. Two ways to get it:
    • Recommended: use tauri-action in the workflow β€” it builds, uploads the installers + .sig files and generates latest.json automatically.
    • Manual: upload the installers and their .sig files from src-tauri/target/release/bundle/{msi,nsis}/, then create latest.json with 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"
          }
        }
      }

β˜• Support the Project

If you find SpotAI helpful, consider supporting its development:

Buy Me A Coffee


πŸ—οΈ Architecture

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

πŸ“„ License

This project is licensed under the MIT License.


Crafted with ❀️ by jaimitus

About

Ultra-fast, Raycast-inspired AI Spotlight launcher for Windows built with Rust & Tauri v2. Stream local LLMs (Ollama, LM Studio) or cloud APIs (Claude, OpenAI, DeepSeek) anywhere via Alt+Space with automatic context capture and native auto-paste.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages