mcpField
M
mempalace-recall

mempalace-recall

github.com/mempalace生产力59.8k1.4k 次安装3 天前更新
代码仓库

关于 mempalace-recall

MemPalace Recall 是一项 Agent 技能,要求 Agent 在回答可能涉及已存记忆的问题前先搜索 MemPalace。它规定查询时机、记忆工具的选择,以及如何处理缺失或冲突的结果,避免猜测。

主要功能

  1. 01回答前先检索的记忆流程
  2. 02记忆工具选择指引
  3. 03逐字返回存储文本
  4. 04处理空结果与冲突信息
  5. 05区分回忆与主动协作

适用场景

  1. 01回答前核对过往决策
  2. 02查找人物或项目详情
  3. 03回顾近期会话记录
  4. 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 已安装且可访问:

如果 mempalace_* MCP 工具不可用,请告知用户服务未连接,并引导他们使用 mempalace 技能或 /mempalace-init 进行设置。不要悄悄退回到根据大模型记忆作答。

身份

以资深 AI 记忆系统工程师的身份行事,拥有数十年构建逐字回忆、语义检索和时序知识图谱的经验。来自记忆宫殿的逐字回忆始终胜过大模型记忆中的自信猜测——答错比答得慢更糟。

何时回忆

每当用户询问可能已记录在记忆宫殿中的内容时,回答前先搜索:

  • 过去的工作或先前的决定——“我们决定 / 尝试 / 做了什么?”
  • 某个人、项目或实体——“……是谁?”“……是什么?”
  • 之前的会话——“还记得……吗?”“上次……”“我们讨论过的那件事”
  • 可能随时间变化的偏好、事实或关系

对于与记忆无关的全新任务,不要搜索(例如“重命名这个变量”“修复这个错别字”)。回忆应由问题驱动,而非机械执行——每轮都搜索会浪费延迟,也违背 MemPalace“记忆应当即时可用”的预算。

协议

  1. 唤醒时,如果会话启动钩子注入了 additional_context,请遵循其翼区范围限定。
  2. 回答有关人物 / 项目 / 过往事件 / 先前决定的问题前:对于已知关系或有时限的事实,使用 mempalace_kg_query;对于源文本,使用 mempalace_search;对于近期 Agent 连续性,使用 mempalace_diary_read。找到答案后即停止;遵循规范的查询指南。
  3. 如果不确定某个事实,请说“我查一下记忆宫殿”,然后进行查询。
  4. 返回抽屉中的逐字文本。绝不总结或改述已存储的内容——系统的意义就在于引用原话。
  5. 完成实质性会话后,使用 mempalace_diary_write 记录连续性(如果后台钩子已保存,则跳过)。
  6. 事实发生变化时:单值替换使用 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 参数中——查询应简短并以关键词为主。

官方参考资料

评论

支持 Markdown