2026-10-12 20:04:20 +02:00
|
|
|
<p align="center">
|
|
|
|
|
<img src="assets/brand/searchi-app.png" alt="searchi app icon" width="96">
|
|
|
|
|
</p>
|
2026-10-12 17:32:56 +02:00
|
|
|
|
2026-10-12 20:04:20 +02:00
|
|
|
<h1 align="center">searchi</h1>
|
|
|
|
|
<p align="center"><strong>Find what matters. Locally.</strong></p>
|
2026-10-12 21:22:11 +02:00
|
|
|
<p align="center">Your documents, code, photos, music and movies. One place to search.</p>
|
2026-10-12 15:45:57 +02:00
|
|
|
|
2026-10-12 20:04:20 +02:00
|
|
|
You remember what was in the file. searchi helps you find it—even when you
|
|
|
|
|
don't remember what it was called.
|
2026-10-12 15:45:57 +02:00
|
|
|
|
2026-10-12 20:04:20 +02:00
|
|
|
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.
|
2026-10-12 19:57:34 +02:00
|
|
|
|
2026-10-12 20:04:20 +02:00
|
|
|

|
2026-10-12 19:57:34 +02:00
|
|
|
|
2026-10-12 20:04:20 +02:00
|
|
|
*“cancel the supplier partnership” finds the agreement and brings its
|
|
|
|
|
termination passage into view.*
|
2026-10-12 15:45:57 +02:00
|
|
|
|
2026-10-12 20:04:20 +02:00
|
|
|
## Find it your way
|
2026-10-12 15:45:57 +02:00
|
|
|
|
2026-10-12 20:04:20 +02:00
|
|
|
| What you remember | What to try |
|
|
|
|
|
| --- | --- |
|
|
|
|
|
| The file's name | `Supplier agreement.pdf` |
|
|
|
|
|
| Words inside a document | `sixty days written notice` |
|
|
|
|
|
| What a document is about | `cancel the supplier partnership` |
|
2026-10-12 21:22:11 +02:00
|
|
|
| What a piece of code does | `retry failed requests with exponential backoff` |
|
|
|
|
|
| An exact code symbol | `refreshAccessToken` |
|
2026-10-12 20:04:20 +02:00
|
|
|
| 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 |
|
2026-10-12 15:45:57 +02:00
|
|
|
|
2026-10-12 20:04:20 +02:00
|
|
|
**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.
|
2026-10-12 19:16:23 +02:00
|
|
|
|
2026-10-12 20:04:20 +02:00
|
|
|
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.
|
2026-10-12 17:26:14 +02:00
|
|
|
|
2026-10-12 21:22:11 +02:00
|
|
|
### 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](docs/CODE-SEARCH.md) for
|
|
|
|
|
details and agent integration.
|
|
|
|
|
|
2026-10-12 20:04:20 +02:00
|
|
|
## A little less searching. A little more finding.
|
2026-10-12 19:57:34 +02:00
|
|
|
|
2026-10-12 20:04:20 +02:00
|
|
|
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.
|
2026-10-12 19:57:34 +02:00
|
|
|
|
2026-10-12 20:04:20 +02:00
|
|
|

|
2026-10-12 19:57:34 +02:00
|
|
|
|
2026-10-12 20:04:20 +02:00
|
|
|
Light and dark themes follow your system preference. Keyboard navigation,
|
|
|
|
|
short transitions and reduced-motion support keep the interface familiar
|
2026-10-13 10:12:25 +02:00
|
|
|
and comfortable. In **Settings → Appearance**, choose a solid, glass or
|
|
|
|
|
frosted-glass window background and adjust its tint. 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.
|
2026-10-12 19:57:34 +02:00
|
|
|
|
2026-10-12 20:04:20 +02:00
|
|
|

|
2026-10-12 19:57:34 +02:00
|
|
|
|
2026-10-12 20:04:20 +02:00
|
|
|
*“mountains reflected in calm water” searches the pictures themselves,
|
|
|
|
|
so a useful filename isn't required.*
|
2026-10-12 19:57:34 +02:00
|
|
|
|
2026-10-12 20:04:20 +02:00
|
|
|
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.
|
2026-10-12 19:57:34 +02:00
|
|
|
|
2026-10-12 20:04:20 +02:00
|
|
|
## Get searchi
|
2026-10-12 19:57:34 +02:00
|
|
|
|
2026-10-13 11:20:23 +02:00
|
|
|
**The first Windows x64 version is available.**
|
2026-10-12 19:57:34 +02:00
|
|
|
|
2026-10-13 11:20:23 +02:00
|
|
|
- [Download the Windows installer](https://tea.karlcom.de/karl/searchi/releases/download/v0.1.0/searchi_0.1.0_x64-setup.exe) — about 99 MB.
|
|
|
|
|
- [Checksums](https://tea.karlcom.de/karl/searchi/releases/download/v0.1.0/SHA256SUMS.txt) · [Release notes](https://tea.karlcom.de/karl/searchi/releases/tag/v0.1.0).
|
|
|
|
|
|
|
|
|
|
The installer creates a launcher and sets up WebView2 if needed. This initial
|
|
|
|
|
release is unsigned. macOS and Linux packages follow; source build instructions
|
|
|
|
|
are available now. You can also let your local AI agent handle setup.
|
2026-10-12 21:28:35 +02:00
|
|
|
|
|
|
|
|
### Install with your agent — copy and paste
|
|
|
|
|
|
|
|
|
|
Paste this into an agent that can run commands on your computer:
|
|
|
|
|
|
|
|
|
|
```text
|
|
|
|
|
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
|
2026-10-13 11:20:23 +02:00
|
|
|
release from the README or releases page, including the initial Windows release,
|
|
|
|
|
verifying its published checksums. Otherwise,
|
2026-10-12 21:28:35 +02:00
|
|
|
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.
|
|
|
|
|
|
|
|
|
|
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.
|
|
|
|
|
|
|
|
|
|
Launch searchi and check that it actually opens and its local search model is
|
|
|
|
|
ready. Create a normal launcher or shortcut so I can open it again. 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.
|
|
|
|
|
|
|
|
|
|
Let me choose which folders to index. Keep search local and optional cloud
|
|
|
|
|
summaries disabled. Finish by showing me how to add a folder and try a filename
|
|
|
|
|
search followed by a search in my own words.
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
Your agent needs internet access and permission to install software locally.
|
2026-10-13 11:20:23 +02:00
|
|
|
Windows x64 setup can use the published installer; other platforms currently
|
|
|
|
|
build from source. The local search model downloads approximately **865 MB**
|
|
|
|
|
once, and cached assets are reused. Your agent should report any platform
|
|
|
|
|
limitation it encounters.
|
2026-10-12 21:28:35 +02:00
|
|
|
|
|
|
|
|
Prefer to set it up yourself? See the
|
|
|
|
|
[build and launch instructions](docs/BUILDING.md).
|
2026-10-12 19:57:34 +02:00
|
|
|
|
2026-10-12 20:04:20 +02:00
|
|
|
### Your first search
|
2026-10-12 19:57:34 +02:00
|
|
|
|
2026-10-12 20:04:20 +02:00
|
|
|
Once searchi is running:
|
2026-10-12 17:26:14 +02:00
|
|
|
|
2026-10-12 20:04:20 +02:00
|
|
|
1. Choose **Add folder**, browse to the folder you want to search, then choose
|
|
|
|
|
**Index folder**.
|
|
|
|
|
2. Start with a filename or words you remember. These searches become
|
|
|
|
|
available as files are indexed.
|
2026-10-13 09:27:40 +02:00
|
|
|
3. Let the local search model prepare in the background. First setup downloads
|
|
|
|
|
approximately **865 MB** and needs an internet connection. Document and code
|
|
|
|
|
search by meaning can begin once the smaller text model and text index are
|
|
|
|
|
ready, while the larger media model continues downloading. The app shows
|
|
|
|
|
progress and keeps text search available if media setup needs a retry.
|
2026-10-12 20:04:20 +02:00
|
|
|
4. Describe what you're looking for, select a result and inspect the preview.
|
|
|
|
|
Press **Enter** to open the selected file in its usual application.
|
2026-10-12 17:26:14 +02:00
|
|
|
|
2026-10-12 20:04:20 +02:00
|
|
|
How quickly a folder becomes searchable depends on its size and contents.
|
|
|
|
|
The desktop keeps its search model warm for subsequent searches.
|
2026-10-13 06:54:04 +02:00
|
|
|
searchi watches your chosen folders and updates search in the background as
|
|
|
|
|
files change. You can also use **Reindex** to check a folder again, for example
|
|
|
|
|
after reconnecting an external drive.
|
2026-10-12 17:26:14 +02:00
|
|
|
|
2026-10-12 22:03:16 +02:00
|
|
|
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.
|
|
|
|
|
|
2026-10-12 20:04:20 +02:00
|
|
|
## Private by design
|
2026-10-12 15:45:57 +02:00
|
|
|
|
2026-10-12 20:28:38 +02:00
|
|
|
You choose the folders to index. By default, file contents, previews and search
|
|
|
|
|
processing stay local. Ordinary searches aren't 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.
|
2026-10-12 15:45:57 +02:00
|
|
|
|
2026-10-12 20:04:20 +02:00
|
|
|
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.
|
2026-10-12 19:16:23 +02:00
|
|
|
|
2026-10-12 20:04:20 +02:00
|
|
|
## Documents and media
|
2026-10-12 19:16:23 +02:00
|
|
|
|
2026-10-12 20:04:20 +02:00
|
|
|
| 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 |
|
2026-10-12 19:16:23 +02:00
|
|
|
|
2026-10-12 20:04:20 +02:00
|
|
|
**Media search is experimental.** Image, audio and video search are implemented,
|
|
|
|
|
but relevance still needs improvement. Spoken topics can be missed, music
|
|
|
|
|
matches can be too broad, and video sampling can miss a brief scene. Media
|
|
|
|
|
timestamps identify approximate segments, rather than an exact spoken word.
|
|
|
|
|
Playback also depends on the formats your system supports; you can open a
|
|
|
|
|
file in its usual player if the preview cannot play it.
|
2026-10-12 19:16:23 +02:00
|
|
|
|
2026-10-12 20:04:20 +02:00
|
|
|
## Fast should feel fast
|
2026-10-12 19:16:23 +02:00
|
|
|
|
2026-10-12 20:04:20 +02:00
|
|
|
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.
|
2026-10-12 19:16:23 +02:00
|
|
|
|
2026-10-12 20:04:20 +02:00
|
|
|
<details>
|
|
|
|
|
<summary>See the optional performance view</summary>
|
2026-10-12 19:16:23 +02:00
|
|
|
|
2026-10-12 20:04:20 +02:00
|
|
|

|
2026-10-12 19:16:23 +02:00
|
|
|
|
2026-10-12 20:04:20 +02:00
|
|
|
</details>
|
2026-10-12 19:16:23 +02:00
|
|
|
|
2026-10-12 20:28:38 +02:00
|
|
|
## 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](docs/AGENT-INTEGRATION.md).
|
|
|
|
|
Your agent receives the returned excerpts; cloud agents handle them according
|
|
|
|
|
to that client's configuration.
|
|
|
|
|
|
|
|
|
|
## 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](docs/AI-ANSWERS.md).
|
|
|
|
|
|
2026-10-12 20:04:20 +02:00
|
|
|
## Help shape searchi
|
2026-10-12 15:45:57 +02:00
|
|
|
|
2026-10-12 20:04:20 +02:00
|
|
|
Found a problem, or searched for something that should have been easy to find?
|
|
|
|
|
[Report it or suggest an improvement](https://tea.karlcom.de/karl/searchi/issues).
|
|
|
|
|
Describe what you expected and what happened; use made-up examples if your
|
|
|
|
|
files contain private information.
|
2026-10-12 17:26:14 +02:00
|
|
|
|
2026-10-12 20:04:20 +02:00
|
|
|
For contributors: [building searchi and the headless Linux CLI](docs/BUILDING.md)
|
|
|
|
|
· [roadmap](docs/ROADMAP.md) · [search-quality evaluation](docs/MEDIA-QUALITY.md).
|
|
|
|
|
|
|
|
|
|
The screenshots show the working interface searching real example files with
|
|
|
|
|
the local Google model. They are browser captures of the app interface;
|
|
|
|
|
operating-system window borders are omitted. [Photo credits](fixtures/media/README.md).
|
|
|
|
|
|
|
|
|
|
Made by Karl. Open source under the [MIT license](LICENSE).
|