📌 项目地址:nashsu/llm_wiki | ⭐ 17,953 颗星 | 🔧 TypeScript | 📜 未标注
RAG 的问题,换个思路解决
Chat-with-PDF 类工具有个共性:每次提问都现场检索、现场生成,问完即弃。你问一百次同一个问题,它检索一百次。知识没有沉淀,结构不存在。
LLM Wiki(nashsu/llm_wiki,17953 Star,TypeScript)走另一条路:LLM 读你的文档,生成结构化、互相链接的 Wiki 页面,并在新文档进来后持续维护这套结构。
一个是“随问随检索”,一个是“读完建档案”。差别在于后者会留下可浏览、可追溯的资产。
导入是两步走的
这是我觉得整个项目最核心的设计:Two-Step Chain-of-Thought Ingest。
LLM 先分析文档,再生成 Wiki 页面。生成的页面带来源追溯——每个结论都能跳回原文位置。还有增量缓存,重复导入不会重复计算。
格式支持相当全:PDF、Office 文档、EPUB/MOBI、Org mode、图片、媒体文件、网页剪藏、批量 URL。PDF 解析有三种方案:内置、云端、或本地跑 MinerU。
图片处理比大多数同类认真。它会从 PDF 里抽出内嵌图片,用视觉 LLM 生成事实性描述(factual captions),这些图片会出现在搜索结果里,带 lightbox 预览,且能跳回原始出处。你的图表和截图不会被当垃圾丢掉。
导入是队列化的:持久化队列串行处理,崩溃可恢复,支持取消、重试、进度可视化。文件夹导入是递归的,保留目录结构,目录本身还会作为 LLM 分类的提示——你按主题归档的习惯会被利用起来。
raw/sources/ 目录有自动监听。你从外部往里丢文件、删文件,导入和清理会自动同步。
知识图谱:四个信号,不是简单连点
多数工具的“知识图谱”就是把页面之间的链接画出来。这个项目用了四个信号建关联模型:
- 直接链接
- 来源重叠(两个页面引用了同一批原始材料)
- Adamic-Adar(图论里的共同邻居度量,低度节点权重更高)
- 类型亲和度
在此之上跑 Louvain 社区检测,自动发现知识簇,附带凝聚度评分。
比较有意思的是 Graph Insights 功能:找出“意外关联”(两个看似无关的页面其实有隐藏联系)和“知识缺口”(图谱里的空洞),缺口可以一键触发 Deep Research 补材料。这把知识库从静态存储变成了能自我检查的东西。
检索和聊天:来源优先
向量语义检索是可选的,基于 LanceDB,兼容任何 OpenAI 风格的 embedding 端点。也就是说你自建或本地的 embedding 服务都能接。
Chat 模式里有个 Read Sources Only 开关:回答只基于你导入的原始材料,不掺模型自己的外部知识。写引用要求严格的材料时,这个开关很关键。
模型配置按项目粒度进行,Chat 和 Ingest 可以路由到不同模型——用便宜模型跑批量导入,用强模型聊天,这是个务实的成本设计。自定义 provider、header、流式输出都支持。
Agent 部分
Chat agent 是 Rust 写的,支持工具调用:wiki 检索、来源检索、图谱检索、网络检索,还能在工作区生成文件。shell 命令执行需要人工批准——安全上必要,代价是自动化时得有人在旁边点确认。
Agent 生成的 Markdown、HTML、图片等文件会直接作为 outputs 展示,可预览、可快速打开所在文件夹。聊天和预览里都能渲染 Mermaid 图表,语法错误会显示为紧凑的错误卡片而不是原始报错。
还有个 Agent Skills 机制:扫描本地 SKILL.md 文件夹,用 /skill 命令选择技能,Agent 按需读取技能指令。这和 Claude 的 Skills 思路接近,但完全本地。
和外部世界的接口
- Chrome 剪藏插件:网页一键抓取,自动入库
- Deep Research:LLM 优化搜索主题,通过 Tavily / SerpApi / SearXNG 做多查询网络搜索,结果自动导入 Wiki
- 本地 HTTP API + MCP Server:其他 AI 工具可以直接调用这个知识库
加上完整的项目导出/导入(跨设备迁移)和从已有页面重建索引的能力,数据不会锁死在应用里。
动手前想清楚的几件事
- README 在 License 部分被截断,给出的材料里没有许可协议信息,使用前去仓库确认。
- 导入依赖 LLM 分析,大批量文档的 token 成本和时间取决于你选的模型。Ingest/Chat 分开路由能省钱,但导入本身省不掉。
- Wiki 页面是 LLM 生成的,质量受模型理解能力限制。来源追溯功能是补偿机制,重要内容务必回查原文。
- shell 批准机制意味着无人值守的自动化跑不通。
值不值得试
如果你处理的是几十上百份会持续增长的专业文档(论文、技术文档、法规、调研材料),而且希望它们变成可浏览的结构而不只是问答的原料,这个项目切中的正是这个需求。17.9k Star 说明这条路有不少人认同。
如果只是偶尔问一份 PDF 几个问题,普通 RAG 工具更省事——LLM Wiki 的前期投入(导入、等待队列处理、调模型配置)需要一定规模的知识库才划算。