mcpField
M
memory-recall

memory-recall

github.com/zilliztechAgent 工作流2.8k53 次安装3 天前更新
代码仓库

关于 memory-recall

memory-recall 是用于 memsearch 的检索技能,可搜索已存储的记忆,并为当前对话返回相关背景。它支持展开匹配结果,必要时追溯到源文件或对话记录。

主要功能

  1. 01按查询搜索记忆
  2. 02展开匹配章节
  3. 03回退读取源文件
  4. 04检索关联对话记录

适用场景

  1. 01恢复以往工作的背景
  2. 02为当前问题查找相关笔记
  3. 03检查记忆结果的来源

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/zilliztech/memsearch --skill memory-recall

安装后在 Claude Code 中输入/memory-recall确认已加载。

详细介绍

你正在为 memsearch 执行记忆检索。搜索过去的记忆,并返回与当前对话最相关的上下文。

项目集合

运行以下命令确定集合名称:

bash -c 'if [ -n "${MEMSEARCH_DIR:-}" ]; then bash __INSTALL_DIR__/scripts/derive-collection.sh "$MEMSEARCH_DIR"; else root=$(git rev-parse --show-toplevel 2>/dev/null || true); if [ -n "$root" ]; then bash __INSTALL_DIR__/scripts/derive-collection.sh "$root"; else bash __INSTALL_DIR__/scripts/derive-collection.sh; fi; fi'

步骤

  1. 搜索:运行 memsearch search "<query>" --top-k 5 --json-output --default-collection <collection name from above>,查找相关片段。

    • 如果找不到 memsearch,请改用 uvx memsearch。
    • 选择能够概括用户问题核心意图的搜索查询。
  2. 评估:查看搜索结果。跳过明显不相关或过于笼统的片段。

  3. 展开:对每个相关结果,使用以下方法之一获取完整上下文:

    • 首选:运行 memsearch expand <chunk_hash> --default-collection <collection name from above>,获取完整的 Markdown 章节。
    • 备用方案(如果因沙箱中的锁定或权限错误导致展开失败):直接读取源文件。搜索结果包含 source(文件路径)、start_line 和 end_line;使用 cat <source_file> 或读取相关行范围以获取完整上下文。这样可以避开 Milvus 锁文件问题。
  4. 深入探索(可选):如果展开的片段包含 transcript 锚点(带有会话或 rollout 信息的 HTML 注释),且原始对话似乎十分重要:

    • 运行 memsearch transcript <rollout_path>,以检索原始对话轮次(可自动检测格式并包含工具调用)。如果找不到 memsearch,请改用 uvx memsearch。
    • 如果 memsearch transcript 报告 transcript 格式无法识别,或锚点格式不熟悉(例如 transcript: + turn:、db: 而非 rollout:),请直接读取引用的文件,以查看其结构,并根据锚点中的会话或轮次标识找到相关对话。
  5. 返回结果:整理并返回最相关的记忆摘要。请保持简洁,只包含对用户当前问题确实有用的信息。

不确定该搜索什么时

如果用户的问题含糊不清,或你无法拟定具体的搜索查询,请先浏览原始 Markdown,因为它是记忆的权威来源:

  • MDIR="${MEMSEARCH_DIR:-$(git rev-parse --show-toplevel 2>/dev/null || pwd)/.memsearch}"; ls -t "$MDIR/memory/" | head -10 — 最近的每日日志
  • MDIR="${MEMSEARCH_DIR:-$(git rev-parse --show-toplevel 2>/dev/null || pwd)/.memsearch}"; grep -h "^## " "$MDIR/memory/"*.md | sort -u | tail -40 — 所有日期的会话标题
  • MDIR="${MEMSEARCH_DIR:-$(git rev-parse --show-toplevel 2>/dev/null || pwd)/.memsearch}"; cat "$MDIR/memory/<YYYY-MM-DD>.md" — 读取指定日期的日志

一旦发现明确的主题,请返回 memsearch search,使用具体的查询进行搜索。

输出格式

按相关性组织结果。每条记忆需包含:

  • 关键信息(决策、模式、解决方案、上下文)
  • 来源引用(文件名、日期),以便追溯

如果没有找到相关记忆,只需回复“未找到相关记忆”。

评论

支持 Markdown