name: llm-wiki description: 基于 LLM 的智能知识库管理工具,接收用户传入的新文章或内容,自动提取关键信息并整合到现有 wiki 中,更新实体页面、修订主题摘要、标记矛盾点。
LLM Wiki 知识库管理
核心概念
LLM Wiki 是一种增量式知识库构建模式:
- 原始资料层 (raw/): 用户提供的源文档,只读
- Wiki 层 (wiki/): LLM 生成的 markdown 文件,包含摘要、实体页面、概念页面等
- Schema 层: 本 skill 定义的工作流程和规范
与传统 RAG 不同,LLM Wiki 会持续构建和维护一个结构化的、相互关联的 markdown 文件集合,知识是累积的而非每次都重新检索。
目录结构
llm-wiki/
├── raw/ # 原始资料(用户放入,LLM 只读)
│ ├── articles/
│ └── assets/ # 图片等附件
├── wiki/ # LLM 维护的知识库
│ ├── index.md # 内容索引目录
│ ├── log.md # 操作日志(时间线)
│ ├── sources/ # 源文档摘要
│ ├── entities/ # 实体页面(人物、组织、产品等)
│ ├── concepts/ # 概念页面(理论、方法、术语等)
│ └── synthesis/ # 综合分析页面
└── .qoder/skills/llm-wiki/ # 本 skill
工作流程
1. 接收新内容
当用户提供新文章或内容时:
- 将原始内容保存到
raw/articles/ - 记录文件名和时间戳
2. 分析内容
使用 LLM 分析原始内容,提取:
- 关键要点: 3-5 个核心观点
- 实体: 提及的人物、组织、产品、地点等
- 概念: 理论、方法、术语、技术
- 关系: 实体/概念之间的关联
- 矛盾点: 与现有 wiki 冲突的信息
3. 更新 Wiki
根据分析结果更新 wiki:
创建/更新源文档摘要 (wiki/sources/原始文件名.md):
---
title: 文章标题
date: 2026-04-06
source: raw/articles/xxx.md
tags: [tag1, tag2]
---
# 文章标题
## 摘要
一句话概括核心内容
## 关键要点
- 要点 1
- 要点 2
## 提取的实体
- [[实体A]]
- [[实体B]]
## 提取的概念
- [[概念X]]
- [[概念Y]]
更新实体页面 (wiki/entities/实体名.md):
- 如实体已存在,追加新信息
- 标记信息来源
- 如发现矛盾,标注并解释
更新概念页面 (wiki/concepts/概念名.md):
- 类似实体页面的处理方式
创建/更新综合分析页面 (wiki/synthesis/主题名.md):
- 当新内容与某个主题相关时,更新该主题的综合分析
- 整合多个源文档的观点,形成统一视角
- 标记不同来源的观点差异
- 示例页面:
wiki/synthesis/AI-Agent-平台对比.md- 对比不同 Agent 平台wiki/synthesis/技术趋势分析.md- 跨文档的技术趋势总结
处理图片资源 (raw/assets/):
- 文章中的图片下载到
raw/assets/ - 在 wiki 页面中引用本地图片路径
- 图片命名:
{文章名}-{序号}.{扩展名}
更新索引 (wiki/index.md):
- 必须更新源文档摘要部分: 在
## 源文档摘要表格中添加新文章的链接和摘要 - 必须更新实体部分: 如有新实体,添加到
## 实体表格 - 必须更新概念部分: 如有新概念,添加到
## 概念表格 - 必须更新综合分析部分: 如有新 synthesis,添加到
## 综合分析表格 - 每个部分都要检查并更新,不要遗漏
记录日志 (wiki/log.md):
## [2026-04-06] ingest | 文章标题
- 添加了源文档摘要
- 更新了实体: A, B, C
- 更新了概念: X, Y
- 发现矛盾: 无/有(说明)
4. 回答查询
当用户提问时:
- 先读取
wiki/index.md找到相关页面 - 读取相关页面内容
- 综合信息生成答案
- 答案可保存为新的 wiki 页面(如用户要求)
使用 QMD 进行语义检索(推荐):
- 在内容更新后,先执行
qmd update扫描文件系统更新索引 - 然后执行
qmd embed生成向量嵌入(用于语义搜索) - 使用语义搜索查找相关内容:
qmd query "搜索内容" - QMD 会自动进行混合搜索(向量相似度 + 全文检索)并重排序
- 示例:
qmd query "Agent 平台对比"或qmd query "嵌入式架构特点" - 高级用法:使用结构化查询
qmd query $'lex: 关键词\nvec: 语义描述'
操作指令
接收新文章
方式 1 - 自然语言指令: 用户说"添加这篇文章"或提供内容时:
- 询问文章标题(如未提供)
- 保存原文到
raw/articles/ - 执行分析 → 更新 wiki 流程
- 汇报更新摘要
方式 2 - 命令格式(推荐):
用户使用 /llm-wiki <文章链接> 格式时:
- 识别命令格式,提取文章链接
- 使用 fetch_content 获取文章内容
- 从 URL 或内容中提取文章标题
- 保存原文到
raw/articles/ - 执行分析 → 更新 wiki 流程
- 汇报更新摘要
示例:
/llm-wiki https://example.com/article/llm-wiki https://github.com/user/repo/blob/main/docs/guide.md
查询知识库
方式 1 - 命令格式(推荐):
用户使用 /llm-wiki 搜索<关键词> 或 /llm-wiki <问题> 格式时:
使用 QMD 语义检索:
- 先执行
qmd update更新索引(扫描文件系统,检测新增/修改/删除的文件) - 然后执行
qmd embed生成向量嵌入(用于语义搜索) - 使用
qmd query "用户问题"进行语义搜索 - 根据搜索结果读取相关 wiki 页面
- 综合信息生成带引用的回答
示例:
/llm-wiki 搜索Agent平台/llm-wiki Agent平台有哪些/llm-wiki CoPaw和OpenClaw的区别
方式 2 - 自然语言指令: 用户直接提问时:
- 读取
wiki/index.md - 识别相关页面
- 读取并综合答案
- 提供带引用的回答
健康检查
用户说"检查 wiki"或"lint"时:
- 扫描所有页面
- 检查:
- 页面间的矛盾
- 过时声明
- 孤立页面(无入链)
- 缺失的概念页面
- 缺失的交叉引用
- 生成检查报告
- 建议修复措施
命名规范
- 文件名使用小写,空格用
-替换 - 实体页面:
wiki/entities/实体名.md - 概念页面:
wiki/concepts/概念名.md - 源摘要:
wiki/sources/原始文件名.md - 内部链接使用 Obsidian 格式:
[[页面名]]
输出格式
所有 wiki 页面使用标准 markdown,可选 YAML frontmatter:
---
title: 页面标题
date: 2026-04-06
sources: [source1, source2]
tags: [tag1, tag2]
---
# 页面标题
内容...
## 相关页面
- [[相关页面A]]
- [[相关页面B]]