Files

20 KiB

searchi app icon

searchi

Find what matters. Locally.

Your documents, code, photos, music and movies. One place to search.

You remember what was in the file. searchi helps you find it—even when you don't remember what it was called.

Search a filename, a phrase, or describe what you're looking for in your own words. See the relevant passage or media preview alongside your results, then open the file. Your files stay on your device.

searchi starts as a compact floating search bar

One shortcut. One floating search bar. Results appear when you type.

searchi finding a supplier agreement and highlighting its matching passage

“cancel the supplier partnership” finds the agreement and brings its termination passage into view.

Press Ctrl + Shift + Space on Windows to bring up a floating search bar. Type to reveal results and a preview; clear the query to return to the compact bar. Escape or closing the window hides it while search stays ready. Use the tray icon beside the clock to open searchi or quit it.

Find it your way

What you remember What to try
An application to open VS Code, vscode or Calculator
The file's name Supplier agreement.pdf
Words inside a document sixty days written notice
What a document is about cancel the supplier partnership
What a piece of code does retry failed requests with exponential backoff
An exact code symbol refreshAccessToken
A photo's subject mountains reflected in calm water
An artist or song title Nina Simone or Feeling Good, if present in your music tags
A scene or sound Try rain and thunder or a boat crossing a lake in experimental media search

Names, words and meaning work together. Exact filenames help you get straight to a known file. Content search finds the words inside it. Google EmbeddingGemma 2 adds local semantic search for related meaning, images and sound.

Use All files to narrow results by folder, file extension, modification date, file size or media duration. Choose a result to inspect it before opening.

The current Windows app offers Artist (exact) and Track title (exact) filters for music. Enter the complete tag, with or without a text query. These filters ignore letter case and surrounding spaces; files without the matching music tag stay out of the results. Existing indexes need a media indexing pass before these filters can use their tags. They require Windows 0.1.5 or later.

Search spoken passages

Windows 0.1.6 adds experimental local speech recognition for audio and video. Describe a spoken topic, inspect the recognized passage, and jump to its estimated position. Google EmbeddingGemma 2 remains the search model; the additional speech models help turn spoken words into searchable passages. For example, try someone talking about equal rights in a recording that contains that topic. Use the current Windows installer below, or the Linux headless 0.1.9 archive.

Find the implementation

Choose Code in the All files filters to search source files. Look up a symbol you know, or describe the behavior you need. Local Google embeddings help connect your description to an implementation; the preview preserves code formatting and shows the source passage's starting line.

Rust, Python, JavaScript/TypeScript, C/C++, Go, Java, C#, Swift, SQL and many other source formats are supported, including named build files such as Makefile and Dockerfile. Add your project folder and let semantic indexing finish for meaning-based search. See code search for details and agent integration.

A little less searching. A little more finding.

Matching words stand out in the results and document preview. PDF results retain their page number; text results show the relevant passage. If you'd like an explanation, expand the small Why this result? detail.

Stronger matches appear first. Open Related suggestions to explore weaker semantic neighbors; a suggestion may help you find something you remembered imprecisely, but does not prove that the requested content exists. Exact names and keyword matches remain available independently.

searchi keeps weaker semantic neighbors in expandable Related suggestions

searchi's dark theme with search results and a document passage

Light and dark themes follow your system preference. Keyboard navigation, short transitions and reduced-motion support keep the interface familiar and comfortable. In Settings → Appearance, choose a solid, glass or frosted-glass window background and adjust its opacity. Reading surfaces stay clear. Native glass currently requires Windows 11 22H2 or later. macOS, Linux, unsupported Windows versions and high-contrast mode currently use a solid background; your appearance preference is retained.

searchi finding and previewing a mountain lake photograph

“mountains reflected in calm water” searches the pictures themselves, so a useful filename isn't required.

The screenshots show the current compact and expanded interface, rendered against the real local search engine; native glass depends on the operating system.

Images open in the preview. Audio and video have playback controls, and matching media segments can jump to their approximate location. Nothing autoplays when you select a result.

Get searchi

Windows x64 version 0.1.9 is available.

Already installed? Choose Quit from the tray before updating. Version 0.1.9 separates stronger matches from expandable Related suggestions. It retains the floating launcher, installed-application search and automatic background file discovery. Explicit media requests do not fall back to unrelated media channels. It retains local speech search, exact artist/title filters, isolated PDF/DOCX processing and bounded media previews.

The installer creates a launcher and sets up WebView2 if needed. This initial release is unsigned. A Linux desktop preview is also available; macOS source build instructions are available now. You can also let your local AI agent handle setup.

Ubuntu 24.04 x64 desktop preview 0.1.9: Download the Debian package and install with sudo apt install ./searchi_0.1.9_amd64.deb. Checksum. Packaged startup was tested on WSLg using CPU; native graphical interaction and other distributions still need testing. Compatibility and evidence.

Running a Linux server? The optional Linux x64 headless preview 0.1.9 includes the CLI, read-only MCP server, Google runtime, media helpers and experimental local speech search. Follow the archive's START-HERE.txt to download recognition models and index spoken passages. It was tested on Ubuntu 24.04 and requires GLIBC 2.39 and a compatible C++ runtime. Checksum · Headless setup. No desktop dependencies are required.

Install with your agent — copy and paste

Paste this into an agent that can run commands on your computer:

Install searchi on this computer and get it ready for my first search.
Official repository: https://tea.karlcom.de/karl/searchi

Detect my operating system and processor architecture. Use a suitable official
release from the README or releases page: choose the newest compatible artifact
for my platform, even if it is attached to an older release. Use the Windows
installer, compatible Ubuntu desktop package or Linux headless archive. Check
its documented system requirements and verify its published checksum. Otherwise,
set up the current source version using the repository's installation/build
instructions. Handle the required tools and dependencies for me; don't just
give me a list of commands to run. Keep the installation in a dedicated folder
and preserve any existing searchi settings and index.

Use the public download URLs; no private Gitea token is needed. If Cloudflare
returns HTTP 403 to a command-line downloader, use a browser download or retry
the same official URL with User-Agent Mozilla/5.0, then verify the checksum.

Install the desktop app by default. On headless Linux, install the command-line
version instead, without desktop dependencies. Set up the genuine local Google
EmbeddingGemma 2 runtime and model, and the media helpers available for my
platform. Use supported hardware acceleration with CPU fallback. Explain any
large downloads or platform limitations before proceeding with those steps.

On desktop, launch searchi and verify that its window opens and its local search
model is ready. Create a launcher or shortcut; on Windows, show me the tray icon
and Ctrl + Shift + Space shortcut. On headless Linux, verify the CLI and its
bundled workers instead, then provide a repeatable search command or MCP setup.
On Windows, configure a per-user login launcher with --background so the global
shortcut is ready after sign-in; keep the app accessible through its tray menu.
If a prerequisite, platform component
or permission prevents setup, explain precisely what is missing; don't report
a working installation until it is verified. Ask for my help only when a
password, system approval or other manual action is required.

On desktop, let automatic local file discovery run in the background. Show me
the floating search bar, an application search and the indexing setting. Keep
search local and optional cloud summaries disabled. On headless Linux, ask which
folder to prepare through the CLI. Finish with a filename search followed by
a search in my own words. Do not claim every file is ready while indexing runs.

Your agent needs internet access and permission to install software locally. Windows x64 setup can use the published installer; Ubuntu 24.04 x64 can use the desktop preview, and compatible headless Linux systems can use the preview archive. Other platforms currently build from source. The local search model downloads approximately 865 MB once. The current Windows speech feature automatically downloads about 149 MB of additional local assets afterward. Cached assets are reused; filename and keyword search remain available while models prepare. Your agent should report any platform limitation it encounters.

Prefer to set it up yourself? See the build and launch instructions.

Build from source with your agent — macOS, Windows and Linux

Want to build searchi yourself? Copy this prompt into an agent with local terminal access. It builds for the computer you are using; on headless Linux, it builds the CLI without desktop dependencies.

Build searchi from its source code, install it on this computer, and get it
ready for my first search. Do not substitute a prebuilt searchi release.
Repository: https://tea.karlcom.de/karl/searchi.git

Detect whether I am using macOS, Windows or Linux, and detect my processor
architecture. Clone the public repository into a dedicated folder, or reuse
my existing checkout without overwriting local changes. Record the commit
you build. Read README.md, AGENTS.md, SKILLS.md and docs/BUILDING.md; use the
current normal release-build instructions and relevant platform documents.

Install or configure the required build tools and native dependencies for
my platform. On Windows, prepare the C++ toolchain, Windows SDK and WebView2;
on macOS, prepare the Xcode tools; on Linux desktop, prepare the documented
WebKitGTK dependencies. Follow the repository's pinned versions and lockfiles.
Do the work, rather than only giving me commands to run. Ask for my help when
a password, license acceptance or system approval needs a human.

Build the desktop app by default, including its frontend and native release
shell. On headless Linux, build only the CLI and workers, with no GUI dependencies.
Build and stage the genuine Google EmbeddingGemma 2 worker, extraction worker,
and supported media/speech helpers using the repository scripts. Use the normal
auto hardware-detecting runtime with CPU fallback. A missing acceleration build
dependency must be resolved or reported, not silently replaced by a CPU-only
distribution. The repository's Windows VM CPU-testing rule applies to tests
in that VM; it does not define the normal product build.

Prepare the verified local models through the documented setup flow, reusing
valid cached assets. Tell me the expected download size first. Keep my existing
settings, index and model cache intact, keep search local, and leave optional
external summaries disabled.

Run the applicable documented build checks, then install the built app and
its required runtime files in a dedicated location. Verify the installed copy,
not just an executable that depends on the source tree or a development server.
On desktop, open the app and verify filename search, a search by meaning, and
the launcher shortcut/tray where supported. On headless Linux, verify indexing
and genuine semantic search through the CLI, then give me a repeatable command
and optional MCP configuration. Use an owned sample folder for these checks;
do not alter my files. Let normal desktop indexing continue in the background.

Finish with the installed location, source commit, how to launch searchi,
which checks actually passed, and any concrete platform limitation. Do not
claim an untested platform, hardware backend or UI interaction works.

Building needs internet access, disk space for the toolchain and local models, and permission to install dependencies. macOS native execution remains unverified in this repository; your agent should verify its build on your Mac and report any issue. See platform build instructions.

Once searchi is running:

  1. Press Ctrl + Shift + Space on Windows. A compact search bar floats in the center of your screen; results and previews appear when you type.
  2. Try VS Code to find and launch an installed application. App search is available independently of file indexing and the local model download.
  3. searchi automatically discovers accessible local files in the background. System folders, caches, build outputs, common credential stores and its own data are excluded. Common personal folders are prepared first; a large collection takes longer.
  4. Search a filename or words you remember as files become available. The local Google model prepares in the background for searches by meaning. First setup downloads approximately 865 MB; the smaller text model becomes usable before the larger media assets finish downloading.
  5. Select a result to inspect its passage or media preview, then press Enter to open it. Escape hides the launcher; the tray keeps it available.

In Settings, you can turn automatic discovery off or add a specific folder, including a network folder. Existing indexed results remain searchable when automatic discovery is off; an already running scan may finish. Files are updated in the background, and Reindex checks a selected folder again. The desktop keeps the real Google query model warm for subsequent searches.

searchi automatically chooses supported graphics acceleration when available and falls back to CPU when it cannot use it. You do not need a graphics development toolkit. Hardware and release validation are still in progress.

Private by design

Desktop file discovery runs automatically across accessible local storage. You can change it in Settings. File contents, previews and ordinary search processing stay local; searches are not sent to a cloud AI service.

If you enable optional AI answers, an explicit Summarize or Ask action sends the previewed document excerpt to the endpoint you choose. Ordinary searches continue to run locally.

The model download happens during setup. Once it's ready, semantic inference runs on your device. The local search index contains information from your files, so protect it as you would the files themselves.

Documents and media

Files Current support
Documents PDF, DOCX, plain text, Markdown and source code
Photos JPEG, PNG, WebP and BMP
Music and audio MP3, FLAC, WAV, M4A, OGG, Opus, AAC and AIFF
Movies and video MP4, MKV, MOV, AVI, WebM, M4V and MPEG

Media search is experimental. Image, audio and video search are implemented, but relevance still needs improvement. Music descriptions can produce broad matches; use exact artist/title filters when you know the tags. Video sampling can miss a brief scene. In speech search, recognized text can contain errors or miss words, and timestamps are estimates rather than verified word positions. When your files contain no suitable match, semantic search may still show the closest results; a returned result does not prove the requested content exists. Inspect the passage or preview before relying on it. Playback also depends on the formats your system supports; you can open a file in its usual player if the preview cannot play it.

Fast should feel fast

Each search shows a compact result count and timing summary. Want to look closer? Enable Performance details in settings for a breakdown of where the time went. Copied timing reports exclude your search text and file paths.

See the optional performance view

searchi showing measured search timings in its optional performance panel

Your agent can search, too

Connect a local AI agent to searchi's read-only MCP server. It can search your chosen index and return snippets, source locations and search timings using the same engine as the desktop. A reusable skill also helps agents use searchi through the command line. Connect an agent. Your agent receives the returned excerpts; cloud agents handle them according to that client's configuration.

On Windows x64, your agent can use the optional CLI/MCP download with its own checksum. Extract the ZIP alongside the installed desktop runtime helpers; it includes the document extraction helper. No Rust build is needed. Install the desktop app first for the model setup and runtime helpers, then connect the CLI to that app's existing index.

Optional answers, your choice

Want a short summary or an answer about a passage? Connect your preferred OpenAI-compatible endpoint, including a local model server. Preview exactly which excerpt will be sent, then choose Summarize or Ask. The feature is off by default; search works without it. Set up optional answers.

Help shape searchi

Found a problem, or searched for something that should have been easy to find? Report it or suggest an improvement. Describe what you expected and what happened; use made-up examples if your files contain private information.

For contributors: building searchi and the headless Linux CLI · roadmap · search-quality evaluation.

The screenshots show the current interface searching real example files with the local Google model. They are isolated software-test browser captures; operating-system integration and native glass are not shown. Photo credits.

Made by Karl. Open source under the MIT license.