iwe
用纯 Markdown 文件构建 AI 可理解的知识图谱,支持 MCP 协议的本地 PKM 工具
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
用纯 Markdown 文件构建 AI 可理解的知识图谱,支持 MCP 协议的本地 PKM 工具
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
想象一下:你写了三年的笔记,零散地躺在文件夹里,每次想找点什么都要靠记忆和搜索。某天,你决定让这些笔记「学会自己连起来」——同一个概念可以在多个话题下出现,不用复制粘贴,链接自动维护。
这就是 IWE(Indexed Wiki Engine) 正在做的事:一个用 Rust 编写的高速 Markdown 知识图谱工具,它把你的纯文本笔记变成一张可导航、可查询、可被 AI 代理理解的结构化网络。

图1:IWE 将每个 Markdown 文档视为二叉树结构,每个标题/段落/链接都是图谱中的节点,节点之间通过包含关系(Inclusion Link)和交叉引用(Cross-reference)相连。
传统的 PKM(Personal Knowledge Management)工具——Notion、Obsidian、Roam Research——无一例外都需要专有数据库或云服务来存储笔记内容。这意味着你的笔记被锁在某个平台里,一旦平台倒闭、数据格式变更,笔记就面临迁移风险。
IWE 的创始团队(Dmytro Halichenko)从一开始就瞄准了一个不同的方向:让纯 Markdown 文件成为一等公民。你的 .md 文件仍然在本地目录里,可以用任何编辑器打开,git push 推送到 GitHub,一切都和现在一样——只是多了一个结构化解析层,把这些文件组织成图谱。
这一设计哲学体现在项目的每个细节里:没有数据库、没有云端、没有专有格式。License 是 Apache 2.0,代码完全开源,数据完全属于用户。这种「本地优先」(Local-first)的理念,与 Obsidian 的 Vault、Logseq 的 Page 概念一脉相承,但 IWE 更进一步:它的核心用户不是人,而是 AI 代理。
IWE 的魔力来自两种链接类型:
Inclusion Link(包含链接):在一行的开头写子主题名称,表示「这个笔记包含那个笔记」。例如在一篇「学习方法」笔记里,包含链接到「费曼技巧」和「主动回忆」两个子笔记。这种链接形成树形结构,可以用 iwe tree 命令浏览整个知识树的任意起点。
Cross-reference(交叉引用):传统的 [[wikilink]] 风格链接,用于建立跨话题的横向关联。「注意力机制」笔记可以被「深度学习」「认知科学」「产品设计」三个父主题同时引用,而无需复制内容。
正是这两种链接让 IWE 超越了简单的文件夹层级——同一个节点可以有多重父节点,在图论里这是一个有向无环图(DAG),在日常使用中意味着你的知识不需要重复存储,却可以从多个入口被找到。
IWE 还支持从父节点向上回溯:当你用 iwe retrieve --key xxx --depth 2 查询一个主题时,返回结果不仅包含该主题本身,还包含其所有祖先节点的上下文信息——这对于 AI 代理准备对话上下文极为有用。
这是 IWE 与其他 PKM 工具最本质的区别:它为 AI 代理设计了原生接口。
IWE 提供两类 AI 接入方式:CLI 命令行工具和 MCP 服务器(Model Context Protocol)。
MCP 服务器(iwec)是目前最主流的 AI 代理集成方式。只需在 Claude Desktop 或 Cursor 的 MCP 配置中加入几行 JSON,AI 就能直接操作你的笔记库:
iwe_find:模糊搜索笔记标题和内容iwe_retrieve:按主题深度检索,返回带父子上下文的完整信息iwe_tree:以树形结构展示知识层级iwe_create / iwe_extract / iwe_inline:在笔记间移动内容iwe_normalize:批量规范化 Markdown 格式(标题层级、链接标题等)iwe_rename:重命名笔记,所有引用自动更新MCP 服务器内置了文件监听机制——你在编辑器里直接修改 .md 文件时,内存中的图谱会自动同步,不需要重启服务。IWE 官方还维护了一个 skills 仓库,专门存放给 AI agent 用的 prompt 工作流,比如「探索」「评审」「重构」等常见操作场景。
对于喜欢自己写脚本的开发者,CLI 工具可以直接在终端或 pipeline 里调用,输出格式支持 JSON、YAML、Markdown 三种,可以用 iwe update 加 MongoDB 风格的 YAML 过滤器批量修改笔记元数据,自动化程度很高。
IWE 同样为人类用户提供了编辑器内的 IDE 体验。目前支持四种主流编辑器:
在 VS Code 里,IWE 提供了搜索、导航、预览、链接自动补全、内嵌提示(Inlay Hints)等完整功能。可以在编辑器左侧看到一个知识树大纲(Outline),悬停在任意 [[wikilink]] 上能看到目标笔记内容摘要,点击跳转到对应文件。
Neovim 用户则通过 iwe.nvim 插件获得 LSP(Language Server Protocol)级别的支持,这与其他工具的语言服务器工作方式完全一致,性能和集成度都很高。Zed 和 Helix 也各有独立插件。
这些编辑器扩展统一基于 IWE 的 LSP 服务器(iwes),所以无论用哪个编辑器,体验是一致的:搜索是同一个搜索,补全是同一个补全,差别只是操作习惯不同。
图2:IWE 知识图谱详细架构图。 最左侧是原始 Markdown 文件,经过解析后形成文档树(Document Tree)和知识图谱(Knowledge Graph),中间层是统一的查询引擎(Query Engine),右侧通过 MCP、CLI、LSP 三种接口分别服务于 AI 代理、命令行用户和编辑器插件。
IWE 官方提供了基准测试:处理 20,000 个 Markdown 文件只需要不到 1 秒。这个数字来自 crates/liwe 核心库的基准测试用例,在机械硬盘上依然能保持这个速度。
Rust 语言的选择在这里起到了决定性作用:Liwe 核心库(crates/liwe)使用了 rayon 做并行文件处理、pulldown-cmark 做 Markdown 解析、graphviz-rust 做图可视化。Workspace 结构清晰:crates/liwe 是核心库,crates/iwe 是 CLI,crates/iwes 是 LSP 服务器,crates/iwec 是 MCP 服务器——四个 crate 共享同一个 domain model,没有数据不一致的问题。
IWE 官方在 docs/comparison.md 中详细对比了 Obsidian、Logseq、Roam Research 等工具。与这些工具相比,IWE 的核心优势在于:
AI 原生:其他 PKM 工具的 AI 集成都是后来加的插件或 API 桥接,IWE 的 MCP 服务器是核心设计的一部分,crates/iwec 和 crates/liwe 是同一版本发布、同一代码库维护,版本永远同步。
无数据库:Obsidian 需要本地 SQLite 数据库,Roam 需要云端存储,Logseq 需要自己维护索引。IWE 的图谱是按需从文件系统实时构建的,不需要预索引,不需要数据库文件。
查询语言:IWE 支持 MongoDB 风格的 YAML 过滤器和图遍历操作符($includes、$includedBy、$referencedBy 等),这是 Obsidian 的 Dataview 和 Logseq 的自定义查询所不具备的图查询能力。
当然,IWE 目前缺乏可视化图谱界面(只能导出 Graphviz DOT 格式再用外部工具渲染),编辑器插件成熟度也不如 Obsidian 的 1500+ 插件生态。但对于纯命令行用户和 AI 开发者来说,IWE 的简洁性反而是优势。
IWE 是一款纯本地 CLI 工具,没有 Web 界面,也没有服务端组件。安装方式两种:
brew tap iwe-org/iwe
brew install iwe
cargo install iwe iwes iwec
iwe 是主 CLI,iwes 是 LSP 服务器(编辑器插件需要),iwec 是 MCP 服务器(AI 代理需要)。三个工具可以按需安装,不必全装。
安装后只需 iwe init 初始化工作目录,IWE 会扫描当前目录的 .md 文件构建图谱索引,立即可用。没有配置文件,没有数据库初始化,没有任何仪式感——Rust 编译型工具的典型特点。
IWE 最大的局限在于生态尚在早期。编辑器插件只有 VS Code、Neovim、Zed、Helix 四个,移动端、网页端为零。对于习惯了 Notion 或 Obsidian 那样完整 GUI 体验的用户来说,命令行优先的设计可能需要适应。
其次,Inclusion Link 的语法尚未标准化。IWE 用自己定义的语法在 Markdown 里嵌入结构信息,这与其他 PKM 工具(Obsidian 的 ![[]],Logseq 的 {{{}}})都不兼容。一旦用户决定从 IWE 迁移,数据迁移成本不可忽视。
第三,图可视化能力弱。目前只能导出 Graphviz DOT 格式,要看到知识网络的全貌需要配合外部工具。这意味着「知识图谱」对人类用户来说还是命令行里的抽象数据,而非视觉上的网络图。
IWE 代表了一个新兴趋势:AI-Native Knowledge Management。传统 PKM 工具诞生于人类记忆辅助的场景,AI 只是一个「更快的搜索」;而 IWE 从第一天就把 AI 代理定位为一级用户,CLI 和 MCP 接口不是为了「偶尔用一下」,而是为了让 AI 能在你的知识库里自主导航、自主写入、自主重构。
随着 MCP 生态的快速扩张(Claude Desktop、Cursor、Windsurf 等工具纷纷支持),IWE 这类为 AI 代理设计知识管理工具的价值正在凸显。它解决的核心问题是:如何让 AI 在每次对话中都能访问你的长期记忆,而不是只靠上下文窗口里的几百个 token。
GitHub 数据显示,IWE 的 star 数在近半年稳定增长,核心贡献者超过 10 人,文档体系(book.typ)相当完善。对于关注 AI 辅助知识管理、或正在构建 AI Agent 记忆系统的开发者来说,IWE 是一个值得深入了解的项目。
项目地址:iwe-org/iwe · 官网:iwe.md · License:Apache-2.0