| name | llm-wiki |
| description | LLM Wiki - 用 LLM 构建和维护个人知识库 Wiki。当用户需要创建知识库、导入资料到 Wiki、查询知识库内容、维护知识库健康状态时触发。关键词:知识库、wiki、ingest、导入资料、知识整理、知识管理。 |
| version | 1.1.0 |
LLM Wiki - 用 LLM 构建持续积累的知识库
核心理念
不同于 RAG 每次从零检索,LLM Wiki 让 LLM 持续构建并维护一个结构化的 Markdown Wiki。每次导入新资料,LLM 不是简单索引,而是阅读、提取关键信息、整合到现有 Wiki 中——更新实体页、修订摘要、标注矛盾、强化或挑战已有综合分析。知识编译一次,持续更新,而非每次查询重新推导。
三层架构
1. Raw Sources(原始资料)
- 存放在
raw/ 目录
- 不可变——LLM 只读不改
- 包含文章、论文、图片、数据文件等
- 这是真相来源
2. Wiki(知识库)
- 存放在
wiki/ 目录
- LLM 生成并维护的 Markdown 文件集
- 包含:摘要页、实体页、概念页、比较页、综述页、综合分析页
- LLM 全权管理:创建页面、更新、维护交叉引用、保持一致性
3. Schema(配置)
- 使用
CLAUDE.md 文件定义
- 告诉 LLM Wiki 的结构、约定、工作流
- 你和 LLM 共同迭代演进
关键文件
wiki/index.md — 内容目录。按类别组织(实体、概念、来源等),每条含链接 + 一句话摘要。LLM 每次导入时更新。查询时 LLM 先读索引再深入具体页面。
wiki/log.md — 操作日志。按时间顺序追加记录(导入、查询、维护),格式如 ## [2026-04-05] ingest | 文章标题。
三大操作
Ingest(导入)
当用户说"导入"、"处理这份资料"、"添加到知识库"时执行:
- 读取
raw/ 中的新资料
- 与用户讨论关键要点
- 在
wiki/ 中创建摘要页
- 更新
wiki/index.md
- 更新相关的实体页和概念页(可能涉及 10-15 个页面)
- 在
wiki/log.md 中追加记录
- 标注新资料与已有内容的矛盾之处
Query(查询)
当用户提问或要求分析时执行:
- 读取
wiki/index.md 定位相关页面
- 深入阅读相关页面
- 综合回答,附带引用
- 有价值的回答可以回写为 Wiki 新页面,让探索也能积累
输出格式可以多样:Markdown 页面、比较表格、演示文稿(Marp)、图表等。
Lint(维护)
当用户说"检查知识库"、"维护一下"时执行:
- 检查页面间的矛盾
- 发现被新资料取代的过时内容
- 找出无入站链接的孤立页面
- 识别被提及但缺少专属页面的重要概念
- 发现缺失的交叉引用
- 建议可通过网络搜索填补的数据空白
- 建议值得调查的新问题和新资料来源
初始化工作流
当用户说"创建知识库"、"初始化 wiki"时:
- 创建目录结构:
raw/ # 原始资料
raw/assets/ # 图片等附件
wiki/ # Wiki 页面
wiki/index.md # 索引
wiki/log.md # 日志
- 创建初始
wiki/index.md(空目录模板)
- 创建初始
wiki/log.md(首条记录:Wiki 创建)
- 如有必要,创建
CLAUDE.md schema 文件
最佳实践
- 逐条导入资料并保持参与——阅读摘要、检查更新、引导 LLM 聚焦重点
- 好的查询回答要回写到 Wiki,让探索也能复利
- 定期执行 Lint 保持 Wiki 健康
- Wiki 就是一个 Markdown 文件的 Git 仓库——天然拥有版本历史
- 使用 Obsidian 作为浏览 IDE,利用图谱视图查看 Wiki 结构
- 页面的 YAML frontmatter 可以配合 Dataview 插件生成动态表格
实战经验(从真实导入中总结)
以下经验来自实际运行知识库过程中积累的模式和教训。
资料获取
- 微信公众号文章无法直接 curl 抓取(有反爬验证码机制),推荐用 Obsidian Web Clipper 浏览器扩展剪藏为 Markdown,再放入
raw/ 目录
- 剪藏后的文件自带 YAML frontmatter(title、source、author、created、tags),可直接利用
页面命名规范
实践中形成的文件命名约定:
| 页面类型 | 命名格式 | 示例 |
|---|
| 资料摘要 | source-{关键词}.md | source-claude-code-n8n-workflow.md |
| 实体页 | {实体名}.md | claude-code.md、n8n.md |
| 概念页 | {概念名}.md | two-layer-automation.md |
| 工作流 | {场景}-workflow.md | competitive-analysis-workflow.md |
Ingest 实战流程(详细版)
一次完整的导入通常产生以下操作:
- 复制原文到
raw/ — 保持原始资料不可变
- 创建摘要页 —
source-xxx.md,包含:
- YAML frontmatter(tags、source、author、date、url)
- 来源信息
- 核心观点提炼
- 关键数据/案例
- 注意事项
[[双向链接]] 指向相关实体和概念页
- 创建/更新实体页 — 每个重要工具、产品、人物一个页面
- 创建/更新概念页 — 每个方法论、模式、工作流一个页面
- 交叉引用 — 所有页面之间用
[[wikilink]] 互相关联
- 更新 index.md — 按类别(资料摘要/实体/概念)添加新条目
- 更新 log.md — 记录创建了哪些页面、更新了哪些页面、关键要点、与已有知识的关联
交叉引用原则
- 每个页面底部都要有"来源"链接,指回资料摘要页
- 新资料导入时,主动检查已有页面是否需要更新(如新案例可补充到已有实体页)
- 摘要页末尾列出"相关概念",形成概念网络
- 标注跨资料关联:当多篇资料提到相似观点时,在页面中明确标注(如"与 [[xxx]] 的共同主题:...")
页面 Frontmatter 模板
---
tags: [source-summary, 领域标签1, 领域标签2]
tags: [entity, tool]
tags: [concept]
type: entity | concept
source: "原文标题"
author: 作者名
date: YYYY-MM-DD
url: "原始链接"
---
知识关联发现
导入第二篇及以后的资料时,重点关注:
- 共同主题:多篇资料反复出现的观点要在页面中标注(如"工具做信息层,判断层是人的"在竞品分析和工作流搭建中都出现)
- 矛盾观点:不同资料的冲突要明确标注,不偷偷覆盖
- 补充关系:新资料为已有概念增加案例/数据时,更新已有页面而非只创建新页面
- 概念演化:同一概念在不同资料中的表述可能不同(如"Skills 文件"在不同场景下有不同侧重),页面要综合呈现
版本管理建议
- 竞品档案等时效性强的内容,建议带日期命名(如
competitor_a_2026Q1.md)
- Wiki 页面本身不需要日期后缀——通过 git 历史追踪变化
log.md 是了解知识库演进的最佳入口
常见的一次导入规模
根据实践,一篇中等长度的文章(2000-3000字)通常:
- 新建 2-4 个页面(1 个摘要 + 1-3 个实体/概念)
- 更新 2-4 个已有页面
- 总计触及 5-8 个文件