前言¶
做個人知識庫的人大多會遇到同一個問題:存了一堆 Markdown,檢索靠全文搜索,越積越亂。傳統 RAG 每次從零檢索,交叉引用靠 LLM 臨時拼接,矛盾點沒有留痕,人工維護成本隨規模上漲。llm-wiki-builder 走的是另一條路:維護一個持久的、複合增長的 wiki,交叉引用已經寫進頁面,矛盾顯式標在 Contradictions 節,綜合分析反映你讀過的一切。
下面介紹這個 skill。它由社區開發者 user_7ffd653a 發佈在 SkillHub,分類 knowledge-management,定位是 Karpathy 風格的 LLM Wiki 構建系統。
這是什麼¶
llm-wiki-builder 是一個自託管的知識庫構建工具,通過 init.py 一鍵生成目錄結構、系統文件、頁面模板、行爲契約和健康檢查腳本,並把知識庫註冊到全局註冊表。知識分三層歸屬:raw/ 人類擁有、LLM 只讀;wiki/ LLM 完全讀寫;CLAUDE.md 是雙方共同維護的行爲契約。
它解決的是「知識庫的骨架和紀律」問題:目錄怎麼分、頁面怎麼命名、鏈接怎麼寫、哪些操作必須人工確認,都由腳本和契約預先定好,而不是每次讓 LLM 臨場發揮。
初始化:init.py 一鍵建庫¶
先做初始化,再做後續操作。Agent 必須先詢問用戶知識庫名稱,然後執行:
python scripts/init.py <項目目錄> --name "<知識庫名稱>"
腳本自動完成 10 步:創建 raw/、wiki/、outputs/、scripts/、.qmd/ 目錄;生成 index.md、log.md、overview.md、QUESTIONS.md;生成 5 個頁面模板;複製 schema.md;生成 CLAUDE.md 與 AGENTS.md;複製 lint.py(14 項檢查)、registry.py、list-wikis.py;生成 .gitignore;最後註冊到 ~/.llm-wiki/registry.json。
可選的語義搜索:qmd¶
qmd 提供 BM25 + 向量嵌入 + LLM 重排序的語義搜索,不安裝不影響核心功能。先檢測:
qmd --version
未安裝則執行:
npm install -g @tobilu/qmd
qmd init && qmd collection add wiki wiki/
qmd embed
qmd embed 首次會下載約 2GB 模型,明細是 embeddinggemma-300M(約 300MB)、Qwen3-Reranker-0.6B(約 640MB)、qmd-query-expansion-1.7B(約 1.1GB)。qmd 不可用時,ingest、query、lint 仍可運行,搜索降級爲讀取 wiki/index.md,詳見 references/setup-guide.md 的降級策略一節。
安裝依賴與首次審計¶
依賴只有 PyYAML:
pip install pyyaml
初始化完成後跑一次審計,確認骨架可用:
python scripts/lint.py
日常操作:攝入、查詢、檢查¶
資料寫進 raw/,剩下的交給 Agent。常用觸發詞如下:
| 觸發詞 | 操作 |
|---|---|
ingest / 攝入 / 處理這個 |
讀取 raw 文件,提取概念,創建或更新頁面 |
batch ingest |
多 subagent 並行處理 |
直接提問 / 根據我的知識庫 |
搜索 + 綜合 + 溯源到 source 頁 |
lint / 檢查 |
14 項健康檢查 + 報告 |
reflect / 綜合分析 |
反向檢驗 → 模式掃描 → 合成 → 缺口分析 |
merge / 去重 |
頁面去重,需確認 |
我想搞清楚 |
追蹤到 QUESTIONS.md |
audit |
全系統覈查 |
健康檢查支持三種模式:
python scripts/lint.py # 只檢測
python scripts/lint.py --fix # 交互修復
python scripts/lint.py --fix --auto # 自動修復安全項
14 項檢查覆蓋 YAML frontmatter、失效 wikilink、index 一致性、stub 頁面、近重複概念、SHA-256 完整性、stale 頁面、跨語言重複、wikilink 格式、孤立頁、缺失反向引用、隱性盲區、source_count 一致性、dashboard 一致性。其中 index 一致性、source_count、dashboard 三類標爲 safe,可用 --auto 自動修復,其餘需要人工判斷。
頁面類型與置信度¶
頁面分五類:wiki/sources/<slug>.md 記錄來源摘要與 SHA-256;wiki/concepts/<slug>.md 是概念頁,含定義、置信度、來源計數、演化日誌;wiki/entities/<slug>.md 是人物、工具、機構、論文頁;wiki/synthesis/<topic>-synthesis.md 是綜合分析;raw/personal/ 放個人寫作,不創建 source 頁,不計入 source_count。
置信度分三級:low 是 1-2 個來源或有矛盾;medium 是 3 個以上來源且信息一致;high 需要多元來源且無矛盾,屬於候選值,必須經用戶確認後才能設置。時效分三級:AI、加密貨幣、科技新聞 90 天判 stale,法律、商業、政策 180 天,數學、哲學、歷史 365 天。
註冊表與多知識庫管理¶
全局註冊表在 ~/.llm-wiki/registry.json,一個機器上可以有多個知識庫:
python scripts/registry.py list # 列出所有知識庫
python scripts/registry.py add <路徑> [名稱] # 註冊新知識庫
python scripts/registry.py use <名稱> # 獲取知識庫路徑
python scripts/registry.py remove <名稱> # 取消註冊(不刪文件)
python scripts/registry.py rename <舊名> <新名> # 重命名
python scripts/registry.py get-last # 獲取最近訪問的知識庫
配合列表腳本使用:
python scripts/list-wikis.py # 文本格式
python scripts/list-wikis.py --json # JSON 供 Agent 解析
python scripts/list-wikis.py --path <名> # 獲取指定知識庫路徑
鐵律與注意事項¶
三層所有權的邊界是這套系統的關鍵,四條鐵律:LLM 絕不自動執行不可逆操作(merge、刪除、把 confidence 升到 high),必須等人類確認;人類絕不手動編輯 wiki/ 下的內容頁,所有編輯通過 LLM 完成;人類只負責 raw/ 的文件管理;模板文件帶 graph-excluded: true,按模板新建的頁面必須刪掉這個字段。
實際使用中要注意幾點:知識庫的質量取決於 raw/ 的整理,原文亂則頁面跟着亂;qmd 的 2GB 模型下載是一次性開銷,網絡受限時可以先跳過;wiki/ 一旦交給 LLM 維護,就不要再用編輯器直接改,否則 lint 的一致性檢查會反覆報警;模板裏的 graph-excluded: true 忘了刪,頁面會從圖譜裏消失。
適合想把閱讀筆記、剪藏、論文整理成長期可檢索資產的人,尤其是希望 LLM 承擔維護而非只做檢索的團隊。不適合需要嚴格版本控制或多人併發寫入的場景,那部分要靠 raw/ 走 git 管理。
結尾¶
llm-wiki-builder 的價值不在檢索速度,而在把「知識庫如何組織」這件事固化成腳本和契約,讓 LLM 去維護一個持續生長的製品。官方地址:https://api.skillhub.cn/user_7ffd653a/llm-wiki-builder