IWE 知识图谱与智能体记忆
把本地 Markdown 笔记变成可查询、可重构的知识图谱与智能体记忆。
证据明确说明数据保存在本地 Markdown 文件中,MCP 服务受启动目录约束,插件权限可限制为 Bash(iwe:*),且 MCP 写操作必须声明影响范围并在写入前整体校验。因未展示逐次变更的用户确认机制、敏感笔记或凭据的专门保护措施、依赖审计或漏洞响应策略而扣分。Git 可提供可恢复路径,校验失败会中止写入,但未说明内置回滚命令。作者、组织、许可证及社区渠道均有归属信息,但发布者身份未经企业注册表验证,仍属未知。
README 对 CLI、LSP、MCP、插件和本地文件模型的描述总体一致,Cargo 工作区也包含对应组件。多种安装渠道和明确的 Rust 版本要求支持普通部署,但仍依赖包注册表、npx、Homebrew、外部编辑器及 MCP 客户端。源码材料称范围或模式校验失败会指出违规块或字段,不过没有提供完整的错误目录、恢复指导或常见故障排查,因此未给满分。
目标用户、笔记查询、编辑器操作、代理记忆、OKF 和脚本化场景均被具体区分。边界说明较强:IWE 本身不含 AI,CLI 与 MCP 是当前稳定集成面,自动会话捕获仅属于 Claude Code,liwe API 尚不稳定。触发范围通过工作目录、MEMORY.md、初始化步骤和手动技能调用得到一定约束,但材料没有列出 MCP 工具级触发规范或所有写操作的精确选择条件。macOS、Linux、Windows、多个编辑器及多种安装方式覆盖充分。
README 结构清晰,包含能力、原理、AI 集成、编辑器、快速开始、文档、参与方式和许可证;安装与配置示例也很完整。命令和组件命名基本一致,但 iwe、iwes、iwec 的角色并未在所给材料中逐一解释,且 liwe 明确尚未 API 稳定。示例丰富但没有实际 FAQ;已披露自动捕获和库 API 的限制,却没有集中列出全部已知限制。Apache-2.0 在 README、Cargo 和 Homebrew 配方中一致。版本号和自动发布流程可见,但未提供变更日志内容。维护渠道和作者信息存在,实际组织责任及企业身份仍未独立确认。
输出保持为可读、可审查、可由 Git 管理的 Markdown,并提供结构化检索、上下文展开、链接安全重构和模式校验,具有直接使用价值。相较单纯文本搜索,父子图、交叉引用及受保护的结构化修改提供了明确增量价值。无云、无数据库及多种安装选项降低锁定成本,但初始化、编辑器或 MCP 配置、模式管理和外部运行时仍带来维护成本;性能数字在给定材料中只有声明而没有基准正文,因此成本收益未给满分。
多数能力声明对应具体命令、配置片段、工作区组件或文档入口,Cargo 和发布工作流也能交叉支持版本、许可证、组件及分发声明。由于评审材料没有包括实现代码、锁文件、测试、基准正文或链接目标内容,写入保护、性能和完整功能范围只能部分追溯。文本能明确区分本地事实、当前稳定集成面、社区维护渠道和路线图,但仍包含未由所给文件独立佐证的性能及采用情况等推广性陈述。
- 在让代理写入重要笔记前,应使用版本控制、审查差异并限制 MCP 服务的工作目录;材料未展示逐次写入确认或专用回滚功能。
- 本地存储不等于敏感数据保护;所给文件没有说明加密、访问控制、日志脱敏或凭据处理政策。
- 安装和发布依赖多个外部注册表、GitHub Actions 及第三方操作;所给材料未包含锁文件、依赖审计或漏洞处置证据。
- liwe 库 API 明确尚不稳定,嵌入式集成应固定版本并预期兼容性变化。
- 性能和部分安全行为仅由 README 声明,本次静态评审没有执行或独立验证。
这个 Agent 能做什么,适合哪些场景?
IWE 是用 Rust 构建的本地优先知识管理系统,将一个 Markdown 文件目录解析为由包含链接、交叉引用和多父节点关系组成的知识图谱。它提供 `iwe` 命令行工具、`iwec` MCP 服务器以及面向编辑器的 LSP 功能,让用户和 AI 智能体操作同一批文件。智能体可以搜索、检索、新建及重构笔记,并取得父级上下文、子节点和相关链接,而输出仍是可检查、可用 Git 管理的普通 Markdown。写入操作可以声明影响范围,并接受文档模式、孤立页面和悬空链接等检查。系统本身不包含 AI 模型,也不需要云数据库;部署边界是用户指定的本地笔记目录,但编辑器、MCP 客户端和自动会话记忆的支持程度各有不同。
IWE 扫描本地 .md 文件,通过独占一行的包含链接建立层级,并用普通行内链接建立跨主题关系。iwe find 执行模糊搜索、全文排序,以及针对 frontmatter 和图边的过滤;iwe retrieve 返回文档及其链接上下文;iwe tree 展示指定节点以下的层级。iwe update 使用 expect 保护执行 frontmatter 或目标块修改,iwe schema 推断或验证文档模式,另有 new、extract、inline、rename、delete、normalize 和 export 等命令。iwec 通过 MCP 暴露搜索、检索、创建和重构操作,并监视文件变化。LSP 则为 VS Code、Neovim、Zed、Helix 等编辑器提供跳转、引用查找、悬停预览、链接补全、重命名、格式化和模板功能。对于 Claude Code,独立的 IWE 插件可以把会话中形成的知识写入仓库内的 IWE 工作区,形成可审查的 Markdown diff。
- 使用大量 Markdown 笔记的研究者,希望按主题层级、frontmatter 和交叉引用查询资料,同时保留本地文件所有权。
- 在 VS Code、Neovim、Zed 或 Helix 中维护知识库的用户,需要链接补全、反向引用、重命名和结构化重构等 IDE 能力。
- 为编码智能体配置长期项目记忆的团队,希望把会话结论保存为仓库内可审查、可版本控制的 Markdown。
- 使用 Claude Desktop、Cursor 或 Windsurf 的用户,希望通过 MCP 让模型搜索、读取、创建和重构本地笔记。
- 维护 OKF 知识包的团队,需要用
iwe init --okf创建结构、用iwe schema validate验证一致性,并按 YAML frontmatter 查询文档。 - 拥有数万篇笔记的个人知识管理用户,需要在不迁移到专有数据库的情况下获得图谱导航和结构化检索。
这个 Agent 有哪些优点和局限?
- 笔记始终是本地普通 Markdown 文件,无云数据库或专有存储锁定,可直接编辑、审查并用 Git 版本控制。
- CLI、MCP 和 LSP 操作同一知识图谱,人工编辑与智能体检索不需要维护两套数据。
- 检索不仅返回搜索命中,还能扩展父级上下文、子节点和交叉引用,支持结构驱动的上下文组装。
- 写入可使用
expect声明影响范围;MCP 强制要求保护条件,并能拒绝违反文档模式的修改。 - 同一笔记可拥有多个父节点,适合无法自然归入单一文件夹的主题。
- 提供 OKF 初始化、验证和 frontmatter 查询能力。
- IWE 本身没有内置 AI;用户仍需另行配置 Claude、Codex、Gemini 或支持 MCP 的工具。
- Claude Code 之外的运行时只有手动调用的技能,README 明确表示自动会话捕获属于 Claude Code 插件。
- Claude Code 插件要求 IWE CLI 0.20.0 或更新版本,并需要为
iweshell 命令配置权限。 - MCP 客户端必须正确设置服务器工作目录;设置错误会让服务器面向错误的笔记集合。
- 已发布的
liweRust 库尚未达到 API 稳定状态,直接嵌入项目时需要固定版本并承担升级风险。 - 其核心结构依赖 IWE 的包含链接约定;现有 Markdown 库若主要使用文件夹层级,可能需要重新整理链接。
如何安装或部署这个 Agent?
安装方式任选其一:macOS 或 Linux 可运行 brew install iwe-org/iwe/iwe;macOS、Linux 或 Windows 可运行 npm install -g @iwe-org/iwe;Rust 用户可运行 cargo install iwe iwes iwec;也可运行 conda install -c conda-forge iwe,但该包由社区维护。进入笔记目录后运行 iwe init。Claude Code 自动记忆要求 PATH 中存在 IWE CLI 0.20.0 或更高版本,然后执行 /plugin marketplace add iwe-org/skills、/plugin install iwe@iwe-org,并在目标仓库运行 /iwe:init。使用 Codex、Cursor 或 OpenCode 的用户可通过 npx skills add iwe-org/skills 安装 /init、/distill、/reflect 和 /graph 项目技能;这些运行时需要手动调用技能。
如何使用这个 Agent?
初始化工作区:cd ~/notes,然后运行 iwe init。可先用 iwe find --fuzzy auth 找到入口,再用 iwe retrieve --key authentication --expand-includes 2 获取笔记及父子上下文,或用 iwe tree --key oauth 查看层级。若要连接 MCP 客户端,可配置 {"mcpServers":{"iwe":{"command":"iwec","cwd":"~/notes"}}};也可配置 {"mcpServers":{"iwe":{"command":"npx","args":["-y","@iwe-org/mcp"],"cwd":"~/notes"}}},由 npx 按需获取服务器。MCP 服务器服务于其工作目录,因此 cwd 必须指向目标笔记目录。Claude Code 用户完成插件安装后,在需要记忆的仓库运行 /iwe:init;后台捕获仅调用 iwe,可允许 Bash(iwe:*)。没有 MEMORY.md 或未安装 CLI 时,相关钩子会静默退出。
这个 Agent 与同类方案有什么区别?
与把笔记迁入实际数据库相比,IWE 保留本地 Markdown 文件,并通过链接和 YAML frontmatter提供数据库式查询。与单纯的文件夹树相比,同一笔记可以属于多个主题。与仅凭相似度猜测上下文的向量检索相比,IWE 强调通过父子关系和交叉引用进行结构化检索;它也可以与 ripgrep、全文搜索或向量工具组合,由外部工具定位笔记,再由 IWE 补充周边上下文。
常见问题
使用 IWE 是否必须购买模型或云服务?
智能体可以任意修改整个知识库吗?
expect 保护条件,声明允许影响的文档和块数量;验证不符时整个更新会中止。文档模式违规也会被拒绝,修改还会报告悬空链接和孤立页面等问题。没有 MCP 客户端还能使用吗?
iwe CLI,编辑器用户也可通过 LSP 获得导航、补全和重构功能。MCP 只是原生智能体连接方式之一。Claude Code 记忆功能会影响所有仓库吗?
/iwe:init;如果不存在 MEMORY.md 或系统未安装 CLI,钩子会静默退出。能否把 IWE 当作稳定的 Rust 库嵌入产品?
liwe 已发布,但其 API 尚未稳定。当前明确的实用集成面是 CLI 和 MCP 服务器;若直接依赖该库,应固定版本。