SuperAPI AI 工具集

memory-recall

智能体与模型

查看项目

更新于 10-16 02:02

技能介绍

用途

memory-recall 是 memsearch 的记忆检索代理技能,职责是搜索过往记忆,并把最相关的上下文返回给主对话。当用户的问题可能受益于历史背景、过往决策或既有方案时,适合调用该技能。

主要能力

  • 在指定集合(collection)中搜索与查询相关的记忆片段。
  • 对搜索结果进行评估,跳过明显无关或过于笼统的内容。
  • 对相关结果进行展开,获取包含上下文环境的完整 markdown 段落。
  • 可选地深入回溯:当展开的片段包含会话/转录锚点且原始对话较为关键时,可检索原始对话轮次。
  • 当无法形成具体查询时,可先浏览原始 markdown 记忆文件进行探索。

使用方式

项目集合的确定方式为:若设置了 MEMSEARCH_DIR,则基于该目录推导集合;否则基于 git 仓库根目录推导;再否则使用默认推导。

搜索步骤:

  1. 运行 memsearch search "<query>" --top-k 5 --json-output --default-collection <collection name above> 查找相关片段。若找不到 memsearch,则改用 uvx memsearch。
  2. 选择一个能捕捉用户问题核心意图的搜索查询。
  3. 评估搜索结果,跳过明显无关或过于笼统的片段。
  4. 对每个相关结果运行 memsearch expand <chunk_hash> --default-collection <collection name above>,获取带上下文的完整 markdown 段落。
  5. 可选深入回溯:若展开的片段包含转录锚点(带会话/转录信息的 HTML 注释)且原始对话似乎关键,运行 memsearch transcript <jsonl_path> --turn <uuid> --context 3 获取原始对话轮次(自动检测转录格式并包含工具调用)。若找不到 memsearch,则改用 uvx memsearch。若 memsearch transcript 报告无法识别的转录格式,或锚点格式不熟悉(例如 rollout:、db: 而非 transcript: + turn:),则直接读取所引用的文件,通过锚点中的会话或轮次标识定位相关对话。
  6. 返回结果:输出最相关记忆的精炼摘要,保持简洁,只包含对用户当前问题真正有用的信息。

当不确定搜索什么时,可先探索原始 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 使用具体查询。

输出格式

按相关性组织。每条记忆包含:关键信息(决策、模式、解决方案、上下文)以及来源引用(文件名、日期)以便追溯。若未找到相关内容,直接输出“No relevant memories found.”。

适用场景

适用于需要历史上下文、过往决策或既有方案的对话场景,例如用户提问可受益于此前会话记录时。

限制

关于收费、价格、平台支持范围等信息,资料中暂未提供。