Skip to content
Local Multimodal Semantic Search

SemSearch

A fast, 100% local, keyboard-driven multimodal semantic search engine for the Linux desktop. Find documents, PDFs, screenshots, photos, audio recordings, videos, and source code by meaning using unified Ollama embeddings.

Python 3.11+ Platform PySide6 Ollama Model SQLite FTS5

Ollama v0.40.4+ Required

SemSearch relies on Ollama's native multimodal /api/embed endpoint introduced in v0.40.4+ to generate unified embeddings across text, images, and audio. Make sure your local Ollama installation is updated before running SemSearch.

Key Features

Cross-modal retrieval & instant desktop previews

True Cross-Modal Search

Type "black hole" and immediately find screenshots or downloaded pictures of a black hole—even when the file is named Captura de pantalla_20260927.png with zero matching text in the filename.

Multimodal Ollama Embeddings

Uses embeddinggemma-2 by default via Ollama and supports any verified multimodal embedding model with configurable context window validation (num_ctx).

Hybrid Lexical + Semantic Ranking

Combines instant SQLite FTS5 BM25 keyword search with vector cosine similarity and modality-aware Z-score normalization so exact matches and conceptual hits rank naturally.

Spotlight-Style Quick Panel

Summon a floating search bar from anywhere on your desktop with Ctrl+Shift+Space (or semsearch --panel) for instant keyboard-first navigation and live previews.

Interactive Multimodal Previews

Inspect PDF pages with yellow query highlights, high-DPI images, FFmpeg video keyframes, audio waveform scrubbers, and line/keyword-highlighted source code & documents right inside the panel.

Developer Source Code Search

Prefix any query with code: for symbol-aware retrieval across 60+ languages and jump straight to the matching line in VS Code, Cursor, Zed, Sublime, or JetBrains IDEs.

100% Private & Offline

Every extraction, float16 vector, and SQLite index stays strictly on your machine (~/.local/share/semsearch/). Secrets (.env, SSH keys, .pem, .kdbx) are automatically excluded.

Smart Background Indexing

Differential inotify filesystem watcher, 4-tier priority queue, AC/battery power policies via /sys/class/power_supply, and scheduled indexing windows.

23 Languages & RTL Support

Built-in localization for 23 languages with automatic system locale detection and full Right-to-Left (RTL) layout adaptation for Arabic, Persian, and Hebrew.

Interface Gallery

Quick search panel, code search & model settings

Floating Quick Search Panel (Ctrl+Shift+Space)

Instant pop-up launcher with grouped results and side-by-side live preview:

SemSearch Quick Search Panel

Semantic Source Code Search (code:)

Search functions, classes, and implementation logic by concept with line-level preview and one-click IDE opening:

SemSearch Code Search

Multimodal Model & Storage Settings

Connect to any local or remote Ollama instance, switch between verified multimodal embedding models, configure the context window size (num_ctx) validated against your model's maximum capacity, and manage your local index:

SemSearch Settings Dialog

Documentation

Deep dive into architecture, ranking & extractors