We open-sourced a graph-free multi-hop RAG framework: Deterministic, 0 LLM calls, and matches flat search recall (Apache-2.0)
We just open-sourced WikiMoth - a graph-free, zero-LLM multi-hop memory tool that turns your plain markdown links into a deterministic retrieval path.
The problem we kept running into: almost every "memory for AI" tool today asks you to trust a black box. Either an LLM decides what to recall (non-reproducible), or it's a vector database you can't read.
WikiMoth walks the [[wikilink]] markdown notes you authored in plain local code instead. No LLM in the retrieval loop, no vector DB, no GPU. Same question -> same note-chain -> same answer. It ships an MCP server so an agent can call recall() itself, and the reader is fully swappable.
Apache-2.0, pure Python, stdlib core with zero external deps. The edge is structural: getting multi-hop + full determinism on raw markdown without an LLM deciding what you can see. Repo in the comments.
| Feature | WikiMoth | BM25 | Vector RAG | claude-mem | LLM Wiki (Karpathy) |
|---|---|---|---|---|---|
| Connects the dots (multi-hop over authored [[links]]) | ✅ | ❌ | ❌ | ❌ | ✅ (agentic) |
| Deterministic retrieval (same query → same result) | ✅ | ✅ | ✅ | ❌ | ❌ |
| No LLM call to retrieve | ✅ | ✅ | ✅ | ~ | ❌ |
| Auditable note-chain (which notes produced the answer) | ✅ | ~ | ❌ | ❌ | ~ |
| Direct-lookup recall@8 (real vault) | 1.00 | 1.00 | 1.00 | ~ | ~ |
| No GPU / no vector DB / no index build | ✅ | ✅ | ❌ | ~ | ✅ |
| Plain-markdown store (open in any editor) | ✅ | ~ | ❌ | ❌ | ✅ |
| Deterministic, API-free auto-capture | ✅ | ❌ | ❌ | ❌ | ❌ |
| Hygiene without an LLM (conflicts · dupes · stale) | ✅ | ❌ | ❌ | ~ | ❌ |
Would love feedback from anyone running local agent memory or looking for deterministic RAG alternatives!