首页 LLM Wiki
0.3.1 2026-04-12 nashsu/llm_wiki
打开 Zread CodeWiki
340px

一眼入口

核心定位

维度说明
核心理念增量构建持久化 Wiki,知识只编译一次并持续更新
基础方法论基于 Karpathy 的 LLM Wiki 设计模式
架构原始资料(不可变)→ Wiki(LLM 生成)→ Schema(规则配置)
Obsidian 兼容Wiki 目录可直接作为 Obsidian 仓库使用

三步上手

# 1. 启动应用 → 创建新项目(选择模板)
# 2. 设置 → 配置 LLM 提供商(API 密钥 + 模型)
# 3. 资料源 → 导入文档(PDF、DOCX、MD 等)

安装命令

# 预编译二进制(推荐)
# 从 https://github.com/nashsu/llm_wiki/releases 下载对应平台安装包

# 从源码构建(前置条件:Node.js 20+, Rust 1.70+)
git clone https://github.com/nashsu/llm_wiki.git
cd llm_wiki
npm install
npm run tauri dev      # 开发模式
npm run tauri build     # 生产构建

# Chrome 扩展
# 1. 打开 chrome://extensions
# 2. 启用「开发者模式」
# 3. 点击「加载已解压的扩展程序」
# 4. 选择 extension/ 目录

最小工作流

两步思维链摄入

LLM Wiki 将文档摄入拆分为两次顺序 LLM 调用,显著提升质量:
┌─────────────────────────────────────────────────────────────┐
│  第一步(分析):LLM 阅读资料 → 结构化分析                    │
│  - 关键实体、概念、论点                                      │
│  - 与现有 Wiki 内容的关联                                    │
│  - 与现有知识的矛盾和张力                                    │
│  - Wiki 结构建议                                            │
├─────────────────────────────────────────────────────────────┤
│  第二步(生成):LLM 基于分析 → 生成 Wiki 文件               │
│  - 带 frontmatter 的资料摘要(type, title, sources[])       │
│  - 实体页面、概念页面及交叉引用                              │
│  - 更新 index.md、log.md、overview.md                       │
│  - 需要人工判断的审核项                                      │
└─────────────────────────────────────────────────────────────┘

摄入增强机制

特性说明
SHA256 增量缓存摄入前检查源文件内容哈希,未变更自动跳过
持久化队列串行处理,队列持久化到磁盘,重启后自动恢复
失败重试失败任务自动重试最多 3 次
文件夹导入递归导入保留目录结构,路径作为分类上下文
向量 Embedding开启向量搜索时,新页面摄入后自动生成
来源可追溯frontmatter sources: [] 字段链接回原始资料

高频场景 Recipes

场景 1:导入文档构建知识库

资料源 → 选择文件/文件夹 → 观察活动面板 → Wiki 自动生成
步骤操作
1点击侧边栏「资料源」图标
2选择导入方式:单个文件 / 文件夹
3等待活动面板显示摄入进度
4浏览 wiki/ 目录查看生成的页面

场景 2:查询知识库

聊天 → 输入问题 → LLM 读取相关 Wiki → 返回带引用的回答
步骤操作
1点击侧边栏「聊天」图标
2输入自然语言问题
3查看带编号引用的回答 [1]、[2]
4展开「引用参考面板」查看来源页面

场景 3:探索知识图谱

图谱 → 查看节点/边 → 点击洞察卡片 → 触发深度研究
步骤操作
1点击侧边栏「图谱」图标
2按类型或社区查看节点着色
3悬停节点查看关联度分数
4点击「惊奇连接」或「知识空白」卡片
5可选:点击 Deep Research 按钮填补知识空白

场景 4:深度研究

图谱洞察 → Deep Research → LLM 生成搜索查询 → 网络搜索 → 研究结果自动摄入
步骤操作
1从图谱洞察触发或手动启动
2LLM 读取 overview.md + purpose.md 生成研究主题
3在确认对话框中编辑主题和搜索查询
4Tavily API 执行多条网络搜索
5LLM 综合结果生成 Wiki 研究页面
6自动交叉引用现有 Wiki 并摄入

场景 5:使用 Chrome 扩展剪藏网页

网页 → 点击扩展图标 → 选择目标 Wiki → 自动摄入
步骤操作
1安装 Chrome 扩展(见安装命令)
2浏览目标网页,点击扩展图标
3选择剪藏到的 Wiki 项目
4应用自动执行两步摄入流程

知识图谱速查

四信号关联度模型

信号权重描述
直接链接×3.0通过 [[wikilinks]] 链接的页面
来源重叠×4.0共享同一原始资料的页面
Adamic-Adar×1.5共享共同邻居的页面(按邻居度数加权)
类型亲和×1.0相同页面类型的加分

图谱交互

悬停节点 → 邻居保持可见,非邻居变暗,边高亮显示关联度分数
缩放控件 → 放大、缩小、适应屏幕
着色切换 → 按页面类型 或 按 Louvain 社区

Louvain 社区检测

特性说明
自动聚类根据链接拓扑发现知识聚类
内聚度评分内部边密度评分,低内聚(< 0.15)标警告
12 色调色板集群之间视觉区分清晰

图谱洞察类型

类型说明交互
惊奇连接跨社区边、跨类型链接、边缘↔核心耦合可消除,标记后不再重复
孤立页面度 ≤ 1,与 Wiki 其余部分缺少连接点击高亮,可 Deep Research
稀疏社区cohesion < 0.15,≥ 3 页可 Deep Research
桥接节点连接 3+ 个集群的关键枢纽页面附带 Deep Research 按钮

查询检索管线

阶段 1:分词搜索
  - 英文:分词 + 停用词过滤
  - 中文:CJK 二元组分词
  - 标题匹配加分(+10 分)
  - 同时搜索 wiki/ 和 raw/sources/

阶段 1.5:向量语义搜索(可选)
  - OpenAI 兼容 /v1/embeddings 端点
  - LanceDB 存储(Rust 嵌入式)
  - 余弦相似度发现语义相关页面
  - 召回率从 58.2% 提升至 71.4%

阶段 2:图谱扩展
  - 搜索结果作为种子节点
  - 四信号关联度模型发现相关页面
  - 2 跳遍历带衰减

阶段 3:预算控制
  - 可配置上下文窗口:4K → 1M tokens
  - 比例分配:60% Wiki 页面,20% 聊天历史,5% 索引,15% 系统提示

阶段 4:上下文组装
  - 编号页面附完整内容
  - 系统提示包含 purpose.md、语言规则、引用格式、index.md
  - LLM 按编号引用页面:[1]、[2]

多对话聊天

功能说明
独立会话创建、重命名、删除对话
对话侧边栏快速切换不同主题
持久化每个对话保存到 .llm-wiki/chats/{id}.json
历史深度可配置上下文消息数量(默认 10)
引用参考面板显示使用了哪些 Wiki 页面,按类型分组
重新生成一键重新生成最后一条回复
保存到 Wiki将回答归档到 wiki/queries/,自动摄入实体/概念

思维链展示

特性说明
流式思维展示生成中滚动显示 5 行,带透明度渐变
默认折叠生成完成后隐藏,点击展开
视觉分离思维内容与主回复分开显示

文档格式支持

格式方法
PDFpdf-extract(Rust)+ 文件缓存
DOCXdocx-rs:标题、加粗/斜体、列表、表格 → 结构化 Markdown
PPTXZIP + XML:逐页提取,保留标题/列表结构
XLSX/XLS/ODScalamine:正确单元格类型、多工作表、Markdown 表格
图片原生预览(png, jpg, gif, webp, svg 等)
视频/音频内置播放器
网页剪藏Readability.js + Turndown.js → 干净 Markdown

设置与配置

LLM 提供商

提供商配置项
OpenAIAPI Key、模型、上下文窗口
AnthropicAPI Key、模型
GoogleAPI Key、模型
Ollama本地端点、模型
自定义OpenAI 兼容端点

向量搜索(可选)

# 开启步骤
1. 设置 → 启用向量语义搜索
2. 配置 OpenAI 兼容 embedding 端点
3. 配置 API Key
4. 选择 embedding 模型

上下文窗口配置

窗口大小适用场景
4K tokens轻量级 LLM
32K tokens标准使用
128K tokens长文档分析
1M tokens超长上下文 LLM

场景模板

模板用途
研究学术研究、知识探索
阅读文档阅读、读书笔记
个人成长自学、技能积累
商业商业分析、市场调研
通用通用知识管理

项目结构

my-wiki/
├── purpose.md              # 目标、关键问题、研究范围(Wiki 的灵魂)
├── schema.md               # Wiki 结构规则、页面类型
├── raw/
│   ├── sources/            # 上传的文档(不可变)
│   └── assets/             # 本地图片
├── wiki/
│   ├── index.md            # 内容目录
│   ├── log.md              # 操作历史(可解析格式)
│   ├── overview.md         # 全局概要(自动更新)
│   ├── entities/           # 人物、组织、产品
│   ├── concepts/           # 理论、方法、技术
│   ├── sources/            # 资料摘要
│   ├── queries/            # 保存的聊天回答 + 研究
│   ├── synthesis/          # 跨资料分析
│   └── comparisons/        # 并列对比
├── .obsidian/              # Obsidian 仓库配置(自动生成)
└── .llm-wiki/              # 应用配置、聊天历史、审核项

Wiki 页面组成

字段说明
type页面类型(entity/concept/source/query/synthesis/comparison)
title页面标题
sources[]贡献的原始资料文件路径
[[wikilinks]]交叉引用语法
index.md内容目录和 LLM 导航入口
log.md时序操作记录

技术栈

层级技术
桌面Tauri v2(Rust 后端)
前端React 19 + TypeScript + Vite
UIshadcn/ui + Tailwind CSS v4
编辑器Milkdown(基于 ProseMirror)
图谱sigma.js + graphology + ForceAtlas2
搜索分词 + 图谱关联度 + 向量(LanceDB)
PDFpdf-extract
Officedocx-rs + calamine
国际化react-i18next
状态管理Zustand
网络搜索Tavily API

常见操作命令

摄入相关

操作说明
导入单个文件资料源 → 选择文件 → 等待摄入
导入文件夹资料源 → 选择文件夹 → 保留目录结构
重试失败任务活动面板 → 找到失败项 → 点击重试
取消摄入活动面板 → 找到队列项 → 点击取消

审核系统

操作说明
查看审核项点击侧边栏「审核」图标
预定义操作创建页面 / 深度研究 / 跳过
摄入时生成搜索LLM 为审核项预生成 Tavily 搜索查询

Lint 维护

操作说明
运行 Lint点击侧边栏「Lint」图标
修复失效链接自动清理指向已删除页面的 [[wikilinks]]
清理孤立页面删除无关联的 Wiki 页面

收尾动作与排障

数据清理

场景操作
删除资料文件同时移除 Wiki 摘要页面
三重匹配frontmatter sources[]、摘要页面名称、章节引用
共享实体保护链接到多资料的实体只从 sources[] 移除,不删整个页面
索引清理被移除页面从 index.md 清除

关闭行为

平台行为
macOS关闭按钮隐藏窗口(程序后台运行),Cmd+Q 退出
Windows/Linux关闭时弹出确认对话框

常见问题

问题解决
摄入失败检查 LLM API 密钥、网络连接;活动面板重试
向量搜索无结果确认已开启向量搜索、配置了 embedding 端点
图谱显示异常检查 Wiki 内容是否有 [[wikilinks]]
中文文件名崩溃使用 Unicode 安全字符串处理(已内置)