每天一个开源项目#4 MemPalace:96.6% 召回率的开源 AI 记忆系统,零 API 调用,本地优先

86 阅读7分钟

🏛️ MemPalace:96.6% 召回率的开源 AI 记忆系统,零 API 调用,本地优先

GitHub Trending #3 · 2026-06-07 · ⭐ 54.4K · 🍴 7.1K · Python


📌 项目概览

项目详情
仓库MemPalace/mempalace
定位本地优先的 AI 对话记忆系统
主语言Python (94.5%)
Stars⭐ 54,446
Forks🍴 7,123
Open Issues577
LicenseMIT
创建时间2026-04-05
最近更新2026-06-06
增长速度📈 爆发式增长(~864 ⭐/天)
排名GitHub Trending #3(共 18 个项目)

🎯 解决什么痛点?

大语言模型(LLM)有一个根本性的缺陷——没有持久记忆。每次对话结束后,上下文就丢失了。现有的解决方案要么依赖云端 API(隐私风险、成本高),要么对对话内容进行摘要压缩(丢失细节),要么检索准确率不够。

MemPalace 的核心理念是:原样存储、语义检索、本地运行。它不做摘要、不提取关键词、不改写内容,而是将完整对话以原始文本保存,通过结构化的"宫殿"索引实现高效检索。在 LongMemEval 基准测试上,纯语义搜索(无需 LLM、无需 API)就达到了 96.6% 的 R@5 召回率——这是目前公开可查的最佳开源成绩。


🧩 核心特性详解

1. 🏛️ 结构化记忆宫殿(The Palace)

MemPalace 不是一个扁平的向量数据库,而是用隐喻式的层级结构组织记忆:

  • Wings(翼楼):按人或项目组织的顶层分区
  • Rooms(房间):翼楼内的主题分类
  • Drawers(抽屉):存放原始对话内容的最小单元

这种结构让搜索可以限定范围("在项目 A 的翼楼里搜索关于数据库的讨论"),而不是在海量文本中盲目扫描。这比传统的扁平 RAG 检索精准得多。

2. 📝 原样存储(Verbatim Storage)

与 Mem0、Zep 等项目不同,MemPalace 不做任何摘要或改写。你的每一条对话都以原始文本保存。这意味着:

  • 不会丢失上下文细节
  • 不会被 LLM 的摘要偏见影响
  • 检索结果就是原始对话,可直接引用

3. 🔌 可插拔后端(Pluggable Backend)

默认使用 ChromaDB,但架构设计为可插拔:

后端类型适用场景
ChromaDB默认本地通用场景
SQLite Exact本地精确匹配正确性验证
QdrantREST 服务生产环境、高并发
pgvectorPostgreSQL已有 PG 基础设施的团队

后端接口定义在 mempalace/backends/base.py,新增后端只需实现该接口,无需改动其他代码。

4. 🧠 知识图谱(Knowledge Graph)

内置时序实体-关系图谱,支持有效期窗口管理。可以:

  • 添加实体和关系
  • 查询实体间的关联
  • 标记过期/失效
  • 时间线回溯

底层使用 SQLite 存储,无需额外服务。

5. 🔧 MCP Server(29 个工具)

作为 MCP(Model Context Protocol)服务器运行,提供 29 个工具,覆盖:

  • 宫殿的读写操作
  • 知识图谱操作
  • 跨翼楼导航
  • 抽屉管理
  • Agent 日志

可以直接接入 Claude Code、Cursor 等支持 MCP 的 AI 工具。

6. 🤖 Agent 支持

每个专业 Agent 都有自己独立的翼楼和日志。通过 mempalace_list_agents 运行时发现——不会在系统提示词中堆积臃肿的 Agent 描述。

7. 💾 Claude Code 自动保存钩子

提供两个 Claude Code 钩子,解决 Claude Code 会话 30 天过期的问题:

  • 定期自动保存
  • 上下文压缩前自动保存
  • 支持 mempalace sweep 扫描历史对话

🏗️ 技术架构

语言分布

语言占比用途
Python94.5%核心逻辑、CLI、后端
HTML2.0%文档
CSS1.4%文档样式
Shell0.9%脚本
Vue0.6%文档前端
JavaScript0.4%辅助脚本
TypeScript0.1%类型定义
Dockerfile0.1%容器化

架构分层图

┌─────────────────────────────────────────────────────┐
│                   用户 / AI 工具                      │
│         (Claude Code, Cursor, 自定义 Agent)           │
└──────────────────────┬──────────────────────────────┘
                       │
           ┌───────────▼───────────┐
           │     MCP Server        │
           │   (29 个工具接口)      │
           └───────────┬───────────┘
                       │
    ┌──────────────────┼──────────────────┐
    │                  │                  │
    ▼                  ▼                  ▼
┌────────┐     ┌─────────────┐    ┌───────────┐
│  CLI   │     │ Knowledge   │    │  Agents   │
│ 命令行 │     │   Graph     │    │  日志系统  │
└───┬────┘     │ (SQLite)    │    └───────────┘
    │          └─────────────┘
    ▼
┌─────────────────────────────────────────┐
│           Palace (记忆宫殿)              │
│  ┌───────┐  ┌───────┐  ┌───────┐       │
│  │ Wing  │  │ Wing  │  │ Wing  │ ...   │
│  │ (人/  │  │ (项目 │  │ (主题 │       │
│  │  项目) │  │  A)   │  │  X)   │       │
│  └───┬───┘  └───┬───┘  └───┬───┘       │
│      │          │          │            │
│    Room       Room       Room           │
│      │          │          │            │
│   Drawer    Drawer     Drawer           │
│  (原始文本) (原始文本) (原始文本)        │
└─────────────────┬───────────────────────┘
                  │
    ┌─────────────┼─────────────┐
    ▼             ▼             ▼
┌────────┐  ┌─────────┐  ┌─────────┐
│ChromaDB│  │ Qdrant  │  │pgvector │
│(默认)  │  │ (REST)  │  │(Postgres│
└────────┘  └─────────┘  └─────────┘

项目结构分析

  • 纯 Python 项目:94.5% 的代码是 Python,工程化程度高
  • CLI 优先:通过 uv tool installpipx 安装为全局命令
  • Docker 就绪:提供 CPU 和 GPU 两种容器镜像
  • 测试完善:有独立的 benchmarks 目录,支持结果复现
  • 文档齐全:独立文档站点 mempalaceofficial.com

🚀 快速上手

方式一:uv(推荐)

# 安装
uv tool install mempalace

# 初始化项目
mempalace init ~/projects/myapp

# 索引对话
mempalace mine ~/projects/myapp

# 搜索记忆
mempalace search "为什么用 GraphQL"

方式二:pipx

pipx install mempalace
mempalace init ~/projects/myapp

方式三:pip(虚拟环境内)

python -m venv .venv && source .venv/bin/activate
pip install mempalace
mempalace init ~/projects/myapp

方式四:Docker

docker build -t mempalace .
docker run -i --rm -v mempalace-data:/data mempalace

MCP 接入 Claude Code

{
  "mcpServers": {
    "mempalace": {
      "command": "docker",
      "args": ["run", "-i", "--rm", "-v", "mempalace-data:/data", "mempalace"]
    }
  }
}

切换后端

# SQLite 精确匹配
mempalace mine ~/projects/myapp --backend sqlite_exact

# Qdrant
MEMPALACE_QDRANT_URL=http://localhost:6333 \
  mempalace mine ~/projects/myapp --backend qdrant

👥 适用场景

角色场景
🧑‍💻 AI 工具用户为 Claude Code / Cursor 等工具添加持久记忆,解决会话过期问题
🏢 企业开发者构建有记忆能力的 AI 助手,数据不出本地,满足合规要求
🔬 AI 研究者复现 LongMemEval 等基准测试,对比记忆系统性能
🛠️ 全栈工程师通过 MCP 协议将记忆能力集成到自定义 Agent 中
📊 数据团队管理海量对话数据的语义检索,替代自建 RAG 管线
🔒 隐私敏感用户零云端依赖,所有数据本地存储,支持 air-gapped 环境

📊 社区热度分析

指标数据解读
⭐ Stars54,446极高关注度,同级别项目中罕见
🍴 Forks7,123活跃的二次开发生态
📋 Issues577社区参与度高,但需注意维护压力
📅 存在天数63 天项目极其年轻,爆发式增长
📈 增速~864 ⭐/天近乎疯狂的增速,说明切中了真实需求
🏆 Trending 排名#3 / 18热度仅次于两个项目

🔥 增长解读

63 天获得 54K+ Stars,平均每天 864 颗——这个数字在整个 GitHub 历史上都极为罕见。对比同期的 CopilotKit(33K Stars / 1084 天 / 30.8 ⭐/天),MemPalace 的增速是其 28 倍

这种爆发式增长说明:

  1. AI 记忆是一个刚需——用户对 LLM 无状态的痛点感受强烈
  2. 本地优先的理念深得人心——隐私敏感场景下,零 API 调用是硬需求
  3. 基准测试成绩有说服力——96.6% R@5 的数字足够亮眼
  4. Claude Code 生态的带动——作为 MCP 服务器直接接入主流 AI 编程工具

✅ 总结评价

🌟 亮点

  1. 性能领先:LongMemEval 96.6% R@5,无需 LLM,无需 API,这是目前开源记忆系统的最佳成绩
  2. 架构优雅:Wing → Room → Drawer 的层级结构既直观又实用,解决了扁平 RAG 的范围搜索问题
  3. 真正本地优先:零云端依赖,支持 air-gapped 部署,满足企业合规和隐私需求
  4. 生态集成好:MCP 协议 + Claude Code 钩子,直接融入主流 AI 开发工具链
  5. 可插拔设计:后端接口清晰,方便替换和扩展
  6. 诚实的基准测试:明确说明不与其他项目做不公平对比,每个数字都有复现步骤

⚠️ 不足

  1. 项目极年轻:仅 63 天历史,API 和架构可能尚未稳定
  2. Issues 积压:577 个 Open Issues 对于一个新项目来说压力较大
  3. Python 单一语言:94.5% Python 意味着前端和移动端支持较弱
  4. 依赖较重:ChromaDB + numpy + grpcio 等依赖,安装体积不小
  5. 文档站点独立:部分文档在外部站点,而非仓库内,可能影响离线使用

🏆 推荐指数

维度评分
创新性⭐⭐⭐⭐⭐
实用性⭐⭐⭐⭐⭐
代码质量⭐⭐⭐⭐
文档完善度⭐⭐⭐⭐
社区活跃度⭐⭐⭐⭐⭐
生产就绪度⭐⭐⭐
综合推荐⭐⭐⭐⭐☆ (4.5/5)

一句话总结:MemPalace 是目前性能最好的开源 AI 记忆系统,本地优先、零 API 调用的设计理念切中了真实痛点。63 天 54K Stars 的增速证明了市场需求。如果你正在为 LLM 缺乏持久记忆而烦恼,这是目前最值得尝试的方案——但要注意项目仍处于早期阶段,生产环境使用需谨慎评估。


数据来源: GitHub Trending · 2026-06-07 · 仓库地址: github.com/MemPalace/m…