🏛️ 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 Issues | 577 |
| License | MIT |
| 创建时间 | 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 | 本地精确匹配 | 正确性验证 |
| Qdrant | REST 服务 | 生产环境、高并发 |
| pgvector | PostgreSQL | 已有 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扫描历史对话
🏗️ 技术架构
语言分布
| 语言 | 占比 | 用途 |
|---|---|---|
| Python | 94.5% | 核心逻辑、CLI、后端 |
| HTML | 2.0% | 文档 |
| CSS | 1.4% | 文档样式 |
| Shell | 0.9% | 脚本 |
| Vue | 0.6% | 文档前端 |
| JavaScript | 0.4% | 辅助脚本 |
| TypeScript | 0.1% | 类型定义 |
| Dockerfile | 0.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 install或pipx安装为全局命令 - 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 环境 |
📊 社区热度分析
| 指标 | 数据 | 解读 |
|---|---|---|
| ⭐ Stars | 54,446 | 极高关注度,同级别项目中罕见 |
| 🍴 Forks | 7,123 | 活跃的二次开发生态 |
| 📋 Issues | 577 | 社区参与度高,但需注意维护压力 |
| 📅 存在天数 | 63 天 | 项目极其年轻,爆发式增长 |
| 📈 增速 | ~864 ⭐/天 | 近乎疯狂的增速,说明切中了真实需求 |
| 🏆 Trending 排名 | #3 / 18 | 热度仅次于两个项目 |
🔥 增长解读
63 天获得 54K+ Stars,平均每天 864 颗——这个数字在整个 GitHub 历史上都极为罕见。对比同期的 CopilotKit(33K Stars / 1084 天 / 30.8 ⭐/天),MemPalace 的增速是其 28 倍。
这种爆发式增长说明:
- AI 记忆是一个刚需——用户对 LLM 无状态的痛点感受强烈
- 本地优先的理念深得人心——隐私敏感场景下,零 API 调用是硬需求
- 基准测试成绩有说服力——96.6% R@5 的数字足够亮眼
- Claude Code 生态的带动——作为 MCP 服务器直接接入主流 AI 编程工具
✅ 总结评价
🌟 亮点
- 性能领先:LongMemEval 96.6% R@5,无需 LLM,无需 API,这是目前开源记忆系统的最佳成绩
- 架构优雅:Wing → Room → Drawer 的层级结构既直观又实用,解决了扁平 RAG 的范围搜索问题
- 真正本地优先:零云端依赖,支持 air-gapped 部署,满足企业合规和隐私需求
- 生态集成好:MCP 协议 + Claude Code 钩子,直接融入主流 AI 开发工具链
- 可插拔设计:后端接口清晰,方便替换和扩展
- 诚实的基准测试:明确说明不与其他项目做不公平对比,每个数字都有复现步骤
⚠️ 不足
- 项目极年轻:仅 63 天历史,API 和架构可能尚未稳定
- Issues 积压:577 个 Open Issues 对于一个新项目来说压力较大
- Python 单一语言:94.5% Python 意味着前端和移动端支持较弱
- 依赖较重:ChromaDB + numpy + grpcio 等依赖,安装体积不小
- 文档站点独立:部分文档在外部站点,而非仓库内,可能影响离线使用
🏆 推荐指数
| 维度 | 评分 |
|---|---|
| 创新性 | ⭐⭐⭐⭐⭐ |
| 实用性 | ⭐⭐⭐⭐⭐ |
| 代码质量 | ⭐⭐⭐⭐ |
| 文档完善度 | ⭐⭐⭐⭐ |
| 社区活跃度 | ⭐⭐⭐⭐⭐ |
| 生产就绪度 | ⭐⭐⭐ |
| 综合推荐 | ⭐⭐⭐⭐☆ (4.5/5) |
一句话总结:MemPalace 是目前性能最好的开源 AI 记忆系统,本地优先、零 API 调用的设计理念切中了真实痛点。63 天 54K Stars 的增速证明了市场需求。如果你正在为 LLM 缺乏持久记忆而烦恼,这是目前最值得尝试的方案——但要注意项目仍处于早期阶段,生产环境使用需谨慎评估。
数据来源: GitHub Trending · 2026-06-07 · 仓库地址: github.com/MemPalace/m…