尧图网站设计 尧图网站设计YAOTU DESIGN
ARTICLE DETAIL

资讯详情

深耕网站设计与一线实操的经验洞察。

agentmemory recap 技能实战指南:用 memory_sessions 与 memory_recall 构建按日期分组的会话周报

agentmemory recap 技能实战指南:用 memory_sessions 与 memory_recall 构建按日期分组的会话周报 agentmemory recap 技能实战指南用 memory_sessions 与 memory_recall 构建按日期分组的会话周报【免费下载链接】agentmemory#1 Persistent memory for AI coding agents based on real-world benchmarks项目地址: https://gitcode.com/GitHub_Trending/age/agentmemory本文围绕 agentmemory 的recap技能及其配套示例文档展开讲解如何让 AI 编程 Agent 通过memory_sessions与memory_recall两个 MCP 工具把过去一段时间内的 Agent 会话按日期分组汇总并抽取每条会话中的高价值观察点highlight最终产出一份本周 / 今天 / 最近 N 次的会话回顾。读完本文你将掌握 recap 的完整参数解析规则、调用链、输出格式规范以及遇到空窗口时应当遵循的诚实回答原则并能在 Claude Code、Codex 等支持 agentmemory 插件的宿主中直接复用这套技能。recap 技能是什么recap是 agentmemory 仓库中一个用户可主动调用的技能user-invocable skill其定义位于 plugin/skills/recap/SKILL.md。技能元数据如下name:recapdescription: 汇总当前项目最近 N 次 Agent 会话按日期分组并为每条会话附带高价值观察点。当用户说 recap、what have we been doing、today、this week或者想要一份近期工作的汇总时使用。argument-hint:[last N | today | this week]user-invocable: true配套的 plugin/skills/recap/EXAMPLES.md 则提供了三个可以直接对照实现的实战示例This week本周、Bare number裸数字、Empty window空窗口。本文以这两份文档为骨架并结合仓库源码对其底层实现进行展开。工作流总览五步生成一份 Recap按照 SKILL.md 的 Workflow 一节一次完整的 recap 输出需要依次完成以下五步解析$ARGUMENTS时间窗口today当前本地日期this week最近 7 天last n或裸数字如recap 3最近 N 次会话参数为空默认last 10。调用memory_sessions过滤到当前项目用cwd匹配工作目录应用时间窗口按startedAt降序排序。按本地日历日期YYYY-MM-DD分组。逐条会话列出 id前 8 位、title 或 first prompt、observationCount、status并从memory_recall结果中缩进列出 23 条高价值观察点importance 7。结尾输出总计行N sessions across M days, K observations.时间窗口参数解析规则用户输入解析结果说明Recap today.当前本地日期只汇总 startedAt 属于今天的会话Recap this week.最近 7 天从当前时刻往前推 7 个自然日recap 3/recap last 3最近 3 次取最近 N 条会话与日期无关Recap.空参数最近 10 次默认窗口实战示例一This week本周汇总这是 EXAMPLES.md 中给出的完整示例展示了从用户请求到最终展示的完整链路。用户请求Recap this week.窗口判定last 7 days。发起首次调用memory_sessions { limit: 30 }过滤后匹配 cwd 且位于 7 天窗口内的响应{ sessions: [ { id: 7f3a9c21, cwd: /Users/dev/app, title: Auth refresh rework, startedAt: 2026-06-07T09:00:00Z, observationCount: 14, status: completed, concepts: [jwt-refresh-rotation, auth-flow] }, { id: b21d004e, cwd: /Users/dev/app, title: Rate limiter audit, startedAt: 2026-06-05T14:00:00Z, observationCount: 9, status: completed, concepts: [rate-limiter, per-ip-bug] } ] }每条存活会话拉取高亮点memory_recall { query: jwt-refresh-rotation auth-flow, limit: 3 }最终向用户呈现2026-06-077f3a9c2Auth refresh rework, 14 obs, completed[8] Rotate refresh tokens on every use2026-06-05b21d004eRate limiter audit, 9 obs, completed[7] limit.ts counts per-IP, not per-user2 sessions across 2 days, 23 observations.注意这个示例中的两个细节一是每个会话的高亮观察点来自memory_recall的真实返回而不是 Agent 对会话内容的转述或推测二是memory_recall的查询词直接使用会话的concepts字段jwt-refresh-rotation auth-flow保证召回内容与该会话强相关。实战示例二Bare number裸数字窗口当用户输入recap 3这类裸数字时按last 3处理即取最近 3 次会话与日期窗口无关User: recap 3处理方式Treat as last 3. Call memory_sessions { limit: 3 }, group by date, same format.也就是说memory_sessions的limit直接取数字 N返回后仍按日期分组、按会话展示高亮点输出格式与示例一完全一致。limit只决定取多少条会话而分组与高亮逻辑不变。实战示例三Empty window空窗口的诚实回答当用户请求Recap today.而memory_sessions返回的会话中没有任何一条满足startedAt 属于今天且 cwd 匹配时recap 的正确做法是如实报告空窗口并主动提供最邻近的可选替代No sessions today for this project. The most recent was yesterday,7f3a9c2Auth refresh rework. Want a recap of that instead?这条示例背后是 SKILL.md 中强调的核心原则Only summarize sessions and observations the tools returned. An empty window is a real answer, not a prompt to invent activity.只汇总工具真实返回的会话与观察点空窗口本身就是答案而不是编造活动的借口。对应的反模式Anti-patterns非常明确WRONG窗口为空却基于对话记忆编造a productive week of auth work富有成效的一周认证工作。RIGHT如实回答 No sessions in the last 7 days for this project.底层实现memory_sessions 与 memory_recall 在 MCP 层如何工作memory_sessions列出近期会话memory_sessions在工具注册表中的定义位于 src/mcp/tools-registry.ts{ name: memory_sessions, description: List recent sessions with their status and observation counts., inputSchema: { type: object, properties: {} }, },其服务端实现位于 src/mcp/server.ts直接通过kv.list(KV.sessions)读取会话存储并把整个{ sessions }数组以 JSON 形式返回给调用方。也就是说memory_sessions返回的是会话的完整列表窗口过滤7 天、今天、最近 N 次、cwd匹配、按startedAt降序排序都是在 Agent 侧完成的这正是 recap 工作流第二步过滤到当前项目并应用窗口存在的原因。在独立standalone模式下src/mcp/standalone.ts 会额外解析limit参数默认回退值 20并经过 parseLimit 钳制非法值回退到默认值最大值不超过 100。memory_recall按查询拉取高价值观察点memory_recall的 MCP 服务端实现位于 src/mcp/server.ts其关键校验逻辑包括query为必填字符串空字符串返回 400format只接受full、compact、narrative三选一默认fulltoken_budget若提供必须是正整数。在 standalone 模式下src/mcp/standalone.ts 将memory_recall代理为对 daemon 的POST /agentmemory/search调用format默认full。recap 示例中的memory_recall { query: jwt-refresh-rotation auth-flow, limit: 3 }正是走这条链路limit: 3表示每条会话最多取 3 条高亮观察点。会话数据模型Session 接口memory_sessions返回的每条会话记录其字段定义在 src/types.ts 的Session接口中export interface Session { id: string; project: string; cwd: string; startedAt: string; endedAt?: string; status: active | completed | abandoned; observationCount: number; model?: string; tags?: string[]; firstPrompt?: string; summary?: string; commitShas?: string[]; agentId?: string; }这份模型直接支撑了 recap 输出中的各个要素id会话唯一标识示例中展示时截取前 8 位如7f3a9c2cwd / project用于把会话过滤到当前项目与 Agent 工作目录匹配startedAt会话开始时间recap 据此按 YYYY-MM-DD 分组并排序statusactive/completed/abandoned示例输出中直接展示如completedobservationCount会话内观察点数量汇总行23 observations即由各会话 observationCount 累加而来firstPrompt / summary会话标题或首条 prompt作为每行展示的title来源importance观察点的重要性评分src/types.tsrecap 只选取 importance 7 的观察点作为 highlight。诚实优先为什么 recap 必须空窗口即空答案从 SKILL.md 的 Why 与 Anti-patterns 两节可以看出recap 的设计哲学是可验证性与诚实性优先于好看会话与观察点必须来自memory_sessions/memory_recall的真实返回窗口为空就如实说明并可以基于已返回的数据如最近一次会话是昨天的7f3a9c2提供可选的替代建议但绝不虚构高亮观察点要求来自memory_recall的结果而非 Agent 对对话的转述Highlights come frommemory_recall, not paraphrase。这与 agentmemory 整体基于真实基准的持久记忆定位一致recap 的价值在于把已经落库的会话事实整理成可读的回顾而不是重新生成一份可能失真的事件描述。输出自查清单SKILL.md 的 Checklist 一节给出了完成 recap 后的四项目查窗口已按参数正确解析today / this week / last N / 默认 last 10会话已过滤到当前项目的 cwd高亮点来自memory_recall而非转述总计行N sessions across M days, K observations与展示的实际数量一致。相关技能与故障排查相关技能See alsorecap 与handoff、session-history、recall共享同一份会话数据只是视角不同handoff交接视角从会话中提炼上下文session-history完整会话历史视角recall语义检索视角。故障排查工具不可用时怎么办若memory_sessions或memory_recall不可用按 plugin/skills/_shared/TROUBLESHOOTING.md 的步骤排查在宿主中运行/plugin list确认agentmemory插件处于 enabled 状态重启宿主——插件的.mcp.json只在启动时读取新安装或重新启用的插件不会在会话中途注册工具检查/mcp确认agentmemory服务器连接正常。若 MCP 工具始终不可用但 daemon 在运行可以走 REST 兜底通道设置AGENTMEMORY_URL默认http://localhost:3111仅在设置了AGENTMEMORY_SECRET时才附加Authorization: Bearer $AGENTMEMORY_SECRET请求头默认本地 daemon 是开放的多余请求头反而会被拒绝。recap 对应的 REST 调用为SkillREST callrecapGET /agentmemory/sessionsPOST /agentmemory/smart-search这与 MCP 链路一一对应memory_sessions↔GET /agentmemory/sessions高亮观察点的获取则通过POST /agentmemory/smart-search即智能搜索完成。注意 daemon 同样只在启动时读取.mcp.json端口或鉴权变更后需要重启才会对两条通道同时生效。小结recap 是 agentmemory 会话记忆能力的一个小而完整的落地范例它用memory_sessions拿到会话事实清单用memory_recall为每条会话补充高价值观察点再按日期分组、格式化输出它的参数解析规则today / this week / last N / 默认 last 10与输出格式含总计行都有明确规范并强制要求 Agent 只使用工具真实返回的数据。对照 EXAMPLES.md 的三个示例与 SKILL.md 的工作流再结合 src/types.ts 的 Session 数据模型和 src/mcp/server.ts 的实现即可在自己接入 agentmemory 的 Agent 宿主中复刻出同样可靠的会话回顾能力。【免费下载链接】agentmemory#1 Persistent memory for AI coding agents based on real-world benchmarks项目地址: https://gitcode.com/GitHub_Trending/age/agentmemory创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表