🏛️

MemPalace

有史以来基准测试得分最高的 AI 记忆系统。而且免费。

你与 AI 的每一次对话——每一个决策、每一次调试、每一次架构讨论——都在会话结束时消失。
MemPalace 存储一切,然后让它可查找。

96.6%
LongMemEval R@5
原始模式,零 API 调用
500/500
测试问题数
独立复现
$0
无需订阅
无需云端,仅本地
$ pip install mempalace
⚠️

来自 Milla & Ben 的说明 — 2026 年 4 月 7 日

社区在发布后数小时内发现了真实问题,我们直接回应。

我们做错的地方:

  • AAAK token 示例不正确(使用了粗略启发式而非实际分词器)
  • "30 倍无损压缩"被夸大,AAAK 实为有损缩写
  • "+34% 宫殿提升"实为 ChromaDB 标准元数据过滤
  • "矛盾检测"尚未接入知识图谱操作

仍然真实且可复现的:

  • 原始模式 LongMemEval R@5 为 96.6%,零 API 调用
  • 本地、免费、数据不离开你的机器
  • 翼/房间/壁橱/抽屉架构真实且有用

核心特性

存储一切,让它可查找。不是让 AI 决定什么值得记住。

🏛️

宫殿(The Palace)

古希腊演说家通过将想法放置在想象建筑的房间中来记住整篇演讲。MemPalace 将同样的原则应用于 AI 记忆:你的对话被组织成翼(人与项目)厅(记忆类型)房间(具体想法)

没有 AI 来决定什么重要——你保留每一个字,结构为你提供可导航的地图。

💾

原始逐字存储

MemPalace 将你的实际对话存储在 ChromaDB 中,不进行摘要或提取。96.6% 的 LongMemEval 成绩正是来自这种原始模式。

我们不会消耗 LLM 来决定什么"值得记住"——我们保留一切,让语义搜索来找到它。

🔤

AAAK 方言(实验性)

一种有损缩写方言,用于在大规模场景下将重复实体压缩到更少的 token 中。任何能读取文本的 LLM 都能阅读——Claude、GPT、Gemini、Llama、Mistral——无需解码器。

实验性 当前相比原始模式有所回退(84.2% vs 96.6%)
🔒

本地、开放、可适配

MemPalace 完全在你的机器上运行,使用你本地的任何数据,不使用任何外部 API 或服务。它已在对话上经过测试——但可以适配不同类型的数据存储。

这就是我们开源它的原因。MIT 许可证。

问题所在

决策现在发生在对话中。不在文档里。不在 Jira 里。在与 AI 的对话中——会话结束就消失。

六个月的日常 AI 使用 = 1950 万 token

每一个决策、每一次调试、每一场架构讨论。化为乌有。

方法 加载的 token 年度成本
粘贴全部 1950 万——放不进任何上下文窗口 不可能
LLM 摘要 ~65 万 ~$507/年
MemPalace 唤醒 ~170 token ~$0.70/年
MemPalace + 5 次搜索 ~13,500 token ~$10/年

快速开始

三步开始使用 MemPalace

1

安装并初始化

$ pip install mempalace
# 设置你的世界——你和谁一起工作,你的项目是什么
$ mempalace init ~/projects/myapp
2

挖掘你的数据

$ mempalace mine ~/projects/myapp # 项目——代码、文档、笔记
$ mempalace mine ~/chats/ --mode convos # 对话——Claude、ChatGPT、Slack 导出
$ mempalace mine ~/chats/ --mode convos --extract general # 通用——自动分类

三种挖掘模式:项目(代码和文档)、对话(对话导出)和通用(自动分类为决策、偏好、里程碑、问题和情感上下文)。

3

搜索你曾经讨论过的任何内容

$ mempalace search "为什么我们切换到 GraphQL"
# 你的 AI 记住了
$ mempalace status

你实际如何使用它

一次性设置后,你不需要手动运行 MemPalace 命令。你的 AI 会替你使用它。

使用 Claude、ChatGPT、Cursor、Gemini

兼容 MCP 的工具,AI 自动调用搜索。

# 一次性连接 MemPalace
claude mcp add mempalace \
-- python -m mempalace.mcp_server

"上个月我们对认证做了什么决定?"

→ Claude 自动调用 mempalace_search,获取逐字结果

MemPalace 也原生支持 Gemini CLI

使用本地模型

Llama、Mistral 或任何离线 LLM。

方法 1:唤醒命令

mempalace wake-up > context.txt
# 将 context.txt 粘贴到系统提示中

约 170 token 的关键事实,在提问之前就加载

方法 2:CLI 搜索

mempalace search "认证决策" > results.txt
# 在提示中包含 results.txt

宫殿架构

布局相当简单,尽管花了很多时间才达到这个效果。

  ┌─────────────────────────────────────────────────────────────┐
  │  翼:人物                                                    │
  │                                                            │
  │    ┌──────────┐  ──厅──  ┌──────────┐                    │
  │    │  房间 A  │            │  房间 B  │                    │
  │    └────┬─────┘            └──────────┘                    │
  │         │                                                  │
  │         ▼                                                  │
  │    ┌──────────┐      ┌──────────┐                          │
  │    │  壁橱    │ ───▶ │  抽屉    │                          │
  │    └──────────┘      └──────────┘                          │
  └─────────┼──────────────────────────────────────────────────┘
            │
          隧道
            │
  ┌─────────┼──────────────────────────────────────────────────┐
  │  翼:项目                                                    │
  │         │                                                  │
  │    ┌────┴─────┐  ──厅──  ┌──────────┐                    │
  │    │  房间 A  │            │  房间 C  │                    │
  │    └────┬─────┘            └──────────┘                    │
  │         │                                                  │
  │         ▼                                                  │
  │    ┌──────────┐      ┌──────────┐                          │
  │    │  壁橱    │ ───▶ │  抽屉    │                          │
  │    └──────────┘      └──────────┘                          │
  └─────────────────────────────────────────────────────────────┘

翼(Wing)

一个人或项目。需要多少有多少。

房间(Room)

一个翼内的特定主题。认证、计费、部署——无尽的房间。

厅(Hall)

同一翼内相关房间之间的连接。

隧道(Tunnel)

翼之间的连接。自动交叉引用同一主题。

壁橱(Closet)

指向原始内容的摘要。

抽屉(Drawer)

原始逐字文件。精确的字词,绝不摘要。

厅 — 记忆类型

hall_facts

已做出的决策

hall_events

会话、里程碑

hall_discoveries

突破、新洞察

hall_preferences

习惯、喜好

hall_advice

建议和解决方案

隧道 — 跨翼连接

同一个房间出现在不同翼中时,隧道自动交叉引用:

wing_kai / hall_events / auth-migration → "Kai 调试了 OAuth token 刷新"
wing_driftwood / hall_facts / auth-migration → "团队决定将认证迁移到 Clerk"
wing_priya / hall_advice / auth-migration → "Priya 批准了 Clerk 而不是 Auth0"

同一个房间。三个翼。隧道连接它们。

为什么结构很重要

在 22,000+ 真实对话记忆上测试:

搜索所有壁橱
60.9%
在翼内搜索 +12%
73.1%
搜索翼+厅 +24%
84.8%
搜索翼+房间 +34%
94.8%

翼和房间不是装饰性的。宫殿结构就是产品本身。

记忆栈

你的 AI 以 L0 + L1(约 170 token)唤醒,了解你的世界。搜索只在需要时触发。

L0
身份

这个 AI 是谁?

~50 token
始终加载
L1
关键事实

团队、项目、偏好

~120 token
始终加载
L2
房间回忆

近期会话、当前项目

按需
当话题出现时
L3
深度搜索

跨所有壁橱的语义查询

按需
当被明确询问时

知识图谱

时序实体-关系三元组——类似 Zep 的 Graphiti,但使用 SQLite 而不是 Neo4j。本地且免费。

from mempalace.knowledge_graph import KnowledgeGraph
kg = KnowledgeGraph()
kg.add_triple("Kai", "works_on", "Orion", valid_from="2025-06-01")
kg.add_triple("Maya", "assigned_to", "auth-migration", valid_from="2026-01-15")
# Kai 在做什么?
kg.query_entity("Kai")
# → [Kai → works_on → Orion (当前)]
# 一月份什么是真的?
kg.query_entity("Maya", as_of="2026-01-20")
# 使事实失效
kg.invalidate("Kai", "works_on", "Orion", ended="2026-03-01")
特性 MemPalace Zep (Graphiti)
存储SQLite(本地)Neo4j(云端)
成本免费$25/月+
时序有效性
自托管始终仅企业版

专家智能体

创建专注于特定领域的智能体。每个智能体在宫殿中获得自己的翼和日记。添加 50 个智能体,你的配置大小保持不变。

~/.mempalace/agents/
├── reviewer.json # 代码质量、模式、bug
├── architect.json # 设计决策、权衡
└── ops.json # 部署、事件、基础设施

有焦点

它关注什么

记日记

用 AAAK 编写,跨会话持久化

建立专长

阅读自己的历史以在其领域保持敏锐

# 智能体写入日记
mempalace_diary_write("reviewer",
"PR#42|auth.bypass.found|...")
# 智能体读回历史
mempalace_diary_read("reviewer", last_n=10)

Letta 对智能体管理记忆收取 $20–200/月。MemPalace 用一个翼就做到了。

矛盾检测

实验性

一个独立的工具可以对照实体事实检查断言。事实对照知识图谱检查——年龄、日期和任期动态计算。

🔴

"Soren 完成了认证迁移"

AUTH-MIGRATION:归因冲突——Maya 被分配了,不是 Soren

🟡

"Kai 已经在这里 2 年了"

KAI:错误任期——记录显示 3 年(2023-04 入职)

🟡

"冲刺在周五结束"

SPRINT:过时日期——当前冲刺在周四结束

基准测试

在标准学术基准测试上测试——可复现、已发布的数据集。

基准测试 模式 得分 API 调用
LongMemEval R@5 原始(仅 ChromaDB) 96.6%
LongMemEval R@5 混合 + Haiku 重排序 100% (500/500) ~500
LoCoMo R@10 原始,会话级别 60.3%
个人宫殿 R@10 启发式基准 85%
宫殿结构影响 翼+房间过滤 +34% R@10

与已发布系统的对比

系统 LongMemEval R@5 需要 API 成本
MemPalace(混合) 100% 可选 免费
Supermemory ASMR ~99%
MemPalace(原始) 96.6% 免费
Mastra 94.87% 是 (GPT) API 成本
Mem0 ~85% $19–249/月
Zep ~85% $25/月+

96.6% 的原始得分是已发布的最高 LongMemEval 结果,不需要 API 密钥、不需要云端、在任何阶段都不需要 LLM。

MCP 服务器 — 19 个工具

claude mcp add mempalace -- python -m mempalace.mcp_server

宫殿(读取)

  • mempalace_status 宫殿概览
  • mempalace_list_wings 翼及计数
  • mempalace_list_rooms 翼内房间
  • mempalace_get_taxonomy 完整分类树
  • mempalace_search 语义搜索
  • mempalace_check_duplicate 归档前检查
  • mempalace_get_aaak_spec AAAK 参考

宫殿(写入)

  • mempalace_add_drawer 归档逐字内容
  • mempalace_delete_drawer 按 ID 删除

知识图谱

  • mempalace_kg_query 实体关系
  • mempalace_kg_add 添加事实
  • mempalace_kg_invalidate 标记已结束
  • mempalace_kg_timeline 按时间故事
  • mempalace_kg_stats 图谱概览

导航

  • mempalace_traverse 跨翼遍历
  • mempalace_find_tunnels 查找连接
  • mempalace_graph_stats 连通性概览

智能体日记

  • mempalace_diary_write 写入 AAAK 日记
  • mempalace_diary_read 读取日记条目

AI 从 mempalace_status 响应中自动学习 AAAK 和记忆协议。无需手动配置。

真实世界示例

跨多个项目的独立开发者

# 挖掘每个项目的对话
mempalace mine ~/chats/orion/ --mode convos --wing orion
mempalace mine ~/chats/nova/ --mode convos --wing nova
mempalace mine ~/chats/helios/ --mode convos --wing helios
# 六个月后:"我为什么在这里使用 Postgres?"
mempalace search "数据库决策" --wing orion
# → "选择 Postgres 而不是 SQLite,因为 Orion 需要并发写入"

管理产品的团队负责人

# 挖掘 Slack 导出和 AI 对话
mempalace mine ~/exports/slack/ --mode convos --wing driftwood
# "谁决定使用 Clerk?"
mempalace search "Clerk 决策" --wing driftwood
# → "Kai 推荐 Clerk 而不是 Auth0——价格 + 开发者体验"

所有命令

# 设置
mempalace init <dir> # 引导式入门 + AAAK 引导
# 挖掘
mempalace mine <dir> # 挖掘项目文件
mempalace mine <dir> --mode convos # 挖掘对话导出
mempalace mine <dir> --mode convos --wing myapp # 用翼名标记
# 拆分
mempalace split <dir> # 拆分连接的对话记录
mempalace split <dir> --dry-run # 预览
# 搜索
mempalace search "查询" # 搜索一切
mempalace search "查询" --wing myapp # 在一个翼内
mempalace search "查询" --room auth-migration # 在一个房间内
# 记忆栈
mempalace wake-up # 加载 L0 + L1 上下文
mempalace wake-up --wing driftwood # 项目特定
# 压缩 & 状态
mempalace compress --wing myapp # AAAK 压缩
mempalace status # 宫殿概览

所有命令都接受 --palace <path> 来覆盖默认位置。

自动保存钩子

保存钩子

每 15 条消息,触发一次结构化保存。主题、决策、引述、代码变更。同时重新生成关键事实层。

PreCompact 钩子

在上下文压缩之前触发。窗口缩小前的紧急保存。

系统要求

Python 3.9+ chromadb >= 0.4.0 pyyaml >= 6.0

无需 API 密钥。安装后无需互联网。一切本地。

$ pip install mempalace