GitHub:https://github.com/AGI-is-going-to-arrive/Memory-Palace
协议:MIT | 技术栈:Python + FastAPI + React + SQLite + MCP
Memory Palace 2026-03-10更新公告
上次发帖之后继续做了一轮大的更新,大幅提升用户前端仪表盘易用性,同时对于backend进行了重构解耦,避免一个代码文件几千上w行。以及修复了一些可能会遇到的bug。
仪表盘支持中英文切换
之前仪表盘只有英文,现在四个页面(Memory / Review / Maintenance / Observability)全部支持中英文一键切换,将近 500 条文案都做了双语化。同时写了一份前端仪表盘使用指南,降低上手门槛。
对于前端仪表盘有任何疑问的强烈推荐食用该指南
链接如下👇
https://github.com/AGI-is-going-to-arrive/Memory-Palace/blob/main/docs/DASHBOARD_GUIDE_CN.md
仪表盘更新了i18n,支持了中文版
记忆

审查

维护

观测

全套英文文档
Getting Started、技术总览、部署配置、排障指南、安全说明、Skills 文档,全部补了英文版。弥补了之前除readme文档外,其他文档只有中文的问题,对英文用户不太友好。
接入流程更顺
一键安装脚本(shell / PowerShell)重写了路径检测和错误处理,出错时提示更明确。发布前新增了自动检查脚本,减少"装上了但跑不起来"的情况。(但是注意当前对于codex cli/claude code/opencode支持较好, 对于cursor/antigravity 还需要进行进一步测试完善安装脚本,会在近期更新)
前端交互优化
四个页面都做了改动,检索结果展示更清楚,维护操作流程更直观,Review 的 diff 对比更加好用。
先说这东西干嘛用的
现在用 Codex、Claude Code、Cursor、Gemini CLI 这些 AI 编程工具的人越来越多了,但有一个问题一直很烦:
每次新开对话,AI 都忘了你之前说过什么。
你上次花半小时教它的项目架构、你的代码风格偏好、你反复纠正过的 bug 处理方式——全没了。下次还得重头来。
Memory Palace 就是干这个的:给 AI Agent 加一层持久化的外部记忆。不是简单存个 JSON 糊弄一下,而是一套完整的记忆操作系统,能写、能查、能回滚、能自动清理。

不是又一个 RAG 方案
可能有人会问:这不就是 chunk + embedding 的 RAG 吗?
不太一样。Memory Palace 是专门给 AI Agent 的「个人记忆」设计的,重点在这几个方面:
🔒 写入守卫(Write Guard)
不是 Agent 说存就存。每次写入操作都要先过 Write Guard 预检,有这几种判定:
- ADD:确认是新内容,允许写入
- UPDATE:发现已有类似记忆,建议更新而不是重复创建
- NOOP:内容重复或无意义,拒绝写入
- DELETE:标记应该删除
这样就不会出现 AI 往记忆库里疯狂写垃圾的情况。
🔍 混合检索,不只是全文搜索
支持三种模式:
- keyword:关键词匹配,基于 SQLite FTS,零依赖就能跑
- semantic:语义检索,接外部 Embedding 模型
- hybrid:两种混合 + Reranker 精排
而且有自动降级机制——外部模型服务挂了,系统不会直接报错,会自动降级到关键词搜索,并在返回结果里告诉你发生了降级。
🧠 意图识别
搜索请求进来后,系统会先判断这是哪类查询:
- factual(事实型):用高精度策略
- exploratory(探索型):用高召回策略
- temporal(时间型):加时间范围过滤
- causal(因果型):扩大候选池
不是所有查询都用同一套参数硬搜。
♻️ 记忆有生命周期
每条记忆都有一个活力值(vitality score),会随时间衰减,半衰期默认 30 天。低于阈值并且超过 14 天没被访问的记忆会被标记清理。还有快照(snapshot)机制,改错了可以回滚。

支持哪些 AI 工具
通过 MCP(Model Context Protocol)协议接入,一套接口对接多个客户端:
| 客户端 | 接入方式 |
|---|---|
| Claude Code | Skills + MCP stdio |
| Codex CLI | Skills + MCP stdio |
| OpenCode | Skills + MCP stdio |
| Gemini CLI | Skills + MCP(建议 user 级安装) |
| Cursor / Antigravity | Workspace Rules / Project Instructions |
MCP 提供了 9 个标准化工具,包括读写(read_memory、create_memory、update_memory、delete_memory、add_alias)、检索(search_memory)、治理(compact_context、rebuild_index、index_status)。
🎯 这次版本的重点:Skills + MCP 双层架构
这是当前版本我花精力最多的部分,也是我觉得真正提升用户体验的地方。
先说清楚 skill 和 MCP 的关系,一句话:
- Skill = AI 脑子里的「出车规则」—— 负责判断"什么时候该用 Memory Palace"
- MCP = 真正的「车和方向盘」—— 负责实际调用
read_memory、search_memory这些工具
只有 MCP 没有 Skill 会怎样?工具存在,但 AI 不一定知道什么时候该用,容易漏触发。
只有 Skill 没有 MCP 会怎样?AI 知道该用了,但手上没工具可调。
两个都到位,才叫真的能自动触发并且真的能干活。

Skill 到底帮 AI 做了什么
装了 skill 之后,AI 在对话中会自动遵循这套工作流:
- 启动:先调用
read_memory("system://boot")加载核心记忆 - 召回:用
search_memory搜索相关历史记忆 - 先读后写:每次写入前先检查有没有已存在的类似记忆
- 守卫感知:遇到 Write Guard 返回
NOOP(重复内容)时自动停下来检查,而不是强行写入 - 压缩恢复:长会话时自动压缩上下文,检索退化时触发索引重建
举几个例子:
✅ 该触发:「帮我把这条偏好记到 Memory Palace」
✅ 该触发:「查一下之前记过没有,再决定 create 还是 update」
✅ 该触发:「先从 system://boot 读一下,看看之前有什么记忆」
❌ 不该触发:「帮我重写 README」
❌ 不该触发:「修一下前端按钮样式」
不是所有涉及"记忆"这个词的场景都会触发,也不会在普通编码任务中乱触发。
安装一行搞定
仓库里整理好了 canonical skill bundle(docs/skills/memory-palace/)和安装脚本,不需要手动复制文件:
# 同步 skill 到当前仓库的各 CLI 目录
python scripts/sync_memory_palace_skill.py
# 安装 skill + MCP 到 Claude/Codex/OpenCode(workspace 级别)
python scripts/install_skill.py --targets claude,codex,opencode --scope workspace --with-mcp --force
# Gemini 建议用 user 级别安装(跨仓复用更稳)
python scripts/install_skill.py --targets gemini --scope user --with-mcp --force
安装完以后可以验证:
# 检查 skill 镜像有没有漂移
python scripts/sync_memory_palace_skill.py --check
# 跑四端 smoke 测试
python scripts/evaluate_memory_palace_skill.py
# 跑真实 MCP 端到端测试
cd backend && python ../scripts/evaluate_memory_palace_mcp_e2e.py
与 Claude Skills 规范的对齐
这套 skill 设计参考了 Anthropic 2026-03-03 发布的 skill-creator 规范:
- 结构对齐:标准
skill-name/SKILL.mdbundle 结构 - 触发契约对齐:
description写清"做什么"和"什么时候用",保留明确的 trigger hints - 渐进加载对齐:主
SKILL.md保持短小,工具细节下沉到references/目录 - 跨客户端分发对齐:Claude / Codex / OpenCode 走 mirror,Gemini 保留 variant
不是只写了个 skill 文件就完事了,而是把 同步→安装→验证→迭代 这个闭环补齐了。
四种部署档位,按需选择
| 档位 | 检索模式 | Embedding | Reranker | 适用场景 |
|---|---|---|---|---|
| A | 纯 keyword | ❌ | ❌ | 最小资源验证 |
| B | hybrid 混合 | 本地哈希 | ❌ | 默认起步,零外部依赖 |
| C | hybrid 混合 | API | ✅ | 推荐档位,效果明显提升 |
| D | hybrid 混合 | API | ✅ | 远程 API,生产环境 |
新手建议从 B 档位 开始,不需要任何外部模型服务就能跑通。想要更好的检索效果,强烈建议升级到 C 档位,接上 Embedding 和 Reranker 模型。
推荐模型:
- Embedding:
Qwen3-Embedding-8B推荐使用模力方舟可免费使用,非aff,仅推荐(https://ai.gitee.com/serverless-api?model=Qwen3-Reranker-8B&tab=info) - Reranker:
Qwen3-Reranker-8B(这几天论坛里面比较火的白山智算有体验金的可以调用,消耗非常小.同样适合有硅基流动代金券的各位使用)/或者使用模力方舟中的bge-reranker-v2-m3可免费使用,非aff,仅推荐(https://ai.gitee.com/serverless-api?model=bge-reranker-v2-m3&tab=info) - LLM(可选,用于 Write Guard 和 Gist):
Qwen3.5-35B-A3B或者使用Qwen3.5-4B方便本地部署
所有端点都兼容 OpenAI API 格式,本地 Ollama / LM Studio 或者远程 API 都行。
Benchmark 结果
保留了和旧版本的同口径对照,高干扰场景提升比较明显:
| 场景 | 旧版 C | 新版 C | 旧版 D | 新版 D |
|---|---|---|---|---|
| s8, d200 | 0.313 | 0.563 | 0.375 | 0.625 |
| s100, d200 | 0.280 | 0.580 | 0.295 | 0.615 |
简单场景基本持平,干扰一多新版明显更稳。
C/D 档位在当前基准集的 SQuAD v2 上可以跑到 HR@10 = 1.000(完美召回),当然延迟会高一些,取决于模型推理速度。

仪表盘
不用全靠命令行,自带 React 前端仪表盘,四个主要视图:
📂 记忆浏览器 —— 树形结构浏览所有记忆,支持内联编辑和 Gist 视图

📋 审查与回滚 —— 快照的差异对比,改错了一键回滚

🔧 维护管理 —— 活力值监控、清理任务、衰减参数管理

📊 可观测性 —— 实时搜索监控、检索质量洞察、任务队列状态

快速上手
方式一:本地手动启动
# 1. 克隆
git clone https://github.com/AGI-is-going-to-arrive/Memory-Palace.git
cd Memory-Palace
# 2. 生成配置(档位 B)
bash scripts/apply_profile.sh macos b
# 3. 启动后端
cd backend
python -m venv .venv && source .venv/bin/activate
pip install -r requirements.txt
uvicorn main:app --host 127.0.0.1 --port 8000 --reload
# 4. 另开终端,启动前端
cd frontend
npm install && npm run dev
# 5. 浏览器打开 http://localhost:5173
方式二:Docker 一键部署
bash scripts/docker_one_click.sh --profile b
profile b 能正常使用后,强烈建议在.env中配置embedding/reranker/llm
使用profile c或者d,有非常大的提升。
部署完以后:
连接 AI 客户端
# stdio 模式(编程工具 内调用)
cd backend && python mcp_server.py
# SSE 模式
cd backend && HOST=127.0.0.1 PORT=8010 python run_sse.py
Skills 安装方式参考上面「Skills + MCP 双层架构」章节。
写入流程长啥样
简单来说就是:
写入请求 → Write Guard 预检 → 快照记录 → 写入数据库 → 异步索引重建
检索方向:
查询进来 → 意图分类 → 策略匹配 → keyword/semantic/hybrid 检索 → 返回结果 + 降级原因
这个项目的背景
最初的灵感来源于 nocturne_memory 这个项目。看到之后觉得「给 AI 加记忆」这个方向很有意思,就自己动手做了一个。
一开始想着 2 天搞定,结果发现想加的功能越来越多,第一版花了 5 天。后来又用了大量时间做升级,补齐了 Skills + MCP 的完整链路、Docker 部署、Benchmark、安全机制等等。
整个项目是一个人完成的,可能有没有测试到的地方,但是在我本机经过了实际测试是能够正常使用的,如果遇到任何问题,欢迎各位在github中提issue。
技术栈一览
| 层 | 技术 |
|---|---|
| 后端 | Python 3.10+ / FastAPI / SQLAlchemy / aiosqlite |
| 前端 | React 18 / Vite / Tailwind CSS / Framer Motion |
| 数据库 | SQLite(单文件,零配置) |
| 协议 | MCP(Model Context Protocol) |
| 部署 | Docker / macOS / Windows / Linux |
最后
如果你也在用 AI 编程工具,又被「每次对话都从零开始」这个问题困扰过,可以试试这个项目。
不管是想直接用,还是想学习一套「AI Agent 长期记忆系统」怎么落地,希望都能有点参考价值。
GitHub 地址:https://github.com/AGI-is-going-to-arrive/Memory-Palace
如果觉得还行,求一个 ⭐ Star,感谢!有 bug 欢迎提 issue,也欢迎 fork 二开(注明出处即可)。
star了,这相当于一个mcp吗
@ShowUNow #1
本身是带mcp的,安装了mcp之后
然后这个项目也提供了对应的skills
使用skills能够更加简单易用的在各种cli/ide中使用
@ShowUNow #1
skills安装的话,直接将这个链接👇
https://github.com/AGI-is-going-to-arrive/Memory-Palace/tree/main/docs/skills
交给ai,吩咐ai按要求安装即可。
绑定
win系统支持如何
@keith-ns #5
按道理是能用的,但是我本地暂时没有windows系统,是在docker中模拟的pwsh进行测试的
@Vibe-Coder #6 哦哦