zosmaai/pi-llm-wiki

Self-maintaining, Obsidian-compatible knowledge base for pi — turn raw sources into an interlinked wiki that compounds. Native Open Knowledge Format (OKF) v0.2.

📚 pi‑llm‑wiki – 自我维护、兼容 Obsidian 的 LLM 驱动 wiki

它是什么

  • 一个开源扩展(npm 包 @zosmaai/pi-llm-wiki),可让你构建一个持久、相互关联的知识库,这些知识库存放在纯 Markdown 文件中。它专为 pi 编码代理生态系统(以及兼容的 oh-my-pi 宿主)设计,但也附带一个通用 MCP(模型-客户端-协议)服务器,因此任何 Claude-Code、Cursor、Windsurf、Zed 等客户端都可以与之通信。
  • 它遵循 Andrej Karpathy 的 LLM Wiki 模式:捕获原始来源,LLM 摄取它们,生成的摘要成为永久性的 wiki 页面,模型之后可以查询这些页面。

为什么重要

  • 大多数 RAG 设置将文档视为一次性查找。pi-llm-wiki 添加了一个中间层,将来源转换为不可变的包,生成结构化的来源页面,然后创建规范的 概念/实体/综合/分析 页面。因此,wiki 是复合式的——每个新来源和每个已回答的问题都成为不断增长的、可搜索的知识图谱的一部分。
  • 所有页面都以 Open Knowledge Format (OKF) v0.2 存储,这是一种可移植、Obsidian 友好的 markdown 模式,具有稳定的前言和引用 ID。你可以移动保管库、对其进行版本控制或导出,而不会丢失出处。

关键概念与架构

层 位置 作用
个人 ~/.llm-wiki/ 始终活动,跨项目携带个人知识。
项目 <project>/.llm-wiki/ 可选的项目级 wiki,也可以从个人层读取。
公司(未来) Git 跟踪的仓库 共享团队 wiki;页面通过 wiki_publish 提升。

该扩展通过从当前目录向上查找 .llm-wiki/ 文件夹来解析活动保管库,如果找不到则回退到个人保管库。

主要功能

  • 捕获 (wiki_capture_source) – 将 URL、PDF、markdown、JSON、XML 或粘贴的文本转换为不可变的源数据包(raw/sources/SRC‑…)。
  • 摄取 (wiki_ingest) – 将捕获的数据包批量处理为四层 wiki 页面:来源摘要、概念、实体、综合和分析。
  • 召回 / 查询 (wiki_recall, /wiki-query) – 搜索个人和项目保管库,获取带有适当引用的模型生成答案,并可选地将答案存档为分析页面。
  • 搜索与索引 (wiki_search, wiki_reindex) – 词汇 QMD 索引(无需模型)加上可选的语义嵌入。
  • Lint 与护栏 (wiki_lint) – 对孤立页面、损坏链接、重复别名、覆盖缺口等进行确定性健康检查。
  • 仪表盘 (wiki_status, /wiki-dashboard) – 快速查看页面数量、新鲜度、近期活动和摄取队列。
  • 自动引导 – 首次在文件夹中运行扩展时,它提供创建新 wiki 的选项(/wiki-init)。
  • 代理工作记忆(可选) – 捕获已完成任务的工具调用轨迹(wiki_capture_trajectory),之后提炼为可复用的技能页面(wiki_distill_skills, /wiki-skills)。
  • MCP 服务器 – 一个独立的 stdio 服务器(dist/mcp/index.js),暴露所有工具,因此任何兼容 MCP 的客户端都可以在没有 pi 宿主的情况下使用 wiki。

安装与首次使用

# 使用 pi 宿主
pi install npm:@zosmaai/pi-llm-wiki
# 使用 oh‑my‑pi
omp install @zosmaai/pi-llm-wiki
# 或作为其他 MCP 客户端的常规 npm 开发依赖
npm install --save-dev @zosmaai/pi-llm-wiki

然后在终端(或通过 pi/omp 中的斜杠命令):

/wiki-init "AI research"
/wiki-capture_source https://example.com/article
/wiki_ingest   # 或 /wiki-ingest
/wiki-query "What are the trade‑offs between long‑context models and RAG?"

README 中的演示 GIF 展示了 pi 内的界面流程。

配置

  • 诸如 WIKI_ROOT(覆盖保管库位置)和 WIKI_MARKITDOWN_TIMEOUT_MS(PDF → markdown 提取超时)等环境变量会被尊重。
  • 设置从宿主的配置文件(.pi/settings.json、.omp/settings.json 等)中读取,并可通过 /wiki-settings 斜杠命令进行编辑。

项目健康

  • CI 徽章、npm 版本、下载统计、85% 测试覆盖率、CodeQL 和 Biome linting 都显示在 README 中,表明这是一个积极维护的 TypeScript 代码库。
  • 文档托管在 https://zosmaai.github.io/pi-llm-wiki/。

谁可能使用它

  • 希望拥有与 LLM 辅助工作保持同步的个人知识库的研究人员或工程师。
  • 计划共享基于相同 OKF 格式构建的公司级 wiki 的团队。
  • 任何使用 pi 或 oh-my-pi 代理,或任何 MCP 兼容 IDE,并希望获得基于文件、版本控制的替代专有 RAG 存储的人。

TL;DR:pi-llm-wiki 是一个 TypeScript npm 包,可将原始文档转换为可移植、兼容 Obsidian 的 markdown wiki,并由 LLM 自动维护。它与 pi/oh-my-pi 代理以及任何 MCP 客户端配合使用,提供捕获、摄取、可搜索召回、健康检查和可选的代理轨迹记忆——所有这些都采用开放、版本控制的格式。

相关

  • 项目
  • 项目
  • 项目
  • 项目
  • 项目