前端进阶之旅前端进阶之旅
基础篇
进阶篇
高频篇
精选篇
手写篇
面经篇
AI 篇
原理篇
每日一题
小程序题库
知识卡片NEW
  • 历年面经按年份追踪真实考点
  • 算法题库NEW在线编码即时判题
  • 专项自测100 题快速查漏
  • 业务场景题真实业务问题与追问
  • 查漏补缺常见问题解析
  • AI 模拟面试NEW模拟真实面试 + 报告
  • 前端基础
    • HTTP从报文一路讲到 HTTPS
    • 浏览器渲染、事件循环、进程
    • 计算机基础Linux、网络、操作系统
  • 进阶专项
    • 设计模式23 种模式怎么用
    • 前端系统进阶学习大型项目工程化
    • 前端综合文章长期沉淀的实践文
  • 工程与工具
    • Node学习指南从环境搭建到服务端
    • NPM工作流script、依赖与发布
    • Docker容器化部署上手
    • Canvas图形与动画实战
  • 路线与导图
    • 思维导图知识点全景图
    • 学习路线按图索骥不跑偏
    • AI 定制路线NEW按你的简历现排
    • AI 知识地图NEW串起全站知识点
  • 动态
    • AI 热点NEWAI 每日动态
    • 公众号动态公众号历史文章
    • 博客动态站长的技术博客
    • 开发者导航常用工具与文档站
AI 助手NEW
旧版
基础篇
进阶篇
高频篇
精选篇
手写篇
面经篇
AI 篇
原理篇
每日一题
小程序题库
知识卡片NEW
  • 历年面经按年份追踪真实考点
  • 算法题库NEW在线编码即时判题
  • 专项自测100 题快速查漏
  • 业务场景题真实业务问题与追问
  • 查漏补缺常见问题解析
  • AI 模拟面试NEW模拟真实面试 + 报告
  • 前端基础
    • HTTP从报文一路讲到 HTTPS
    • 浏览器渲染、事件循环、进程
    • 计算机基础Linux、网络、操作系统
  • 进阶专项
    • 设计模式23 种模式怎么用
    • 前端系统进阶学习大型项目工程化
    • 前端综合文章长期沉淀的实践文
  • 工程与工具
    • Node学习指南从环境搭建到服务端
    • NPM工作流script、依赖与发布
    • Docker容器化部署上手
    • Canvas图形与动画实战
  • 路线与导图
    • 思维导图知识点全景图
    • 学习路线按图索骥不跑偏
    • AI 定制路线NEW按你的简历现排
    • AI 知识地图NEW串起全站知识点
  • 动态
    • AI 热点NEWAI 每日动态
    • 公众号动态公众号历史文章
    • 博客动态站长的技术博客
    • 开发者导航常用工具与文档站
AI 助手NEW
旧版
返回 AI 情报前线
All News · 全部资讯8336
  • Perplexity 用 GPT-6 Astra 接管端到端系统
  • OpenAI 用 AI 写代码再用 AI 审查:Codex 安全门禁实践
  • 生产环境 LLM 推理性能与可靠性优化实战
  • 多 AI 协作必须设计交接机制而非仅靠上下文
  • deepseek-harness 体验:22 万星的开源 AI 插件框架
  • Cognition 发布 SWE-2:低成本对标 Fable 5.1 的代码模型
  • 边缘 AI 部署:LLM 优化最佳实践
  • 边缘设备 LLM 扩展:完整技术指南
  • VS Code 1.137:AI 自动化、语音模式与 GitHub 深度集成
  • Real-SWE:基于私有企业代码库的 AI 模型基准测试
  • OpenResearch:本地优先的多 Agent 研究工作台
  • Check:给 Claude Code 加幻觉防护层
  • Postman 集合一键转为 MCP 工具:实操路径
  • NestJS 测试覆盖提升与安全加固实战
  • Next.js Serverless 下 PDFKit 字体缺失修复
  • 评测编码Agent前,先用同一组任务跑两遍
  • LLM Wiki:文档自动构建可维护知识库的开源桌面应用
  • 深入解析结构化输出:让 AI 生成绝对可解析的 JSON
  • MCP安全核心是权限体系重设计,而非传统边界防护
  • GPT-6 Astra 在机器人基准测试中展现空间推理飞跃
  • Auterix:零依赖通用协议,跨 21 个 AI 工具统一上下文规范
  • 后量子 TLS 是平台迁移工程,不是密码学研究
  • Anthropic 发布 AI-Native SDLC 实践手册:代码不再是瓶颈
  • OpenAI 建议 GPT-6 Astra 提示词应精简,减少安全限制
  • Claude Code 创始人:AI 编程要守住代码质量标准
  • Hyperresearch:Agent 驱动的研究知识库,单次跑 250+ 信源
  • 12 个已落地的 B2B 营收 AI Agent 用例,附代码
  • LLM 项目上线后才会暴露的 6 个隐蔽 Bug
  • OpenAI 代理向 RubyGems 上传两千恶意包
  • AI 时代缓存失效难题复发:LLM 推理的隐性成本
  • Google发布TimesFM-3:单次前向传播即可完成多步时间序列预测
  • 阿里 Qoder CLI 开放自定义模型接入
  • 开源项目 Minitap 指控谷歌盗用代码用于 Artemis,许可证违规引热议
  • GPT-6 Astra 刷穿 FrontierMath Tier 4,AI 数学能力达新里程碑
  • Kimi K2.8发布:性能逼近K3百万上下文全员开放
  • DeepSeek v4.1-Flash发布:763B参数新型因果编解码架构
  • AI Agent 何时该停:成本控制的核心工程问题
  • 三大AI编程工具实战对比:Claude Code六个月生产级使用报告
  • Trail of Bits开源Coop:用隔离VM安全运行Claude Code和Codex
  • OpenAI代理今年5月攻击RubyGems详情披露
  • Google Tunix:TPU上的自主LLM后训练框架
  • GitLab CVE-2026-85706:CVSS 10.0 路径遍历漏洞正被主动利用
  • RAG 检索失效的根源:分块策略正在毁掉你的 AI 应用
  • CPython 字节码缓存导致测试失效的隐藏bug
  • OpenAI代理攻击RubyGems:技术细节与行业反思
  • Anthropic 内部调查:七成公司无法衡量 AI 工具实际回报
  • OpenRouter 隐性陷阱:同一端点行为不一致
  • 已加载 47 / 8336
8.0
热点
AI SCORE
开源项目2026-09-13 00:33

LLM Wiki:文档自动构建可维护知识库的开源桌面应用

GitHub Trending#知识库#RAG#LLM
Editor brief · 编辑速览

替代传统 RAG 的增量式知识库,通过 Chain-of-Thought 分两步解析文档并生成带溯源的结构化 wiki,支持多格式解析与增量更新。

文章思维导图
Knowledge map
拖拽缩放
Full translation

完整中文译文

nashsu/llm_wiki

一个会自主构建的个人知识库。LLM 读取你的文档,构建结构化的 wiki,并保持其最新状态。

What is this? · Features · Tech Stack · Installation · Credits · License

English | 中文 | 日本語 | 한국어

Overview

两步链式思考摄取 — LLM 先分析,再生成带有溯源性和增量缓存的 wiki 页面

多模态图片摄取 — 从 PDF 中提取嵌入图片,用视觉 LLM 生成事实性描述,在支持灯箱预览和跳转源头的图片感知搜索结果中展示

多格式文档解析 — 摄取 PDF、Office 文档、EPUB/MOBI、Org 模式、图片、媒体、网页剪藏和批量 URL,支持内置、云端或本地 MinerU PDF 处理

灵活的模型配置 — 按项目配置模型,独立路由 Chat 和 Ingest,管理自定义 provider、请求头和流式输出

溯源检索 — 使用「仅读来源」模式,仅从原始导入材料中作答

项目管理与迁移 — 跨设备导出和导入完整项目归档,从现有页面重建 Wiki 索引

4 信号知识图谱 — 包含直接链接、来源重叠、Adamic-Adar 和类型亲和力的相关性模型

Louvain 社区检测 — 带凝聚度评分的自动知识聚类发现

图谱洞察 — 一键深度研究,发现意外联系和知识盲点

向量语义搜索 — 可选基于 embedding 的检索,通过 LanceDB 支持任意 OpenAI 兼容端点

持久化摄取队列 — 带崩溃恢复、取消、重试和进度可视化的串行处理

文件夹导入 — 保留目录结构的递归导入,文件夹上下文作为 LLM 分类提示

来源文件夹自动监控 — 检测 raw/sources/ 中的外部变化,保持摄入/删除清理同步

深度研究 — LLM 优化搜索主题,通过 Tavily、SerpApi 或 SearXNG 进行多查询网络搜索,自动将结果摄入 wiki

Rust 后端 Chat Agent — 支持 wiki/来源/图谱/网络检索、workspace 文件生成、shell 审批、取消和流式工具事件的工具调用聊天运行时

Agent 技能 — 扫描并启用本地 SKILL.md 文件夹,用 /skill 选择技能,让 Agent 按需读取技能说明

生成输出预览 — Agent 创建的 Markdown、HTML、图片和其他 workspace 文件以输出形式呈现,带预览和快速文件夹访问

Mermaid 图表渲染 — 在聊天中直接渲染 Mermaid 代码块并预览,用紧凑的语法错误卡片替代原始解析器输出

异步审核系统 — LLM 标记需人工判断的项目、预定义操作、预生成搜索查询

Chrome 网页剪藏器 — 一键捕获网页并自动摄入知识库

本地 HTTP API + MCP Server + AI 智能体技能 — 内置 127.0.0.1:19828 JSON API 和捆绑的 MCP server,支持混合搜索、文件读取、图谱遍历和来源重新扫描;一键安装的 AI 智能体技能,可接入 Claude Code / Codex(npx skills add …)

LLM Wiki 是一个跨平台桌面应用,可将你的文档自动转化为有序、互联的知识库。不同于传统的 RAG(每次都从头检索并作答),LLM Wiki 从你的来源增量构建和维护一个持久的 wiki。知识只编译一次并保持最新,不需要在每次查询时重新推导。

本项目基于 Karpathy 的 LLM Wiki 模式 — 一种使用 LLM 构建个人知识库的方法论。llm_wiki 由 nash_su 创建和维护,将核心思想实现为完整的桌面应用并做了大量增强。

LLM Wiki Architecture

基础方法论来自 Andrej Karpathy 的 llm-wiki.md,描述了使用 LLM 增量构建和维护个人 wiki 的模式。原始文档是一种抽象设计模式;本项目是具有大量扩展的具体实现。

我们保留了什么

核心架构忠实地遵循 Karpathy 的设计:

  • 三层架构:原始来源(不可变)→ Wiki(LLM 生成)→ Schema(规则和配置)
  • 三个核心操作:Ingest、Query、Lint
  • index.md 作为内容目录和 LLM 导航入口
  • log.md 作为带可解析格式的时间顺序操作记录
  • [[wikilink]] 语法用于交叉引用
  • 每个 wiki 页面都有 YAML frontmatter
  • Obsidian 兼容 — wiki 目录可作为 Obsidian 仓库使用
  • 人类策划,LLM 维护 — 根本的角色分工

Obsidian Compatibility

我们改变了什么和添加了什么

1. 从 CLI 到桌面应用

原项目是一个设计为复制粘贴给 LLM Agent 的抽象模式文档。我们将其构建为完整的跨平台桌面应用,包含:

  • 三栏布局:知识树 / 文件树(左侧)+ 聊天(中间)+ 预览(右侧)
  • 图标侧边栏 用于切换 Wiki、来源、搜索、图谱、Lint、审核、深度研究、设置
  • 可自定义调整的面板 — 拖拽调整左右面板大小,带最小/最大限制
  • 活动面板 — 实时处理状态,逐文件显示摄入进度
  • 所有状态持久化 — 对话、设置、审核项、项目配置在重启后保留
  • 场景模板 — 研究、阅读、个人成长、业务、通用 — 每个模板预配置 purpose.md 和 schema.md

2. Purpose.md — Wiki 的灵魂

原项目有 Schema(wiki 如何运作)但没有正式的位置来表达 wiki 为何存在。我们添加了 purpose.md:

  • 定义目标、关键问题、研究范围、不断演变的论点
  • LLM 在每次摄入和查询时都读取它以获取上下文
  • LLM 可根据使用模式建议更新
  • 与 schema 不同 — schema 是结构规则,purpose 是方向性意图

3. 两步链式思考摄入

原项目描述的是 LLM 同时读写的一次性摄入。我们将其拆分为两个顺序的 LLM 调用,以获得显著更好的质量:

步骤 1(分析):LLM 读取来源 → 结构化分析
  - 关键实体、概念、论点
  - 与现有 wiki 内容的关联
  - 与现有知识的矛盾与张力
  - 对 wiki 结构的建议

步骤 2(生成):LLM 接收分析 → 生成 wiki 文件
  - 带 frontmatter 的来源摘要(type、title、sources[])
  - 实体页面、带交叉引用的概念页面
  - 更新的 index.md、log.md、overview.md
  - 供人工判断的审核项
  - 深度研究的搜索查询

除原项目外还有以下额外的摄入增强:

SHA256 增量缓存 — 摄入前对源文件内容做哈希;未变化的文件自动跳过,节省 LLM token 和时间

持久化摄入队列 — 串行处理防止并发 LLM 调用;队列持久化到磁盘,应用重启后保留;失败任务自动重试最多 3 次

文件夹导入 — 保留目录结构的递归导入;文件夹路径作为分类上下文传递给 LLM(例如 "papers > energy" 有助于对内容进行分类)

来源文件夹自动监控 — 在应用外部对 raw/sources/ 中添加、编辑或删除的文件自动识别,并与应用内操作复用相同的摄入/删除生命周期

队列可视化 — 活动面板显示进度条、待处理/处理中/失败任务,带取消和重试按钮

自动 embedding — 启用向量搜索时,新页面在摄入后自动进行 embedding

来源溯源性 — 每个生成的 wiki 页面的 YAML frontmatter 中包含 sources: [] 字段,链接回贡献它的原始源文件

overview.md 自动更新 — 全局摘要页面在每次摄入时重新生成,以反映 wiki 的最新状态

保证来源摘要 — 后备机制确保即使 LLM 遗漏,也会始终创建来源摘要页面

语言感知生成 — LLM 以用户配置的语言(英文或中文)响应

渐进式来源视图 — 大型来源文件夹在滚动时渐进渲染,保持大型来源集合的响应性

4. 带相关性模型的知识图谱

Knowledge Graph

原项目提到用 [[wikilinks]] 进行交叉引用,但没有图谱分析。我们构建了完整的知识图谱可视化和相关性引擎:

4 信号相关性模型:

图谱可视化(sigma.js + graphology + ForceAtlas2):

  • 节点颜色按页面类型或社区区分,大小按链接数缩放(√ 缩放)
  • 边粗细和颜色按相关性权重(绿色=强,灰色=弱)
  • 悬停交互:邻居保持可见,非邻居变暗,边高亮显示相关性分数标签
  • 缩放控制(放大、缩小、适应屏幕)
  • 位置缓存防止数据更新时布局跳动

Legend 在着色模式间切换,分别显示类型计数和社区信息

  1. Louvain 社区检测

原版中没有此功能。使用 Louvain 算法(graphology-communities-louvain)自动发现知识聚类:

自动聚类 —— 根据链接拓扑结构自动发现哪些页面自然地归属同一组,无需预设页面类型

类型/社区切换 —— 在按页面类型(实体、概念、来源……)着色和按发现的知识聚类着色之间切换

内聚力评分 —— 每个社区按内部边密度评分(实际边数/可能边数);低内聚力聚类(< 0.15)会标记警告

12 色调色盘 —— 聚类间视觉区分清晰

社区图例 —— 显示每个聚类的顶部节点标签、成员数量和内聚力

Louvain Community Detection

  1. 图谱洞察 —— 意外连接与知识空白

原版中没有此功能。系统自动分析图谱结构以呈现可操作的洞察:

意外连接:

检测意外关系:跨社区边、跨类型链接、外围↔中心耦合

复合惊讶评分对最值得注意的连接进行排序

可忽略 —— 将连接标记为已审查,使其不再出现

孤立页面(度数 ≤ 1)—— 与知识库其余部分几乎没有连接的页面

稀疏社区(内聚力 < 0.15,≥ 3 页)—— 内部交叉引用薄弱的知识区域

桥接节点(连接 3+ 个聚类)—— 将多个知识领域连接在一起的关键枢纽页面

点击任意洞察卡片可在图谱中高亮对应的节点和边;再次点击取消选择

知识空白和桥接节点有 Deep Research 按钮 —— 触发 LLM 优化的研究,带有领域感知主题(读取 overview.md + purpose.md 获取上下文)

研究主题显示在可编辑的确认对话框中再开始 —— 用户可以细化主题和搜索查询

Graph Insights

  1. 优化查询检索流水线

原版描述了一个简单查询:LLM 读取相关页面。我们构建了一个多阶段检索流水线,支持可选的向量搜索和预算控制:

阶段 1:分词搜索
  - 英文:分词 + 停用词移除
  - 中文:CJK 二元分词(每个 → [每个, 个…])
  - 标题匹配加分(+10 分)
  - 同时搜索 wiki/ 和 raw/sources/

阶段 1.5:向量语义搜索(可选)
  - 通过任意 OpenAI 兼容的 /v1/embeddings 端点进行嵌入
  - 存储于 LanceDB(Rust 后端)以实现快速 ANN 检索
  - 余弦相似度可在无关键词重叠时找到语义相关的页面
  - 结果合并到搜索中:提升已有匹配 + 添加新发现

阶段 2:图谱扩展
  - 搜索结果顶部用作种子节点
  - 4 信号相关模型查找相关页面
  - 带衰减的 2 跳遍历以发现更深层连接

阶段 3:预算控制
  - 可配置上下文窗口:4K → 1M tokens
  - 按比例分配:60% 知识库页面,20% 聊天历史,5% 索引,15% 系统
  - 页面按搜索 + 图谱综合相关评分排序

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

向量搜索完全可选 —— 默认禁用,在设置中启用,支持独立端点、API 密钥和模型配置。禁用时,流水线回退到分词搜索 + 图谱扩展。基准测试:启用向量搜索后,总体召回率从 58.2% 提升至 71.4%。

  1. 支持持久化的多会话聊天

原版只有单一查询界面。我们构建了完整的多会话支持:

独立聊天会话 —— 创建、重命名、删除会话

聊天侧边栏 —— 快速切换不同主题

按会话持久化 —— 每个会话保存至 .llm-wiki/chats/{id}.json

可配置的历史深度 —— 限制作为上下文发送的消息数量(默认:10)

引用参考面板 —— 每个回复底部可折叠的区域,显示使用了哪些知识库页面,按类型分组并带图标

引用持久化 —— 引用页面直接存储在消息数据中,跨重启保持稳定

重新生成 —— 一键重新生成上一个回复(移除最后一对助手 + 用户消息对,重新发送)

保存到知识库 —— 将有价值的回答归档至 wiki/queries/,然后自动 ingest 以将实体/概念提取到知识网络

  1. Rust 后端聊天 Agent 与 Skills

原版中没有此功能。聊天现在通过 Rust 后端 Agent 运行时运行,而非浏览器端 TypeScript 循环:

工具型 Agent —— 可选择知识库搜索、来源搜索、图谱搜索、网页搜索、AnyTXT、工作区文件工具、已批准的 shell 命令和 skill 文件读取

Skill 管理 —— 扫描项目和用户 skill 文件夹,启用或禁用 skills,并可通过 /skill completion 为每个会话选择 skill

生成的工作区输出 —— Agent 工具产生的文件保留在 agent-workspace/ 下,显示为生成输出,可从聊天中预览或打开

用户交互表单 —— skills 可请求结构化用户输入,如单选、多选或自由文本,无需硬编码 skill 专用 UI

更安全的执行模型 —— 项目工作区命令可继续平稳运行,而外部 shell 命令仍需明确批准

  1. 思考/推理展示

原版中没有此功能。针对发出 <think> 块的 LLMs(DeepSeek、QwQ 等):

流式思考 —— 生成期间 5 行滚动展示,带透明度渐变

默认折叠 —— 思考块完成后隐藏,点击展开

视觉区分 —— 思考内容以独特样式显示,与主回复分开

  1. Markdown 渲染:KaTeX 数学公式与 Mermaid 图表

原版中没有此功能。在聊天和预览中提供丰富的 Markdown 渲染:

KaTeX 渲染 —— 内联 $...$ 和块级 $$...$$ 公式通过 remark-math + rehype-katex 渲染

Milkdown 数学插件 —— 预览编辑器通过 @milkdown/plugin-math 原生渲染数学公式

自动检测 —— 裸 \begin{aligned} 和其他 LaTeX 环境自动包装 $$ 分隔符

Unicode 回退 —— 100+ 符号映射(α、∑、→、≤ 等),用于数学块外的简单内联符号

Mermaid 代码块 —— 围栏 mermaid 图表直接渲染为流程图、时序图和其他 Mermaid 支持的图形

紧凑的 Mermaid 错误提示 —— 语法失败被捕获在小型错误卡片中,而非将原始解析器输出泄漏到聊天

  1. 审核系统(异步人类参与循环)

原版建议在 ingest 期间保持参与。我们添加了异步审核队列:

LLM 在 ingest 期间标记需要人工判断的项目

预定义操作类型:创建页面、深度研究、跳过 —— 约束以防止 LLM 产生任意操作的幻觉

搜索查询在 ingest 时生成 —— LLM 预先生成每个审核项目的优化网页搜索查询

用户按自己的节奏处理审核 —— 不阻塞 ingest

Deep Research

  1. 深度研究(LLM 驱动的知识发现与补全)

原版中没有此功能。当 LLM 识别到知识空白时:

通过 Tavily、SerpApi 或 SearXNG 进行网页搜索,从相关来源提取完整内容(不截断)

提供商特定配置 —— Tavily 和 SerpApi 使用独立 API 密钥;SerpApi 支持可选搜索引擎,SearXNG 使用配置好的实例 URL 和搜索类别

每个主题多个搜索查询 —— 在 ingest 时由 LLM 生成,针对搜索引擎优化

LLM 优化的研究主题 —— 从图谱洞察触发时,LLM 读取 overview.md + purpose.md 以生成领域特定主题和查询(而非通用关键词)

用户确认对话框 —— 显示可编辑的主题和搜索查询供审核,研究开始前

LLM 将发现综合成知识库研究页面,带有对现有知识库的交叉引用

思考展示 —— <think> 块在综合期间显示为可折叠部分,自动滚动到最新内容

自动 ingest —— 研究结果自动处理以将实体/概念提取到知识库

任务队列,3 个并发任务

研究面板 —— 专用侧边栏面板,动态高度,实时流式进度

  1. 浏览器扩展(网页剪藏)

Chrome Extension Web Clipper

原版提及 Obsidian Web Clipper。我们构建了专用 Chrome 扩展(Manifest V3):

Mozilla Readability.js 用于准确的文章提取(去除广告、导航、侧边栏)

Turndown.js 用于 HTML → Markdown 转换,支持表格

项目选择器 —— 选择剪藏到哪个知识库(支持多项目)

本地 HTTP API(端口 19827,tiny_http)—— 扩展 ↔ 应用通信

Auto-ingest — 剪藏内容自动触发两步引入管道

剪藏监听器 — 每 3 秒轮询一次新剪藏,自动处理

离线预览 — 即使应用未运行也能显示已提取内容

  1. 多格式文档支持

原项目专注于文本/markdown。我们支持保留文档语义的结构化提取:

MinerU 是可选项。针对复杂 PDF,可使用 MinerU Cloud、官方 Local API 端点或 Local Pipeline 模式。Local 模式将处理保留在本地机器上,提取的图片存储在项目管理的 wiki/media 目录中。如果 MinerU 失败,LLM Wiki 会回退到内置解析器。

  1. 级联清理的文件删除

原项目没有删除机制。我们添加了智能级联删除:

删除源文件会移除其 wiki 摘要页

三种方法匹配查找相关 wiki 页面:frontmatter 的 sources[] 字段、源摘要页名称、frontmatter 的 section 引用

共享实体保留 — 链接到多个源的实体/概念页面只从其 sources[] 数组中移除被删除的源,而非整体删除

索引清理 — 已移除的页面从 index.md 中清除

Wikilink 清理 — 剩余 wiki 页面中指向已删除页面的死链 [[wikilinks]] 会被移除

  1. 可配置的上下文窗口

原项目没有此功能。用户可以配置 LLM 接收多少上下文:

4K 到 1M token 的滑块 — 适配不同 LLM 能力

按比例分配预算 — 更大的窗口获得比例更多的 wiki 内容

60/20/5/15 分配比例 — wiki 页面 / 聊天历史 / 索引 / 系统提示词

  1. 跨平台兼容性

原项目是平台无关的(抽象模式)。我们处理具体的跨平台问题:

路径规范化 — 统一的 normalizePath() 在 22+ 个文件中使用,反斜杠 → 正斜杠

Unicode 安全的字符串处理 — 基于字符的切片而非基于字节(防止 CJK 文件名崩溃)

macOS 关闭即隐藏 — 关闭按钮隐藏窗口(应用在后台继续运行),点击 dock 图标恢复,Cmd+Q 退出

Windows/Linux 关闭确认 — 退出前弹出确认对话框,防止意外丢失数据

Tauri v2 — macOS、Windows、Linux 原生桌面

GitHub Actions CI/CD — macOS(ARM + Intel)、Windows(.msi)、Linux(.deb / .AppImage)自动化构建

i18n — 英文 + 中文界面(react-i18next)

设置持久化 — LLM 提供商、API key、模型、上下文大小、语言通过 Tauri Store 保存

Obsidian 配置 — 自动生成 .obsidian/ 目录,包含推荐设置

Markdown 渲染 — GFM 表格带边框、正确的代码块、聊天和预览中的 wikilink 处理

多提供商 LLM 支持 — OpenAI、Anthropic、Google、Ollama、Custom — 每个都有提供商特定的流式处理和请求头

可配置的 LLM 超时 — 为慢速本地模型和长时间运行操作调整请求超时

可配置的 Firecrawl — 可选的 API key 和自定义 Base URL,用于托管或自托管服务

可折叠的文件侧边栏 — 折叠 Knowledge/Files 导航同时保留其状态

项目维护 — ZIP 导出/导入用于迁移和确定性的 wiki/index.md 重建

dataVersion 信令 — 当 wiki 内容变化时,图表和 UI 自动刷新

从 Releases 下载:

macOS: .dmg(Apple Silicon + Intel)

Linux: .deb / .AppImage

# 前置条件:Node.js 20+、Rust 1.88+、protoc
#   macOS:  brew install protobuf
#   Linux:  sudo apt install protobuf-compiler
#   Windows: choco install protoc
git clone https://github.com/nashsu/llm_wiki.git
cd llm_wiki
npm install
npm --prefix mcp-server ci && npm run mcp:build   # mcp-server/dist 作为 Tauri 资源打包
npm run tauri dev      # 开发模式
npm run tauri build    # 生产构建

打开 chrome://extensions

启用"开发者模式"

点击"加载已解压的扩展程序"

选择 extension/ 目录

用 Alt+Shift+L(macOS 上为 Command+Shift+L)剪藏当前页面。在 chrome://extensions/shortcuts 自定义快捷键。

启动应用 → 创建新项目(选择模板)

进入 Settings → 配置 LLM 提供商(API key + 模型)

可选:在 Settings 中配置 Web Search 提供商和源文件夹自动监听

进入 Sources → 导入文档(PDF、DOCX、MD 等)

观察 Activity Panel — LLM 自动构建 wiki 页面

使用 Chat 查询你的知识库

浏览 Knowledge Graph 查看关联

检查 Review 中需要你关注的事项

定期运行 Lint 维护 wiki 健康状态

本地 HTTP API + MCP Server + AI Agent Skill

LLM Wiki 在 http://127.0.0.1:19828 附带内置本地 HTTP API(令牌保护,仅限 127.0.0.1),以便外部工具(包括 AI 智能体如 Claude Code、Codex 或任何支持 HTTP 的脚本)可以查询你的 wiki:

GET /api/v1/health — 服务器状态(无需认证)

GET /api/v1/projects — 列出项目

GET /api/v1/projects/{id}/files / files/content — 读取文件和内容

GET /api/v1/projects/{id}/reviews?status=unresolved — 导出 Review 标签页项目用于 wiki 维护(status: unresolved、resolved 或 all;可选 type 和 limit)

PATCH /api/v1/projects/{id}/reviews/{reviewId} — 更新一条 Review 项目(JSON body { "resolved": true, "action": "label" };resolved 默认为 true,传 false 可重新打开)

POST /api/v1/projects/{id}/reviews/resolve — 批量解析 Review 项目(JSON body { "ids": [...], "action": "label" }),返回 { resolved, notFound, count };Review 标签页的 Refresh 按钮从磁盘重新读取结果

POST /api/v1/projects/{id}/search — 混合检索(关键词 + 向量),返回 mode、tokenHits、vectorHits、每条结果的 vectorScore

POST /api/v1/projects/{id}/chat — 后端 Agent 聊天端点,用于 wiki/source/web/AnyTXT 检索。JSON 请求默认保持非流式;发送 "stream": true 或 Accept: text/event-stream 以获取 SSE 事件(meta、incremental agent,然后是 done、cancelled 或 error)。终端 done

Original source

本文由 AI 翻译整理自 GitHub Trending,原文版权归原作者所有。

阅读英文原文
上一篇
评测编码Agent前,先用同一组任务跑两遍
下一篇
深入解析结构化输出:让 AI 生成绝对可解析的 JSON