karl a90df15503
Core CI / core (ubuntu-latest) (push) Failing after 1m27s
Core CI / core (macos-latest) (push) Canceled after 0s
Core CI / core (windows-latest) (push) Canceled after 0s
Core CI / desktop (ubuntu-latest) (push) Successful in 3m36s
Core CI / desktop (macos-latest) (push) Canceled after 0s
Core CI / desktop (windows-latest) (push) Canceled after 0s
brand: add native app icon formats and record visual QA gate
2026-10-12 17:34:53 +02:00

searchi

Find what matters. Locally.

Local desktop search for Windows, macOS and Linux. Under active development; production readiness is tracked in the roadmap.

Architecture

crates/searchi-core owns persistent indexing and retrieval. crates/searchi-cli provides a headless interface. apps/desktop hosts the Tauri desktop app. Search combines indexed filenames, SQLite FTS5 keyword retrieval, and real Google EmbeddingGemma 2 semantic search with a persistent HNSW index. PDF pages and DOCX paragraphs retain source locations. Image, audio, and video search remain planned; the provisioned media projector is not yet used. Granola is not required. The desktop UI is primary; the CLI builds separately without GUI dependencies.

Production uses supported hardware acceleration with CPU fallback. All testing in the Windows development VM uses CPU only. Indexed content stays local. Treat the index as sensitive: it contains extracted document text.

The desktop automatically downloads and verifies missing Google artifacts (approximately 865 MB), reuses its local cache, and warms the query session in the background. Development builds must build and stage the native worker first; production installers and signing remain release gates. First-query performance is measured separately from repeated-query performance.

Copy-and-paste setup prompt

Paste this into your coding agent:

Set up Searchi from https://tea.karlcom.de/karl/searchi.git in a new searchi
directory, or reuse the existing checkout without overwriting local changes.
Read AGENTS.md, SKILLS.md, docs/ROADMAP.md, and apps/desktop/README.md first.
Inspect the OS and installed tools. Install missing supported prerequisites:
Git, stable Rust, Node.js 24+, Python 3, CMake, native C/C++ tools and Tauri's
platform dependencies. Preserve existing credentials and never print secrets.
From the repository root, build and stage the pinned Google runtime:
python tools/embeddinggemma2/build_runtime.py --backend cpu --jobs 2
python tools/embeddinggemma2/stage_runtime.py --backend cpu
Run cargo test --workspace --locked, cargo fmt --all -- --check, and
cargo clippy --workspace --all-targets --locked -- -D warnings.
Run cargo test --manifest-path apps/desktop/src-tauri/Cargo.toml --locked.
In apps/desktop run npm ci, npm test, npm run format:check, and npm run build.
For Karl's Windows VM set SEARCHI_FORCE_CPU=1 and
WEBVIEW2_ADDITIONAL_BROWSER_ARGUMENTS=--disable-gpu before tests or launch.
Launch the real app using npm run tauri dev from apps/desktop. Allow automatic
verified Google model setup; never substitute another model or mock results.
Ask which folders I want indexed; do not index my whole home automatically.
Verify filename and remembered-content searches on my selected files, including
persistence after restart. Report actual checks and blockers. Do not publish a
release or claim production readiness, GPU validation, or untested OS coverage.

This is developer setup, not an installer. See the desktop guide and official Tauri prerequisites. The worker builder also supports auto, metal, vulkan, and cuda; those require platform SDKs and separate hardware validation.

Development

Install stable Rust and the platform's C/C++ build prerequisites. Run:

cargo test --workspace
cargo fmt --all -- --check
cargo clippy --workspace --all-targets -- -D warnings
cargo run -p searchi-cli -- --help

Desktop development instructions live in apps/desktop/README.md. Agent constraints and workflows live in AGENTS.md and SKILLS.md. Use Node.js 24+ for frontend state tests. The approved visual identity and desktop direction live in the brand guide.

For a headless build, run cargo build --release --locked -p searchi-cli. No Node, Tauri, or WebView is needed. Semantic commands additionally need the native worker and Google assets; searchi setup provisions the model cache. Platform and CI details live in the build guide. Native CI builds must pass on all supported systems before release. Cross-platform source support does not imply signed macOS installers can be built on Windows.

Release policy

Do not publish until the roadmap's release gates have evidence. Record benchmark hardware, corpus size, cold/warm state and p95 latency. Signing credentials are supplied through CI secrets, never source control.

Licensed under MIT. Repository author: Karl.

S
Description
Private desktop search for documents, code and media. Google EmbeddingGemma 2, hybrid retrieval and local agent tools. Windows, macOS and Linux; headless CLI.
Readme MIT
41 MiB
0 Stars 1 Watchers 0 Forks
2026-10-14 10:46:19 +00:00
Languages
Rust 61.8%
Python 21.5%
TypeScript 5.7%
C++ 4.7%
JavaScript 2.8%
Other 3.5%