Skip to main content
KiwiFS provides three tiers of search, from zero-dependency grep to semantic vector similarity, plus a hybrid mode that fuses lexical and vector ranks. You can start simple and scale up without changing your data or workflow.

Tier 1: grep

Zero dependencies. Exact string matching. Works everywhere.
Best for small knowledge bases or environments where SQLite isn’t available.

Tier 2: SQLite FTS5 (default)

BM25-ranked full-text search powered by SQLite FTS5. Supports boolean operators, phrase matching, and path prefix filtering.
This is the default. KiwiFS builds and maintains a FTS5 index automatically. Searches are fast even with thousands of pages.

Query syntax

KiwiFS also offers trust-ranked search at /api/kiwi/search/verified. Pages with status: verified or source-of-truth: true in their frontmatter are boosted in results. Semantic similarity search using pluggable embedder providers and vector stores. Enable it in .kiwi/config.toml:

Supported embedders

Supported vector stores

When both FTS and a vector index exist, mode=hybrid fuses the two ranked lists with Reciprocal Rank Fusion. If embeddings are not configured, the same request degrades to lexical-only.
Results include engines (fts, semantic), per-engine ranks, and the fused RRF score. Tune fusion with rrf_k (default 60) and boost.

Context packs

POST /api/kiwi/brief retrieves pages with hybrid search, extracts sections, and packs them into a token budget. It never summarizes — overflow is listed in a dropped manifest so you can see what was cut.
Use this as the first retrieval step for an agent instead of dumping whole files.

Retrieval evaluation

Score FTS, semantic, and hybrid engines against a golden set in .kiwi/eval/:
Or POST /api/kiwi/eval with { "set": "leave-one-out" } or an inline queries array. Metrics include hit rate and nDCG.

API endpoints

MCP tools

See the Search API reference for detailed endpoint documentation.
Last modified on August 20, 2026