# LLM Wiki

> LLM Wiki - 用 LLM 构建和维护个人知识库 Wiki。当用户需要创建知识库、导入资料到 Wiki、查询知识库内容、维护知识库健康状态时触发。关键词：知识库、wiki、ingest、导入资料、知识整理、知识管理。

- Skill: `luotwo/llm-wiki` (Agent Skill)
- Install (CLI): `npx skillmds@latest add luotwo/llm-wiki`
- Raw SKILL.md: https://api.skillmd.com/api/skills/luotwo/llm-wiki/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: AI & ML
- Author: luotwo (https://skillmd.com/u/luotwo)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/luotwo/llm-wiki

---


# 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（导入）

当用户说"导入"、"处理这份资料"、"添加到知识库"时执行：

1. 读取 `raw/` 中的新资料
2. 与用户讨论关键要点
3. 在 `wiki/` 中创建摘要页
4. 更新 `wiki/index.md`
5. 更新相关的实体页和概念页（可能涉及 10-15 个页面）
6. 在 `wiki/log.md` 中追加记录
7. 标注新资料与已有内容的矛盾之处

### Query（查询）

当用户提问或要求分析时执行：

1. 读取 `wiki/index.md` 定位相关页面
2. 深入阅读相关页面
3. 综合回答，附带引用
4. 有价值的回答可以回写为 Wiki 新页面，让探索也能积累

输出格式可以多样：Markdown 页面、比较表格、演示文稿（Marp）、图表等。

### Lint（维护）

当用户说"检查知识库"、"维护一下"时执行：

1. 检查页面间的矛盾
2. 发现被新资料取代的过时内容
3. 找出无入站链接的孤立页面
4. 识别被提及但缺少专属页面的重要概念
5. 发现缺失的交叉引用
6. 建议可通过网络搜索填补的数据空白
7. 建议值得调查的新问题和新资料来源

## 初始化工作流

当用户说"创建知识库"、"初始化 wiki"时：

1. 创建目录结构：
   ```
   raw/          # 原始资料
   raw/assets/   # 图片等附件
   wiki/         # Wiki 页面
   wiki/index.md # 索引
   wiki/log.md   # 日志
   ```
2. 创建初始 `wiki/index.md`（空目录模板）
3. 创建初始 `wiki/log.md`（首条记录：Wiki 创建）
4. 如有必要，创建 `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 实战流程（详细版）

一次完整的导入通常产生以下操作：

1. **复制原文到 `raw/`** — 保持原始资料不可变
2. **创建摘要页** — `source-xxx.md`，包含：
   - YAML frontmatter（tags、source、author、date、url）
   - 来源信息
   - 核心观点提炼
   - 关键数据/案例
   - 注意事项
   - `[[双向链接]]` 指向相关实体和概念页
3. **创建/更新实体页** — 每个重要工具、产品、人物一个页面
4. **创建/更新概念页** — 每个方法论、模式、工作流一个页面
5. **交叉引用** — 所有页面之间用 `[[wikilink]]` 互相关联
6. **更新 index.md** — 按类别（资料摘要/实体/概念）添加新条目
7. **更新 log.md** — 记录创建了哪些页面、更新了哪些页面、关键要点、与已有知识的关联

### 交叉引用原则

- 每个页面底部都要有"来源"链接，指回资料摘要页
- 新资料导入时，**主动检查已有页面**是否需要更新（如新案例可补充到已有实体页）
- 摘要页末尾列出"相关概念"，形成概念网络
- **标注跨资料关联**：当多篇资料提到相似观点时，在页面中明确标注（如"与 [[xxx]] 的共同主题：..."）

### 页面 Frontmatter 模板

```yaml
---
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 个文件

