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 客户端配合使用,提供捕获、摄取、可搜索召回、健康检查和可选的代理轨迹记忆——所有这些都采用开放、版本控制的格式。
相关
- 项目
- 项目
- 项目
- 项目
- 项目