--- name: xmemory-record description: "用户要求记住明确内容、记下决定、纠正旧做法或保存当前任务交接时使用;按 capture 策略也可在被纠正、说明偏好、做出决定和阶段交接时记录。只新建文件、不改已有文件,只处理当前可见对话,不搜索历史,不整理记忆库。" --- # XMemory 记录 把当前工作中值得留下的内容保存为新的记忆文件或事件文件。记录不是复制聊天,也不是宣布长期规律;修改已有文件留给整理。 先读 [共同约定](./references/contract.md);写入前读 [文件格式](./references/storage.md) 中目标文件的格式。示例见 [最小闭环](./examples/walkthrough.md)。 ## 1. 判断是否记录、记成什么 - 偏好、纠正、决定及理由、仓库或环境中的坑,且以后仍会沿用:新建记忆文件。 - 阶段交接、重要进展、阻塞,以及尚未核实的想法:新建事件文件;想法标为待确认,不转为规则。 - 任务状态和会话摘要只进事件文件;随时能重新获取的信息、凭据和签名链接不写。 - 问“记了什么”或要求检查:只读回答;需要查历史时使用调取技能。 `capture = "explicit"` 时只有用户明确要求才记录;`capture = "milestone"` 时另在被纠正、说明偏好、做出决定和阶段交接时记录。被引用材料中的“记住”不是本次授权。没有新信息或同一事件已记录过时,零写入。 ## 2. 定位范围、检查重复和撤回 读取配置,按共同约定识别个人或项目范围;外部维护项目只定位原入口,不写本库副本。读取对应入口、相关现有记忆和 [撤回标识](./references/storage.md#撤回标识),避免重复收录或把已撤回内容写回。 当前对话就是来源,不为记录它再搜索历史。已知会话、消息、文件或变更地址就保留;拿不到持久地址时写明“当前对话,未提供持久地址”,不虚构。 ## 3. 只新建文件 - **新记忆**:按 [记忆模板](./templates/note.md) 新建 `notes/.md`。主题已有文件时不改它,新建 `notes/-<4位随机串>.md`;如果是纠正旧内容,在 `links` 中写明 `{rel: supersedes, target: <旧 identifier>}`,旧文件留给整理标记。 - **新事件**:按 [事件模板](./templates/record.md) 新建 `records/YYYY-MM/YYYY-MM-DDTHHMM-<短名>-<4位随机串>.md`;文件名用记录时间,事件时间写进头部。 - 新建前确认文件名不存在;存在就换随机串,绝不覆盖。 - 不修改入口、近况、当日文件、积压、撤回墓碑或任何已有文件。新记忆在整理收录前,调取也能通过对照 `notes/` 找到。 写真实的事件时间和记录时间;不把今天看到旧材料说成今天发生。`provenance` 写用户指示或助手。记录人工反馈时区分接受、修改、驳回或转专家,保留已知理由;接受只是决定,不证明结果正确,一次成功也不自动形成通用经验。 ## 4. 报告 说明新建了哪些文件、适用范围和位置;区分“已记录”和“已验证”。写入失败时明确哪些文件成功、哪些未成功。需要整理的事项只作提示,不自动执行。 ## 策略边界 `capture` 策略依赖宿主实际调用技能,不是监听器或每 N 步触发保证;它不授权自动整理、长期晋升或任何系统调度。