nashsu/llm_wiki

▲ 181 stars today★ 19,526⑂ 2,207

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。

19,526Star
2,207Fork
83Watch
268Issue
TypeScriptLanguage
NOASSERTIONLicense
Created 2026-04-08 · last push 2026-08-25 · repository size 40354 KB · default branch main

README

LLM Wiki

https://github.com/nashsu/llm_wiki/blob/HEAD/LLM Wiki Logo

A personal knowledge base that builds itself.
LLM reads your documents, builds a structured wiki, and keeps it current.

What is this?FeaturesTech StackInstallationCreditsLicense

English | 中文 | 日本語 | 한국어

---

https://github.com/nashsu/llm_wiki/blob/HEAD/Overview

Features

What is this?

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. Knowledge is compiled once and kept current, not re-derived on every query.

This project is based on Karpathy's LLM Wiki pattern — a methodology for building personal knowledge bases using LLMs. llm_wiki is created and maintained by nash_su, who implemented the core ideas as a full desktop application with significant enhancements.

https://github.com/nashsu/llm_wiki/blob/HEAD/LLM Wiki Architecture

Credits

The foundational methodology comes from Andrej Karpathy's llm-wiki.md, which describes the pattern of using LLMs to incrementally build and maintain a personal wiki. The original document is an abstract design pattern; this project is a concrete implementation with substantial extensions.

What We Kept from the Original

The core architecture follows Karpathy's design faithfully:

https://github.com/nashsu/llm_wiki/blob/HEAD/Obsidian Compatibility

What We Changed & Added

1. From CLI to Desktop Application

The original is an abstract pattern document designed to be copy-pasted to an LLM agent. We built it into a full cross-platform desktop application with:

2. Purpose.md — The Wiki's Soul

The original has Schema (how the wiki works) but no formal place for why the wiki exists. We added purpose.md:

3. Two-Step Chain-of-Thought Ingest

The original describes a single-step ingest where the LLM reads and writes simultaneously. We split it into two sequential LLM calls for significantly better quality:

Step 1 (Analysis): LLM reads source → structured analysis
  • Key entities, concepts, arguments
  • Connections to existing wiki content
  • Contradictions & tensions with existing knowledge
  • Recommendations for wiki structure
Step 2 (Generation): LLM takes analysis → generates wiki files
  • Source summary with frontmatter (type, title, sources[])
  • Entity pages, concept pages with cross-references
  • Updated index.md, log.md, overview.md
  • Review items for human judgment
  • Search queries for Deep Research

Additional ingest enhancements beyond the original:

4. Knowledge Graph with Relevance Model

https://github.com/nashsu/llm_wiki/blob/HEAD/Knowledge Graph

The original mentions [[wikilinks]] for cross-references but has no graph analysis. We built a full knowledge graph visualization and relevance engine:

4-Signal Relevance Model: | Signal | Weight | Description | |--------|--------|-------------| | Direct link | ×3.0 | Pages linked via [[wikilinks]] | | Source overlap | ×4.0 | Pages sharing the same raw source (via frontmatter sources[]) | | Adamic-Adar | ×1.5 | Pages sharing common neighbors (weighted by neighbor degree) | | Type affinity | ×1.0 | Bonus for same page type (entity↔entity, concept↔concept) |

Graph Visualization (sigma.js + graphology + ForceAtlas2):

5. Louvain Community Detection

Not in the original. Automatic discovery of knowledge clusters using the Louvain algorithm (graphology-communities-louvain):

https://github.com/nashsu/llm_wiki/blob/HEAD/Louvain Community Detection

6. Graph Insights — Surprising Connections & Knowledge Gaps

Not in the original. The system automatically analyzes graph structure to surface actionable insights:

Surprising Connections:

Knowledge Gaps: Interactive:

https://github.com/nashsu/llm_wiki/blob/HEAD/Graph Insights

7. Optimized Query Retrieval Pipeline

The original describes a simple query where the LLM reads relevant pages. We built a multi-phase retrieval pipeline with optional vector search and budget control:

Phase 1: Tokenized Search
  • English: word splitting + stop word removal
  • Chinese: CJK bigram tokenization (每个 → [每个, 个…])
  • Title match bonus (+10 score)
  • Searches both wiki/ and raw/sources/
Phase 1.5: Vector Semantic Search (optional)
  • Embedding via any OpenAI-compatible /v1/embeddings endpoint
  • Stored in LanceDB (Rust backend) for fast ANN retrieval
  • Cosine similarity finds semantically related pages even without keyword overlap
  • Results merged into search: boosts existing matches + adds new discoveries
Phase 2: Graph Expansion
  • Top search results used as seed nodes
  • 4-signal relevance model finds related pages
  • 2-hop traversal with decay for deeper connections
Phase 3: Budget Control
  • Configurable context window: 4K → 1M tokens
  • Proportional allocation: 60% wiki pages, 20% chat history, 5% index, 15% system
  • Pages prioritized by combined search + graph relevance score
Phase 4: Context Assembly
  • Numbered pages with full content (not just summaries)
  • System prompt includes: purpose.md, language rules, citation format, index.md
  • LLM instructed to cite pages by number: [1], [2], etc.

Vector Search is fully optional — disabled by default, enabled in Settings with independent endpoint, API key, and model configuration. When disabled, the pipeline falls back to tokenized search + graph expansion. Benchmark: overall recall improved from 58.2% to 71.4% with vector search enabled.

8. Multi-Conversation Chat with Persistence

The original has a single query interface. We built full multi-conversation support:

9. Rust Backend Chat Agent & Skills

Not in the original. Chat now runs through a Rust backend Agent runtime rather than a browser-only TypeScript loop:

10. Thinking / Reasoning Display

Not in the original. For LLMs that emit `` blocks (DeepSeek, QwQ, etc.):

11. Markdown Rendering: KaTeX Math & Mermaid Diagrams

Not in the original. Rich Markdown rendering across chat and preview:

12. Review System (Async Human-in-the-Loop)

The original suggests staying involved during ingest. We added an asynchronous review queue:

13. Deep Research

https://github.com/nashsu/llm_wiki/blob/HEAD/Deep Research

Not in the original. When the LLM identifies knowledge gaps:

14. Browser Extension (Web Clipper)

https://github.com/nashsu/llm_wiki/blob/HEAD/Chrome Extension Web Clipper

The original mentions Obsidian Web Clipper. We built a dedicated Chrome Extension (Manifest V3):

15. Multi-format Document Support

The original focuses on text/markdown. We support structured extraction preserving document semantics:

| Format | Method | |--------|--------| | PDF | Built-in pdf-extract (Rust) with file caching; optional MinerU Cloud, Local API, or Pipeline parsing for complex layouts | | DOCX | docx-rs — headings, bold/italic, lists, tables → structured Markdown | | PPTX | ZIP + XML — slide-by-slide extraction with heading/list structure | | XLSX/XLS/ODS | calamine — proper cell types, multi-sheet support, Markdown tables | | EPUB/MOBI | Electronic book metadata, chapters, and body text → ingest-ready content | | Images | Native preview (png, jpg, gif, webp, svg, etc.) | | Video/Audio | Built-in player | | Web clips | Readability.js + Turndown.js → clean Markdown |

MinerU is optional. Use MinerU Cloud, an official Local API endpoint, or Local Pipeline mode for complex PDFs. Local modes keep processing on your machine, and extracted images are stored in the project-managed wiki/media directory. If MinerU fails, LLM Wiki falls back to the built-in parser.

16. File Deletion with Cascade Cleanup

The original has no deletion mechanism. We added intelligent cascade deletion:

17. Configurable Context Window

Not in the original. Users can configure how much context the LLM receives:

18. Cross-Platform Compatibility

The original is platform-agnostic (abstract pattern). We handle concrete cross-platform concerns:

19. Other Additions

More Today's Trending projects

1

debpalash / VoiceStudio

Python★ 29,840⑂ 3,606▲ 2,776 stars
2

JustVugg / colibri

C★ 32,609⑂ 3,430▲ 2,173 stars
3

bilawalsidhu / gods-eye-view

JavaScript★ 33,945⑂ 6,772▲ 1,831 stars
4

alibaba / open-code-review

Go★ 26,516⑂ 1,906▲ 1,571 stars
5

ever-co / ever-gauzy

TypeScript★ 6,164⑂ 994▲ 1,130 stars
6

pacifio / atlas

Rust★ 4,440⑂ 274▲ 1,091 stars