MemPalace/mempalace

The best-benchmarked open-source AI memory system. And it's free.

概述

MemPalace 是面向 AI 助手(Claude Code、Codex CLI、Cursor、Gemini CLI 以及任何兼容 MCP 的客户端)的本地优先内存层。它会逐字存储对话记录——不进行总结或改写——并在新会话需要上下文时通过语义搜索进行检索。它主打隐私保护:除非你明确选择加入(例如连接到服务器端嵌入端点),否则数据不会离开你的设备。

解决的问题

AI 代理存在内存问题:每个新会话都是冷启动,而长时间运行的会话会因上下文压缩而丢失信息。例如,Claude Code 会话如果没有仔细配置钩子,大约 30 天后就会过期。MemPalace 为代理提供了过去工作的持久且可搜索的档案,使新会话能够通过检索做出决策的实际对话来回答“我们为什么改用 GraphQL?”这样的问题,而不是仅仅依靠摘要。

工作原理

  1. 挖掘 — CLI 命令(mempalace mine)摄取文件、Git 历史或 Claude Code 对话记录,并将其作为逐字文本块存储。
  2. 索引 — 使用本地模型(MiniLM 约 30MB,或多语言 EmbeddingGemma 约 300MB)对块进行嵌入,并存储在向量数据库中。默认后端是 ChromaDB;SQLite-exact、Rust-native、Milvus、Qdrant 和 pgvector 是可选替代方案。
  3. 结构化 — 索引使用宫殿隐喻:人/项目成为翼,主题成为房间,内容放在抽屉中。搜索可以限定在某个翼内,而不是针对整个语料库。
  4. 检索 — 搜索或 wake-up 命令将相关的过去会话拉入代理的上下文。
  5. 服务 — MCP 服务器(47 个工具)允许任何兼容 MCP 的代理在运行时查询宫殿:读/写、知识图谱操作、跨翼导航、通过日志流事件进行代理协调。

关键组件

  • CLI(mempalace):挖掘、搜索、唤醒、审计、清理——可通过 uv tool、pipx、virtualenv 或 Docker(多架构 amd64/arm64,通过 Dockerfile.gpu 提供 GPU 版本)安装。
  • MCP 服务器:暴露 47 个工具的 stdio JSON-RPC 服务器;作为子进程集成到 Claude Code 中。
  • 可插拔后端:在通用契约(backends/base.py)之后有六个存储后端;非默认后端均为可选加入。
  • 知识图谱:带有有效窗口的时态实体-关系图——添加、查询、失效、时间线——由本地 SQLite 支持。
  • 代理翼和日记:每个专业代理都有自己的命名空间,可在运行时发现,而不会使系统提示膨胀。
  • 自动保存钩子:适用于 Claude Code、Codex CLI 和 Cursor——定期保存和预压缩快照;sweep 添加每条消息的逐字抽屉。
  • 原生 Rust 引擎:rust_exact 后端和独立的 mempalace-native CLI 使用 Rust 向量引擎扫描同一个 SQLite 数据库,并在复杂情况下回退到 Python。
  • 设置技能:npx skills add MemPalace/mempalace 安装代理技能,用于检测系统、安装包、配置 MCP 并验证实时连接。

值得注意的细节/声明

  • 基准测试(均可从仓库重现):LongMemEval 检索召回率 R@5 为原始 96.6%(仅语义搜索,无 LLM,无 API 密钥),混合 v4 为98.4%(在 50 个样本的保留开发集上调整,在 450 个未见数据上报告),使用可选 LLM 重新排序时为**≥99%**(适用于任何性能良好的模型,如 Haiku、Sonnet、通过 Ollama Cloud 的 minimax)。此外还列出了 LoCoMo R@10 88.9%(混合 v5)、ConvoMem 平均召回率 92.9%、MemBench(ACL 2025)R@5 80.3%。
  • 诚实的基准测试:README 明确拒绝与 Mem0、Mastra、Hindsight、Supermemory 或 Zep 进行并排比较,称混合指标比较是不诚实的。它还指出重新排序的最后 0.6% 增益是“为测试而教学”,并刻意不将 100% 的数字作为宣传重点。
  • 安全态势:整个 CAUTION 部分警告了分发恶意软件的仿冒域名(mempalace.tech/.net 和其他 .com 变体)——只有 GitHub、PyPI 和 mempalaceofficial.com 是官方渠道。
  • Docker 问题已记录:Linux 绑定挂载上的 uid 1000 权限、首次运行模型下载(约 80MB/300MB,需要网络)、GPU 镜像仅限 x86(没有 aarch64 的 onnxruntime-gpu wheel)、develop 是默认分支(对于发布版,请拉取已发布的镜像)。

限制/注意事项

  • 设置摩擦:README 本身警告说,如果没有配置自动保存钩子,Claude Code 会话将在 30 天后过期——因此价值主张取决于是否仔细遵循设置清单。
  • 不支持 Android/Termux 原生:ChromaDB 和 ONNX Runtime 缺少 Android wheel;Termux 用户必须运行 Debian PRoot。
  • 首次使用延迟:需要嵌入的第一个命令会下载供电模型(约 80–300 MB),可能看起来像卡住了。
  • 更改嵌入模型需要重建索引(mempalace repair rebuild-index):如果你切换模型或迁移到服务器端 OpenAI 兼容的嵌入端点。
  • 原生 Rust 扩展是可选的:rust_exact 在复杂过滤器以及未安装原生扩展时会回退到 Python;没有针对原生路径发布的基准测试。

评价

AI 内存领域中一个真正且重要的项目:真实的代码(Python + Rust crate)、可重现的基准测试、可插拔的架构、Docker 打包、MCP 集成以及注重安全的 README。“宫殿”隐喻应用一致,基准测试纪律(保留分割、诚实的警告)在该类别中异常出色。核心思想——逐字存储、结构化范围、仅限本地的隐私——简单但执行良好,代理钩子生态系统(Claude Code、Codex、Cursor)使其立即可用。如果你正在构建代理记忆或评估 Mem0/Zep 生态系统,值得一看。

相关

  • 项目
  • 项目
  • 项目
  • 项目
  • 项目