recall 用于按自然语言查询检索 Origin 的本地记忆,返回按混合向量加全文搜索排序的匹配结果,再由智能体重新排序。调用方式为 /recall <query>。
主要能力与流程:
- 查询扩展(智能体侧):把代词替换为实际指代对象,展开嵌入模型可能不认识的缩写,在原始词过窄时补充同义词(如 auth → auth OR authentication);查询已足够具体时不要过度扩展。每次 /recall 只调用一次,重复调用会加倍嵌入负载。
- 调用 MCP 工具:recall(query="<expanded query>", space=<inferred>, memory_type=<inferred>)。space 可推断为当前工作目录、讨论主题或近期提到的空间;memory_type 仅在查询本身点名类型时传入(如 decision on X、lesson about Y、preference for Z),否则省略交由混合搜索排序。limit 默认 10,快速查找用 3-5,探索用 10-20。
- 重排(智能体侧):对照原始查询重新阅读返回记忆,提升直接回答问题的结果,降低仅共享关键词的结果;向用户展示重排后的前 3-5 条,其余按需展示。
- 渲染修订上下文:当 version > 1、merged_from 非空或 pending_revision 为 true 时,在记忆正文上方输出一行紧凑标签,如
<id> v<N> (merged <K> memories)、<id> v<N>, pending revision against <id>、<id> v<N> — <last_delta_summary>或<id> v<N>。合并优先于待修订;last_delta_summary 为空或 null 时省略 delta;version 为 1 或 null 且无其他标记时跳过标签行。
适用场景:用户问“我之前说过 X 什么”“你还记得关于 Y 的决定吗”,或继续对话前需要某个具体事实。
不适用场景:宽泛的会话定位应使用 /brief;存储新记忆应使用 /capture。
限制与提示:本地记忆模式下守护进程无法在服务端重排和扩展,技能始终在智能体侧完成扩展与重排。查询应具体,如“Alice database preference”优于“database stuff”;结果过多时增加过滤条件而非加长查询。守护进程另有 search_memory_expanded 用于多查询场景。