桃子桃子快讯
返回首页
工具

Engram 发布:面向 AI 代理的本地化持久记忆中间件

开源 npm 包 Engram 提供本地、离线、MCP 原生的代理记忆层,可选 Qwen3-1.7B 提升实体抽取精度。

2026.07.06 · 周一4 分钟阅读

面向 AI 代理的开源记忆中间件 Engram 正式发布,主打「进程内运行、零云端依赖、原生支持 Model Context Protocol」的设计思路。该项目以 npm 包形式分发,MIT 协议开源,安装后即可让 Claude Desktop、Claude Code、Cursor、Windsurf、Cline 等 MCP 客户端获得长期记忆能力。

核心特性

Engram 的核心定位是「轻量、本地优先」。它运行在代理进程内部,不依赖独立的数据库、消息队列或云服务账户,默认路径下不产生任何网络请求:

  • 进程内运行:无需额外部署服务,没有 IPC 开销或 fork 进程。
  • 完全离线:底层使用本地 SQLite,附带 all-MiniLM-L6-v2 嵌入模型(约 23 MB),首次下载后缓存在 ~/.engram/models。
  • MCP 原生:与 Claude Desktop、Claude Code、Cursor、Windsurf、Cline 等客户端一等公民集成。
  • 默认安全:每次写入自动做密钥检测,API Key、私钥、连接串、JWT 等敏感信息在落库前即被拦截。

性能与体积数据

项目方在 Apple M4 Pro 上以 1000 条种子记忆做了基准测试,给出了以下数字:

  • 冷启动到首次召回:低于 200 ms(含模型加载)。
  • 热召回(1k 记忆,p50):约 4 ms。
  • npm 包下载体积:约 571 KB(解压后 1.3 MB)。
  • 嵌入模型体积:约 23 MB。
  • 外部服务依赖:0。
  • 离线工作:是,默认路径零网络调用。

需要指出的是,这些是延迟与体积指标,并不构成准确率声明,项目方明确表示并未尝试在记忆基准上超越 Mem0 或 Zep。

可选的本地 LLM 抽取

Engram 默认走基于规则的事实抽取路径,保证零配置即用。如果用户已经在本地运行大模型,可以开启可选的 LLM 抽取层:在本地通过 Ollama 或任意 OpenAI 兼容端点调用一个轻量模型,对记忆做实体与类别抽取。项目方推荐使用 henrybarefoot1987/engram-extract(基于 Qwen3-1.7B,Apache-2.0 协议)。

在其基准中,实体抽取准确率从纯规则方案的 45.8% 提升到 95.8%,提升幅度达 +50 个百分点。整个过程仍然 100% 本地,无任何字节离开设备。

与同类方案的横向对比

项目方将其与 Mem0、OpenMemory、Zep、Letta 以及 Lodis 做了对照,关键差异如下:

  • 基础设施:Engram 与 Lodis 都无需额外部署;Mem0 通常需要云账户或多容器 Docker;Zep、Letta 则需要 Docker + Postgres。
  • 离线能力:Engram、Lodis 默认离线;Mem0、Zep、Letta 依赖外部嵌入或 LLM 提供方。
  • MCP 支持:Engram 与 Lodis 以 MCP 为主;Mem0 通过 OpenMemory 提供 MCP 服务器;Zep、Letta 仅 REST/SDK。
  • 安全机制:Engram 在每次写入时自动拦截敏感信息;其他方案多为可选或非一等公民。

Engram 自身定位是「一个聚焦、稳定、本地优先的记忆层」,强调 5 类记忆的简单心智模型、桌面端 Tauri 菜单栏应用、仪表盘集成向导等实用特性,与 Lodis 偏知识图谱风格、Mem0/Zep/Letta 偏云端 SaaS 的路线形成区分。

许可与赞助

Engram 采用 MIT 协议,对商业使用完全开放。所有功能均包含在开源包内,无付费墙、无分级锁、无遥测采集。项目同时提供 Polar 赞助通道,设有 5、25、100、499 美元四档,分别面向个人爱好者、重度用户、团队与企业用户;企业档位主要换取问题优先级响应与集成协助,并不涉及许可证解锁。

信源