用途
memory-recall 是 memsearch 的记忆检索代理技能,职责是搜索过往记忆,并把最相关的上下文返回给主对话。当用户的问题可能受益于历史背景、过往决策或既有方案时,适合调用该技能。
主要能力
- 在指定集合(collection)中搜索与查询相关的记忆片段。
- 对搜索结果进行评估,跳过明显无关或过于笼统的内容。
- 对相关结果进行展开,获取包含上下文环境的完整 markdown 段落。
- 可选地深入回溯:当展开的片段包含会话/转录锚点且原始对话较为关键时,可检索原始对话轮次。
- 当无法形成具体查询时,可先浏览原始 markdown 记忆文件进行探索。
使用方式
项目集合的确定方式为:若设置了 MEMSEARCH_DIR,则基于该目录推导集合;否则基于 git 仓库根目录推导;再否则使用默认推导。
搜索步骤:
- 运行
memsearch search "<query>" --top-k 5 --json-output --default-collection <collection name above>查找相关片段。若找不到 memsearch,则改用uvx memsearch。 - 选择一个能捕捉用户问题核心意图的搜索查询。
- 评估搜索结果,跳过明显无关或过于笼统的片段。
- 对每个相关结果运行
memsearch expand <chunk_hash> --default-collection <collection name above>,获取带上下文的完整 markdown 段落。 - 可选深入回溯:若展开的片段包含转录锚点(带会话/转录信息的 HTML 注释)且原始对话似乎关键,运行
memsearch transcript <jsonl_path> --turn <uuid> --context 3获取原始对话轮次(自动检测转录格式并包含工具调用)。若找不到 memsearch,则改用uvx memsearch。若 memsearch transcript 报告无法识别的转录格式,或锚点格式不熟悉(例如 rollout:、db: 而非 transcript: + turn:),则直接读取所引用的文件,通过锚点中的会话或轮次标识定位相关对话。 - 返回结果:输出最相关记忆的精炼摘要,保持简洁,只包含对用户当前问题真正有用的信息。
当不确定搜索什么时,可先探索原始 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.”。
适用场景
适用于需要历史上下文、过往决策或既有方案的对话场景,例如用户提问可受益于此前会话记录时。
限制
关于收费、价格、平台支持范围等信息,资料中暂未提供。