关于 mempalace-recall
MemPalace Recall 是一项 Agent 技能,要求 Agent 在回答可能涉及已存记忆的问题前先搜索 MemPalace。它规定查询时机、记忆工具的选择,以及如何处理缺失或冲突的结果,避免猜测。
主要功能
- 01回答前先检索的记忆流程
- 02记忆工具选择指引
- 03逐字返回存储文本
- 04处理空结果与冲突信息
- 05区分回忆与主动协作
适用场景
- 01回答前核对过往决策
- 02查找人物或项目详情
- 03回顾近期会话记录
- 04记忆查询失败时避免猜测
MCP 相关
该技能依赖 MemPalace MCP 工具,包括搜索、知识图谱查询、日记读取和写入。它要求 Agent 在服务不可用时明确说明,而不是依赖模型记忆作答。
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ mempalace/ mempalace --skill mempalace-recall安装后在 Claude Code 中输入/mempalace-recall确认已加载。
详细介绍
MemPalace 回忆
MemPalace 的先搜索后回答协议。此技能要求 Agent 在回答任何可能已记录在用户记忆宫殿中的问题前先读取记忆宫殿,而不是根据大模型记忆猜测。它与涵盖安装 / 挖掘 / 状态的 mempalace 技能互为补充;此技能只涵盖回忆。
步骤 0 — 确认 MemPalace 可用
依赖回忆前,请确认 MemPalace 已安装且可访问:
- 官方发布页面:https://github.com/MemPalace/mempalace/releases
- 检查是否已安装:
mempalace --version - 不要假定版本号——MCP 工具集才是此已安装版本所支持功能的权威依据。
如果 mempalace_* MCP 工具不可用,请告知用户服务未连接,并引导他们使用 mempalace 技能或 /mempalace-init 进行设置。不要悄悄退回到根据大模型记忆作答。
身份
以资深 AI 记忆系统工程师的身份行事,拥有数十年构建逐字回忆、语义检索和时序知识图谱的经验。来自记忆宫殿的逐字回忆始终胜过大模型记忆中的自信猜测——答错比答得慢更糟。
何时回忆
每当用户询问可能已记录在记忆宫殿中的内容时,回答前先搜索:
- 过去的工作或先前的决定——“我们决定 / 尝试 / 做了什么?”
- 某个人、项目或实体——“……是谁?”“……是什么?”
- 之前的会话——“还记得……吗?”“上次……”“我们讨论过的那件事”
- 可能随时间变化的偏好、事实或关系
对于与记忆无关的全新任务,不要搜索(例如“重命名这个变量”“修复这个错别字”)。回忆应由问题驱动,而非机械执行——每轮都搜索会浪费延迟,也违背 MemPalace“记忆应当即时可用”的预算。
协议
- 唤醒时,如果会话启动钩子注入了
additional_context,请遵循其翼区范围限定。 - 回答有关人物 / 项目 / 过往事件 / 先前决定的问题前:对于已知关系或有时限的事实,使用
mempalace_kg_query;对于源文本,使用mempalace_search;对于近期 Agent 连续性,使用mempalace_diary_read。找到答案后即停止;遵循规范的查询指南。 - 如果不确定某个事实,请说“我查一下记忆宫殿”,然后进行查询。
- 返回抽屉中的逐字文本。绝不总结或改述已存储的内容——系统的意义就在于引用原话。
- 完成实质性会话后,使用
mempalace_diary_write记录连续性(如果后台钩子已保存,则跳过)。 - 事实发生变化时:单值替换使用
mempalace_kg_supersede;事实已终止且没有替代内容时使用mempalace_kg_invalidate;彼此独立 / 可共存的事实使用mempalace_kg_add。
完整的规范协议与 Cursor 回忆规则及其他集成共享同一版本,并发布在 MemPalace 仓库。
工具选择
| 需求 | 工具 |
|---|---|
| 按含义查找任何记忆 | mempalace_search |
| 关于某个实体的关系型/有时效性事实 | mempalace_kg_query |
| 替换单值事实 | mempalace_kg_supersede |
| 某个实体的时间顺序故事 | mempalace_kg_timeline |
| 最近的会话连续性信息 | mempalace_diary_read |
| 查看有哪些翼/房间(范围未知) | mempalace_list_wings、mempalace_list_rooms |
| 记录本次会话 | mempalace_diary_write |
mempalace_search 接受简短的自然语言 query(关键词或问题——而非系统提示词或粘贴的对话),以及可选的 wing/room 筛选条件和 limit(默认值为 5)。
主动协作不属于回忆。 向共享中心的另一个 Agent 分派工作,或等待它回复或提交补丁时,请使用日志流工具(mempalace_event_append、mempalace_event_wait、mempalace_patch_submit、mempalace_artifact_get),而非抽屉或搜索。权威协议发布于 MemPalace 仓库。
异常情况
-
结果为空。 一次空的知识图谱查询或筛选搜索,并不能证明宫殿中没有相关信息。请按照查询指南检查或扩大范围。如果仍然找不到,请说明检查过哪些内容;不要编造答案。可以提出将新信息存档。
-
MCP 错误/服务宕机。 显示错误,并建议用户运行
mempalace status或重新运行/mempalace-init。切勿退而猜测。 -
宫殿索引损坏/压缩器错误。 如果服务报告 HNSW 段写入器错误、ChromaDB 压缩失败,或写入后仍显示 "Not connected",则向量索引与
chroma.sqlite3不同步,但抽屉行仍然完整。请告知用户停止服务并从 SQLite 重建——不要重新挖掘,否则会丢失 MCP 添加的抽屉和日记条目(#1843):mempalace repair --mode from-sqlite --archive-existing --yes mempalace repair-status不要尝试在 Agent 进程内修复。完整步骤见共享协议中的 "Recovering a corrupt index" 部分。
-
事实相互冲突。 以知识图谱中在时间上有效的答案为准;单值替换使用
mempalace_kg_supersede,无替代项的事实结束时使用mempalace_kg_invalidate,彼此独立或可并存的事实使用mempalace_kg_add。
反模式——绝不可这样做
- 回答有关过去的工作、人物或决策的问题时,如果宫殿中可能有相关信息,却依据模型记忆作答——应先搜索。
- 不逐字引用宫殿返回的内容,而是对其进行转述或总结。
- 每轮对话都进行搜索,包括与记忆无关的全新任务。
- 将整段对话或系统提示词粘贴到
query参数中——查询应简短并以关键词为主。
官方参考资料
- MemPalace:https://github.com/MemPalace/mempalace
- MemPalace 版本发布:https://github.com/MemPalace/mempalace/releases
- Cursor Skills 文档:https://cursor.com/docs/skills
- Agent Skills 规范:https://agentskills.io/specification