nashsu/llm_wiki
LLM Wiki is a cross-platform desktop application that turns your documents into an organized, interlinked knowledge base — automatically. Instead of traditional RAG (retrieve-and-answer from scratch every time), the LLM incrementally builds and maintains a persistent wiki from your sources。
LLM Wiki – A self‑updating personal knowledge base
What it is – LLM Wiki is a cross‑platform desktop app that turns any collection of documents (PDFs, Office files, e‑books, images, web clips, etc.) into an inter‑linked, searchable wiki. An LLM reads each source, extracts entities and concepts, writes markdown pages with provenance metadata, and continuously keeps the wiki in sync with the underlying files.
Key capabilities
- Two‑step chain‑of‑thought ingest – first the model analyses a source, then it generates wiki pages, guaranteeing source traceability and allowing incremental caching via SHA‑256 hashes.
- Multimodal support – PDFs, Office, EPUB/MOBI, Org‑mode, images and even embedded images are parsed; a vision LLM captions extracted images for image‑aware search.
- Flexible model routing – separate LLMs can be configured for chat and for ingest, with custom providers, headers and streaming output.
- Source‑grounded retrieval – a “Read Sources Only” mode forces answers to be backed by the original imported material.
- Knowledge‑graph engine – a 4‑signal relevance model (direct links, source overlap, Adamic‑Adar, type affinity) drives graph visualisation, Louvain community detection, and automatic insight generation (surprising connections, knowledge gaps, bridge nodes).
- Hybrid search pipeline – tokenised keyword search → optional OpenAI‑compatible vector search (LanceDB) → graph‑based expansion, all with configurable context‑window budgeting.
- Rust backend chat agent – a tool‑using agent can invoke wiki, source, graph, web‑search, file‑generation and shell commands, with a skill system (
SKILL.md) that can be extended via/skill. - Rich UI – three‑column layout (tree, chat, preview), Mermaid diagram rendering, KaTeX math, async review queue, deep‑research web‑search integration, Chrome web‑clipper, and full Obsidian‑compatible markdown vault.
Tech stack
- Frontend – Electron + React (TypeScript) UI, Milkdown editor, sigma.js/graphology for graph visualisation.
- Backend – Rust service (tiny_http) handling chat, ingest queue, vector store (LanceDB) and skill execution.
- LLM integration – any OpenAI‑compatible chat/embedding endpoint; vision LLM for image captioning; optional providers via custom headers.
- Search & indexing – tokenised search with language‑specific tokenisers, optional ANN via LanceDB, graph relevance model.
- Storage – markdown files on disk (Obsidian‑compatible), JSON for chats/review queues, SQLite/LanceDB for embeddings.
Installation (quick start)
- Download the latest release for Windows/macOS/Linux from the GitHub releases page.
- Unzip and run
LLM‑Wiki(the executable launches the Electron UI). - In Settings → Model, add your OpenAI‑compatible API endpoint and key (or configure another provider).
- Create a new project and place raw documents in
project/raw/sources/(or use the built‑in Chrome clipper). - Click Ingest → Start – the app will hash files, run the two‑step analysis/generation chain, and build the wiki.
- Use the Chat pane to ask questions; the system will retrieve relevant pages via the hybrid pipeline and cite them.
Typical workflow
- Add / modify sources → the auto‑watcher queues them for ingest.
- Review any flagged items in the Review panel (human‑in‑the‑loop).
- Explore the knowledge graph, run Deep Research on gaps, and let the agent generate new pages.
- Save valuable chat answers to
wiki/queries/for future reference.
Why it matters – Instead of performing a fresh retrieval‑augmented generation on every query, LLM Wiki builds a persistent, structured knowledge base once and keeps it up‑to‑date. This reduces token usage, improves answer consistency, and gives you a personal, searchable “second brain” that you can navigate, visualise, and extend with custom skills.
Related
- Project
- Project
- Project
- Project
- Project