LLM Wiki 完整教學 2026:1.86 萬顆星的開源桌面知識庫,用 Karpathy 模式把 PDF、網頁自動長成互連 Wiki(比 RAG 更省 token)

LLM Wiki(llm_wiki)是 2026 年最受注目的開源個人知識庫桌面應用,1.86 萬顆星、Tauri + React 打造,實現 Karpathy 提出的 llm-wiki 模式:LLM 讀完你的文件後增量「編譯」成一份可持續維護的互連 Wiki,而不是每次查詢都重新檢索(傳統 RAG)。本文完整教學安裝、設定模型、匯入 PDF/Office/EPUB、MinerU 解析、知識圖譜分析、向量檢索(recall 58.2%→71.4%)、MCP 與 HTTP API,並比較它與 RAG、Obsidian、NotebookLM 的差異與限制。

  • Dennis
  • 10 分鐘閱讀
LLM Wiki 完整教學 2026:1.86 萬顆星的開源桌面知識庫,用 Karpathy 模式把 PDF、網頁自動長成互連 Wiki(比 RAG 更省 token)

LLM Wiki(GitHub:nashsu/llm_wiki)是一套開源桌面知識庫應用,把 Karpathy 提出的 llm-wiki 模式做成可安裝的產品:LLM 讀完你匯入的文件後,會增量「編譯」出一份互相連結、可持續維護的 Wiki,而不是像傳統 RAG 每次提問都重新檢索一遍。專案 2026 年 4 月開源、至今約 1.86 萬顆星,支援 PDF/Office/EPUB/網頁匯入、知識圖譜分析、向量檢索與 MCP 介接,並可直接當成 Obsidian vault 使用。

如果你訂閱了一堆 PDF、把網頁存進書籤、又買了好幾門線上課,卻總覺得「資料很多、知識很少」,那這個專案值得花一個下午研究。它解決的不是「怎麼搜尋」而是更前面一步的問題:怎麼讓你看過的資料,變成一張會自己長大的知識網路。

30 秒結論:LLM Wiki 適合誰

你的情境LLM Wiki 適不適合原因
有大量 PDF/論文/技術文件要長期消化✅ 很適合匯入後自動生成 entity/concept 頁面與交叉連結
想要一個「會自己整理的 Obsidian」✅ 很適合Wiki 目錄本身就是 Obsidian vault,檔案是純 Markdown
只想問文件幾個問題、一次性的⚠️ 不必用 NotebookLM、Claude Projects 更快
想要免設定、不想付 API 費用⚠️ 要考慮需自備 LLM API key(可用 Ollama 本地模型省錢)
需要多人協作、雲端同步❌ 不是它的定位它是 local-first 桌面應用,非 SaaS

為什麼「每次查詢都重新檢索」是 RAG 的成本陷阱

傳統 RAG 的流程是:切 chunk → 存向量庫 → 提問時檢索最相關的片段 → 塞進 context 讓 LLM 回答。這個模式很方便,但有兩個長期成本:

  1. 知識沒有累積:同一份文件被檢索一百次,模型就重新理解一百次。
  2. 跨文件的關聯不會浮現:A 文件與 B 文件之間的矛盾或呼應,系統不會主動告訴你。

LLM Wiki 走的是另一條路——「先編譯、後查詢」:

flowchart LR
    subgraph RAG["傳統 RAG:每次重新檢索"]
        Q1[問題] --> R1[向量檢索片段] --> A1[LLM 拼答案] --> Q1
    end
    subgraph WIKI["LLM Wiki:知識先編譯"]
        S[原始文件<br/>raw/sources] --> I[兩步驟 CoT Ingest] --> W[Wiki 頁面<br/>entities/concepts]
        W --> Q2[問題] --> A2[引用頁面回答 [1][2]]
        W --> G[知識圖譜<br/>找缺洞與意外連結]
        G --> R2[Deep Research 補洞] --> W
    end

用一句話講差別:RAG 是每次考試都重讀一次課本,LLM Wiki 是先做一本自己的筆記,之後只讀筆記。

核心架構:三層結構 + purpose.md

LLM Wiki 忠實保留了 Karpathy 原始設計的三層架構,但補上了原版沒有的「目的層」:

層級目錄角色誰負責維護
Raw Sourcesraw/sources/不可變的原始文件你(人)
Wikiwiki/LLM 生成的知識頁面LLM
Schemaschema.mdWiki 的結構規則、頁面型別你(人)
Purposepurpose.md這個 Wiki 為什麼存在、要回答什麼問題你(人)

purpose.md 是這個專案相對原版最大的概念補強:它定義目標、關鍵問題、研究範圍與演進中的論點,LLM 在每次 ingest 與查詢時都會讀它當作上下文。用作者的話說,schema 是「怎麼運作」,purpose 是「往哪裡走」。

安裝:三種方式

方式 1:下載預編譯版本(最省事)

Releases 頁面 下載,目前最新版是 v0.6.11(2026-08-25 發布):

平台檔案
macOS(Apple Silicon)LLM.Wiki_0.6.11_aarch64.dmg
WindowsLLM.Wiki_0.6.11_x64-setup.exe / .msi
Linux(Debian/Ubuntu)LLM.Wiki_0.6.11_amd64.deb
Linux(通用)LLM.Wiki_0.6.11_amd64.AppImage
Linux(RPM)LLM.Wiki-0.6.11-1.x86_64.rpm

方式 2:從原始碼建置

# 前置需求:Node.js 20+、Rust 1.88+、protoc
#   macOS:   brew install protobuf
#   Linux:   sudo apt install protobuf-compiler
#   Windows: choco install protoc

git clone https://github.com/nashsu/llm_wiki.git
cd llm_wiki
npm install
npm --prefix mcp-server ci && npm run mcp:build   # MCP server 會被包成 Tauri 資源
npm run tauri dev      # 開發模式
npm run tauri build    # 產生正式安裝檔

方式 3:Chrome 網頁剪輯擴充

  1. 打開 chrome://extensions
  2. 啟用「開發人員模式」
  3. 點「載入未封裝項目」,選擇 repo 裡的 extension/ 目錄
  4. Alt+Shift+L(macOS:Command+Shift+L)剪下當前頁面,內容會自動進 ingest 流程

快速上手 8 步

  1. 啟動 App → 建立新專案(可選 Research/Reading/Personal Growth/Business/General 範本)
  2. Settings 設定 LLM provider(API key + 模型),支援 OpenAI、Anthropic、Google、Ollama 與自訂端點
  3. 可選:設定 Web Search provider(Tavily/SerpApi/SearXNG)與來源資料夾自動監看
  4. Sources 匯入文件(PDF、DOCX、MD、網頁等)
  5. Activity Panel——LLM 會自動逐檔建立 wiki 頁面(進度條、可取消、失敗自動重試 3 次)
  6. Chat 查詢你的知識庫,回答會標註引用了哪幾頁([1][2]
  7. Knowledge Graph 看連結關係與知識叢集
  8. 定期跑 Lint 維護 Wiki 健康度,並處理 Review 佇列

兩步驟 CoT Ingest:品質關鍵在這裡

原版設計是「LLM 邊讀邊寫」的單步 ingest。這個專案把它拆成兩次 LLM 呼叫,換來明顯更好的產出品質:

Step 1(分析):LLM 讀來源 → 結構化分析
  - 關鍵實體、概念、論點
  - 與既有 wiki 內容的連結
  - 與既有知識的矛盾與張力
  - 對 wiki 結構的建議

Step 2(生成):LLM 拿分析結果 → 生成 wiki 檔案
  - 來源摘要頁(含 frontmatter:type、title、sources[])
  - 實體頁、概念頁與交叉引用
  - 更新 index.md、log.md、overview.md
  - 產生需要人類判斷的 Review 項目
  - 產生 Deep Research 用的搜尋查詢

另外還加了幾個實務細節:SHA256 增量快取(檔案沒變就跳過,直接省 token)、持久化 ingest 佇列(序列處理避免並行呼叫、當機可復原)、資料夾遞迴匯入(目錄結構會當成分類提示,例如 papers > energy 會幫助 LLM 判斷主題)、以及來源資料夾自動監看(在 App 外新增/修改/刪除檔案也會被同步處理)。

支援的文件格式

格式解析方式
PDF內建 pdf-extract(Rust);複雜版面可選 MinerU 雲端/Local API/Local Pipeline
DOCXdocx-rs — 標題、粗斜體、清單、表格轉結構化 Markdown
PPTXZIP + XML — 逐頁抽取標題與清單結構
XLSX / XLS / ODScalamine — 正確儲存格型別、多工作表、Markdown 表格
EPUB / MOBI電子書 metadata、章節與本文抽取
圖片/影音原生預覽與內建播放器
網頁Readability.js + Turndown.js 轉乾淨 Markdown

PDF 的圖片也會被抽出來,用視覺 LLM 產生寫實的說明文字(caption),並在搜尋結果中以 lightbox 呈現、可一鍵跳回原始檔。MinerU 是可選的,失敗時會自動退回內建解析器。

知識圖譜:4 訊號關聯模型 + Louvain 分群

Wiki 頁面之間用 [[wikilink]] 串連,這個專案再把它變成可分析的圖。關聯強度由四個訊號加權計算:

訊號權重說明
直接連結×3.0兩頁之間有 [[wikilink]]
來源重疊×4.0兩頁共享同一份原始來源(frontmatter 的 sources[]
Adamic-Adar×1.5共同鄰居越多越相關(依鄰居度數加權)
型別親和×1.0同型別加分(entity↔entity、concept↔concept)

在此之上有兩個自動分析功能:

  • Louvain 社群偵測:自動找出「哪些頁面天然成群」,每群給一個凝聚度(cohesion,實際邊數/可能邊數),低於 0.15 的稀疏社群會被標記警告。
  • Graph Insights:找出「意外連結」(跨社群、跨型別、邊緣↔樞紐)與「知識缺洞」(孤立頁、稀疏社群、連接三個以上叢集的橋接節點),而且每個缺洞旁邊都有 Deep Research 按鈕,可以直接叫 LLM 去補資料並自動 ingest 回 Wiki。

檢索管線:四階段,可選向量搜尋

回答問題時的檢索不是單純關鍵字比對,而是四階段流程:

  1. Tokenized Search:英文斷詞去停用詞;中文用 CJK bigram(例如「每個」→「每個, 個…」);標題命中加 10 分。
  2. 向量語意搜尋(選用):任何 OpenAI 相容的 /v1/embeddings 端點,向量存進 LanceDB(Rust 內嵌),用餘弦相似度補上「關鍵字對不上但語意相關」的頁面。官方基準:開啟後整體 recall 由 58.2% 提升到 71.4%。
  3. 圖擴展:以搜尋結果為種子節點,用 4 訊號模型做 2-hop 擴展(帶衰減)。
  4. 預算控制與上下文組裝:context 可在 4K 到 1M token 間調整,比例為 60% wiki 頁面、20% 對話歷史、5% index、15% 系統提示;頁面按相關度排序,並要求 LLM 以 [1][2] 標註引用頁碼。

給 AI Agent 用:HTTP API、MCP 與一鍵技能

這是我認為對開發者最有價值的部分:它不只是 GUI 玩具,而是能接進 agent 工作流的知識後端。

本機 HTTP API 跑在 127.0.0.1:19828(僅本機、token 保護),常用端點:

# 健康檢查(免驗證)
curl http://127.0.0.1:19828/api/v1/health

# 混合檢索(關鍵字 + 向量)
curl -X POST http://127.0.0.1:19828/api/v1/projects/<PROJECT_ID>/search \
  -H "Authorization: Bearer <TOKEN>" \
  -H "Content-Type: application/json" \
  -d '{"query":"蒸餾攻擊 防禦"}'

# 讀取未處理的 Review 項目
curl "http://127.0.0.1:19828/api/v1/projects/<PROJECT_ID>/reviews?status=unresolved" \
  -H "Authorization: Bearer <TOKEN>"

# 取得 wikilink 圖
curl http://127.0.0.1:19828/api/v1/projects/<PROJECT_ID>/graph \
  -H "Authorization: Bearer <TOKEN>"

同一組功能也包成 MCP server(mcp-server/,用 npm run mcp:build 建置後,在 Settings → API + MCP 複製設定)。此外官方提供現成的 agent skill,Claude Code/Codex 一行指令就能裝:

npx skills add https://github.com/nashsu/llm_wiki_skill.git --skill llm-wiki

裝好之後 agent 就能回答「我的 LLM Wiki 對 X 有什麼說法」「搜尋我的知識庫 Y」「顯示 wiki 圖中 Z 節點的鄰居」,而且是唯讀、會附上 wiki 頁面路徑讓你回 App 驗證。這個 skill 刻意不會在一般「搜尋我的筆記」時被觸發,只有當你明確提到 LLM Wiki/my wiki/知識庫時才會啟動。

專案目錄長什麼樣

my-wiki/
├── purpose.md              # 目標、關鍵問題、研究範圍
├── schema.md               # Wiki 結構規則、頁面型別
├── raw/
│   ├── sources/            # 上傳的文件(不可變)
│   └── assets/             # 本機圖片
├── wiki/
│   ├── index.md            # 內容目錄(LLM 導覽入口)
│   ├── log.md              # 操作歷史(可解析格式)
│   ├── overview.md         # 全域摘要(每次 ingest 自動更新)
│   ├── entities/           # 人物、組織、產品
│   ├── concepts/           # 理論、方法、技術
│   ├── sources/            # 來源摘要
│   ├── queries/            # 存下來的問答與研究
│   └── synthesis/          # 跨來源分析
├── .obsidian/              # Obsidian vault 設定(自動產生)
└── .llm-wiki/              # App 設定、對話歷史、Review 項目

重點是:這是一堆純 Markdown 檔案。你可以用 Obsidian 直接打開、用 git 版控、丟進任何 Markdown 工具鏈;就算哪天不想用這個 App,知識也不會被鎖在資料庫裡。這對長期知識資產來說是關鍵設計。

和 RAG、Obsidian、NotebookLM 怎麼選

工具核心機制最適合主要限制
LLM Wiki知識先編譯成持久 Wiki + 圖譜 + 選用向量搜尋長期累積、要跨文件找關聯、要給 agent 用Local-first、需自備 LLM key、首次 ingest 成本高
傳統 RAG(向量庫)每次查詢即時檢索 chunk快速上線的問答系統知識不累積、跨文件關聯不浮現
Obsidian人手動建立雙向連結手寫筆記、個人工作流整理工作全靠自己,量大會崩
NotebookLM針對單一 notebook 做 grounded 問答一次性研究、報告生成不會自動維護長期知識結構,跨 notebook 斷裂

如果已有 Obsidian 習慣,最順的用法是「Obsidian 負責人寫、LLM Wiki 負責維護」——這也正是原版設計的核心分工:Human curates, LLM maintains.

實務建議與注意事項

  • 建議開向量搜尋:官方基準顯示 recall 從 58.2% 提升到 71.4%,對中文語意檢索幫助尤其明顯。向量端點與 chat 端點可以分開設定,用便宜的小模型做 embedding 即可。
  • 善用 purpose.md:不要跳過它。它在每次 ingest 時提供方向,能明顯改善頁面切分與分類品質。
  • 先小批匯入再放大:ingest 會呼叫 LLM,第一批文件建議先放 5–10 份,確認頁面品質與成本符合預期。
  • 注意授權與定位:專案以 GPL-3.0 釋出(README 標示),是 local-first 桌面應用而非雲端服務;要多人共用或跨裝置,目前做法是用 ZIP 匯出/匯入專案封存。
  • 搭配本地模型省錢:支援 Ollama,搭配量化過的本地模型可以把長期維護成本壓到接近零(參見下方延伸閱讀的 GGUF 量化教學)。

結語

LLM Wiki 真正有意思的地方,不在於它又是一個「AI 筆記工具」,而在於它把 Karpathy 那個很抽象的模式——原始文件不可變、Wiki 由 LLM 增量維護、人只負責決定方向與審核——做成了可以下載、可以打開、可以被 agent 呼叫的軟體。

如果你的知識管理痛點是「資料一直進來、但從來沒有變成自己的東西」,那它值得排進你的下一個週末專案清單。

資料來源

延伸閱讀

📬 訂閱 most.tw 電子報

每週精選 AI 工具教學與技術乾貨,直接送到你的信箱。免費、隨時可退訂。

💬 有問題想討論?加 LINE 聯絡我

歡迎透過 LINE 官方帳號直接留言,我會盡快回覆你的問題。

加入 LINE 好友