你的 AI 助手记不住你上周说过的话。每次对话都像失忆重启。MemPalace 就是来修这个bug的。
一句话介绍
MemPalace 是一个开源的本地记忆系统,把你的项目文件、聊天记录、对话笔记"挖"进一个可搜索的知识宫殿里,让任何 AI 都能瞬间检索到你的历史上下文。
不需要 API Key,不需要云端服务,数据全部存在你自己的机器上。
GitHub: github.com/MemPalace/mempalace
为什么需要它?
大模型的 context window 再大,也装不下你半年的对话记录。你跟 AI 说过的偏好、做过的决策、踩过的坑,下一次对话它全忘了。
传统解法:
- RAG 框架(LangChain、LlamaIndex)→ 重,复杂,面向开发者
- 云端记忆服务(Zep、Mem0)→ 要花钱,数据不在本地
- 自己写向量数据库 → 谁有那个闲工夫
MemPalace 的思路是:一行命令搞定,开箱即用,本地运行。
核心方法论:宫殿记忆法
MemPalace 借用了古典的"记忆宫殿"概念,把知识按空间结构组织:
| |
这不是简单的向量数据库。它有三层结构协同工作:
① 向量索引(ChromaDB)
把每段文本变成向量,支持语义搜索。问"我们为什么换 GraphQL?“能直接定位到当时的讨论,不用记关键词。
② 知识图谱(SQLite)
存储实体关系:谁做了什么、什么时候做的、关系什么时候变了。支持时间过滤——“2025年1月时,Max 在做什么?“这种问题能回答。
③ AAAK 压缩方言
把长文本压缩成结构化符号:实体、情感标记、关键引用、权重标记。任何 LLM 都能直接读懂,不需要解码器。
四层记忆栈
MemPalace 把记忆分为四层,按需加载,不浪费 context:
| 层级 | 内容 | Token 开销 | 加载时机 |
|---|---|---|---|
| L0 | 身份(我是谁) | ~100 | 始终 |
| L1 | 关键事实摘要 | ~500-800 | 始终 |
| L2 | 特定主题/项目 | ~200-500 | 按需 |
| L3 | 全文语义搜索 | 无上限 | 按需 |
唤醒成本仅 600-900 tokens(L0+L1),把 95% 以上的 context 留给真正的对话。你的 128K 窗口不会被记忆塞满。
怎么用?
安装
| |
导入项目文件
| |
MemPalace 会自动扫描目录,按文件夹结构生成 Wing(项目)和 Room(主题),把每个文件按段落切分成 Drawer,存入 ChromaDB。
导入聊天记录
| |
搜索
| |
唤醒
| |
压缩
| |
接入 AI 工具
| |
支持通过 MCP 协议直接接入 Claude Code、Cursor、Windsurf 等 AI 编码工具,AI 可以自主决定何时搜索记忆。
实测数据
以下是我用 Hermes Agent(一个本地 AI 助手)的实际使用数据:
嵌入模型对比测试(18个中文查询):
| 指标 | all-MiniLM-L6-v2 | Qwen3-Embedding-0.6B |
|---|---|---|
| 命中率 | 9/18 (50%) | 18/18 (100%) |
| 平均相似度 | -0.18 | 0.60 |
| 单次查询耗时 | 217ms | 449ms |
换上中文优化模型后,近义词、描述性查询全部命中。Ollama 本地跑 Qwen3-Embedding,不依赖任何外部 API。
OpenClaw(三省六部制 AI 系统)接入:
- 13 个 Agent 共享同一个 MemPalace 实例
- 索引了 854 个文件(195 closets + 659 drawers)
- 每天凌晨自动增量索引
- Agent 们通过
mempalace search检索历史上下文
优点
- ✅ 零配置起步:
pip install+mempalace init+mempalace mine,三行命令跑起来 - ✅ 完全本地:数据存在你机器上,ChromaDB + SQLite,不需要网络,不需要 API Key
- ✅ 语义搜索:不是关键词匹配,是理解意思。说"定价讨论"能找到提到"价格策略"的内容
- ✅ 记忆分层:L0-L3 按需加载,不会撑爆 context window
- ✅ 多格式支持:项目文件、Claude Code 对话、ChatGPT 导出、Slack 记录都能吃
- ✅ 知识图谱:有时间线的关系数据库,知道事实"什么时候是真的”
- ✅ AAAK 压缩:30倍压缩比,任何 LLM 直接读懂
- ✅ MCP 协议:19个工具暴露给 AI,让 AI 自己管理记忆
- ✅ 增量索引:
mine命令幂等,只处理新文件,不重复索引 - ✅ 多实例隔离:支持多个 AI Agent 各用各的宫殿,互不干扰
缺点
- ⚠️ 嵌入模型依赖:默认用 all-MiniLM-L6-v2,中文效果很差(命中率仅50%)。中文场景必须换模型(如 Qwen3-Embedding),但换模型需要重建整个索引
- ⚠️ 首次索引慢:大项目首次
mine比较耗时,尤其本地跑大嵌入模型时。我 854 条数据用 Qwen3-Embedding 跑了近 5 小时(纯 CPU) - ⚠️ ChromaDB 限制:不支持多进程并发写入。多 Agent 共享一个宫殿需要做实例隔离,否则会锁冲突
- ⚠️ 没有内置嵌入模型管理:换模型要自己写脚本重建,没有官方的 migrate 工具(虽然有
mempalace migrate但只处理 ChromaDB 版本升级) - ⚠️ AAAK 压缩是有损的:官方文档明确说不是无损压缩,原文无法从 AAAK 输出还原。压缩前确保原始 Drawer 保留
- ⚠️ 文档偏少:README 够用,但深入使用(嵌入模型切换、多实例隔离、MCP 高级配置)基本靠读源码
- ⚠️ 单机方案:没有分布式/同步机制,不适合团队协作场景
适合谁?
- 个人 AI 助手用户:希望 AI 记住你的偏好、项目历史、重要决策
- AI Agent 开发者:给你的 Agent 加一个持久化的长期记忆层
- 重度 AI 对话用户:积累了大量 ChatGPT/Claude 对话,想建立可检索的档案库
- 隐私敏感用户:不想把记忆数据上传到任何云端服务
不适合谁?
- 需要团队协作共享记忆的团队(考虑 Zep/Mem0)
- 只用 AI 做简单问答,不需要上下文延续
- 没有本地服务器或不愿意折腾 CLI
技术栈
- 语言:Python
- 向量数据库:ChromaDB(本地嵌入式)
- 知识图谱:SQLite
- 嵌入模型:可插拔(默认 all-MiniLM-L6-v2,支持 Ollama、OpenAI 兼容 API)
- 协议:MCP(Model Context Protocol)
- 协议:MIT 开源
MemPalace v3.3.3 | 作者: milla-jovovich | GitHub: github.com/MemPalace/mempalace