krakiun/llmwiki
krakiun/llmwiki (also known from the kurdin fork as kurdin/llmwiki-rust) is a single Rust binary that replaces index.md navigation with BM25 + semantic + hybrid search via MCP. It is the most complete Rust implementation of Karpathy’s LLM Wiki pattern.
Features (confidence: high)
- Zero-token search: LLM uses
search()tool instead of loadingindex.mdinto context - Three search modes: keyword (Tantivy BM25), semantic (fastembed + usearch), hybrid (RRF fusion)
- MCP server with 5 tools: search, read, write, reindex, list (plus list_wikis, switch_wiki, session_start, session_end in the krakiun fork)
- Multi-wiki registry: Manage multiple wikis from
~/.llmwiki/wikis.json - Graph search: Expand results via wiki link graph with hops/backlinks/similarity
- Offline: No API keys, no cloud — all embeddings are local
- Incremental indexing: Only reindexes changed files via content hash
Scaling Properties (confidence: high)
llmwiki maintains constant token cost per query regardless of wiki size — the key differentiator from the basic Karpathy pattern where index.md grows with page count. Tested up to 10,000 pages.
Quick Start
cargo install llmwiki
cd my-wiki && llmwiki init && llmwiki index && llmwiki serve
Implications
llmwiki solves the scaling problem that limits basic Karpathy wikis to ~100 pages. By replacing index.md with a search index, it removes the context window bottleneck entirely — the LLM never loads the full page list. This is the most architecturally clean solution to the scaling problem in the ecosystem.
Related
- llm-wiki — The pattern this implements
- geronimo-iia-llm-wiki — Another Rust wiki engine with 23 MCP tools
- qmd — Tobias Lütke’s hybrid search for markdown (similar approach, different language)
- nashsu-llm-wiki — First major implementation, also has MCP
Sources
- raw/articles/krakiun-llmwiki-rust.md