SuperAPI AI 工具集

engram

Engram 是一个为 AI 智能体提供持久化记忆的开源工具,基于本地 SQLite 和内嵌嵌入模型实现,无需云服务、API 密钥或 Docker。它以 MCP(Model Context Protocol)原生方式集成 Claude Desktop、Claude Code、Cursor、Windsurf、Cline 等客户端,提供语义与全文混合检索,并内置密钥检测、矛盾检测、去重与衰减等机制,所有数据留在本机。

访问官网

工具介绍

Engram 是一个面向 AI 智能体的持久化记忆层,采用进程内运行方式,基于本地 SQLite 存储与本地嵌入,宣称零云依赖、无需 API 密钥、无需 Docker。项目采用 MIT 许可。

用途 为 AI 智能体提供长期记忆,使其能够跨会话、跨机器重启、跨不同 AI 客户端共享同一 Engram 实例时保留记忆内容。

主要能力

  1. 存储与召回:engram_remember 将内容经密钥检测后使用 all-MiniLM-L6-v2(约 23 MB,仅 CPU,首次下载后缓存于 ~/.engram/models/)本地嵌入;嵌入与元数据存入 SQLite(~/.engram/memory.db)。engram_recall 对查询嵌入,通过 FTS5 与命名空间内嵌入获取候选,并按 (相似度 × 0.45) + (新近度 × 0.15) + (置信度 × 0.15) + (访问 × 0.05) + (反馈 × 0.10) + fts_boost 评分返回。
  2. 记忆分类:包含 fact(客观事实)、preference(偏好)、pattern(模式)、decision(决策)、outcome(结果)五类。
  3. 学习机制:engram_feedback 允许对召回记忆投票有帮助/无帮助,记忆累积 [-1, 1] 分数,5 票以上后调整置信度;持续无帮助的记忆置信度自动衰减。
  4. 矛盾检测:两条记忆冲突时由整合引擎标记,仪表盘 Conflicts 标签页可并排查看并提供保留 A、保留 B、都保留、忽略四种处理动作;启用可选 LLM 层后增加 LLM 确认步骤以减少误报。
  5. 去重与衰减:插入时完全相同(相似度 ≥0.95)的记忆被拒绝,近似重复(0.92–0.95)将新内容并入已有记录;长期未被召回的记记忆置信度随时间下降。
  6. 安全防护:每次写入经过基于模式的密钥检测(OpenAI/Stripe/AWS/GitHub/Slack/Google 密钥、私钥、连接字符串、JWT、高熵字符串),检测到的密钥要么拒绝该记忆,要么脱敏。
  7. MCP 工具:通过 stdio 向 AI 智能体暴露 6 个工具。
  8. 仪表盘:内置 React 仪表盘位于 http://localhost:3838,含 Dashboard(统计、近期活动、健康度)、Memories(浏览、筛选、内联编辑、批量删除)、Search(语义搜索与评分明细)、Statistics(按分类/命名空间/时间的图表)、Health(陈旧、从未召回、低反馈记忆及一键清理)、Conflicts(矛盾并排解决)、Agents(自动检测已安装 AI 客户端并写入 MCP 配置,带时间戳备份)、Import(导入 cursorrules、.claude 文件、package.json、git config、SSH config、shell history、Obsidian、.env)。REST API 默认运行于 http://localhost:3838。
  9. 记忆技能:包内附带 engram-memory 技能,作为判断层,教智能体在会话开始召回、将持久决策/纠正/结果实时存储、结束时写回结果;适用于 Claude Code、Claude Desktop、Cowork 或任何读取 Agent Skills 规范(.agents/skills)的框架。可通过 engram skill install / engram skill uninstall 管理。
  10. 命名空间隔离与时间查询:支持命名空间隔离;MCP 与 REST 支持时间范围过滤,engram_recall 可传 time_filter 对象,支持 after / before(ISO 日期或“3 days ago”等相对字符串)或 period 简写(today、yesterday、this_week、last_week、this_month、last_month、this_year、last_year)。
  11. 可选本地 LLM 增强(v1.9+):默认关闭(llm.provider: null),零配置路径使用基于规则的提取且不调用 LLM。启用后可提升对新记忆的分类/实体/置信度识别,并增加 LLM 确认步骤减少矛盾误报。使用本地 Ollama(默认)或任意 OpenAI 兼容的本地服务器(LM Studio、llama.cpp)。推荐模型为 henrybarefoot1987/engram-extract(基于 Qwen3-1.7B,Apache-2.0,© Alibaba Cloud;Engram 仅添加提取提示与约束输出配置)。若端点非本地(localhost/127.0.0.1),记忆内容会被发送到该处,桌面端 AI Enhancement 标签页会显示明确警告;模型不可达时熔断器暂停该层并回退到基于规则的提取。

使用方式

  1. 安装与启动:仓库提供安装与启动服务器的步骤(具体命令见仓库 README)。
  2. 连接 AI 智能体:Claude Desktop 在 ~/Library/Application Support/Claude/claude_desktop_config.json 添加 mcpServers 配置块;Cline / Cursor / Windsurf 在编辑器 MCP 配置中添加相同 mcpServers 块;也可通过 http://localhost:3838 的内置仪表盘的 Integration Wizard 自动检测已安装智能体并生成配置。
  3. 数据目录:所有内容存放在 ~/.engram/ 下;覆盖优先级为 --data-dir 参数 > ENGRAM_DATA_DIR 环境变量 > ~/.engram/config.json 中的 dataDir > 默认 ~/.engram。
  4. 沙盒评估:可将数据目录指向临时位置以免触碰 ~/.engram/memory.db,适用于首次评估、CI 运行或使用全新数据库测试桌面 sidecar。
  5. 配置:默认开箱可用;自定义配置文件为 ~/.engram/config.json,llm.* 块用于可选的本地 AI 增强。
  6. 库用法:可作为库在 Node.js 应用内使用(详见仓库文档)。
  7. CLI:运行 engram --help 查看完整参数列表。

适用场景 希望为 AI 智能体增加本地优先、无需运维基础设施的长期记忆,且重视密钥防护与数据不出本机的开发者;跨多个 MCP 客户端共享统一记忆的场景。

限制与说明 Engram 不在记忆基准上与 Mem0 或 Zep 竞争排名,其定位是零运维面下的可靠召回。作者为独立开发者,企业层的优先响应为尽力而为,非合约 SLA。仓库中给出的性能数字来自 Apple M4 Pro、1000 条种子记忆的测试(可用 npm run bench 复现),属于占用与延迟数据而非准确率声明。可选 LLM 层默认关闭;零配置路径不调用 LLM。具体安装命令、完整配置字段、库调用示例等以仓库文档为准,本资料未完整提供。