llm-wiki-builder:把散落資料變成持續生長的知識庫

前言

做個人知識庫的人大多會遇到同一個問題:存了一堆 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

羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

小夜