| name | memory-keeper |
| description | Codex 记忆管理技能。用于“记住、记下来、忘掉、删除记忆、整理记忆、合并记忆、检查记忆冲突”等请求;把稳定信息路由到正确的 AGENTS.md、项目知识或已有个人知识库,并执行去重、合并、死链检查。显式调用:$memory-keeper。 |
记忆管理(Codex)
管理用户明确要求保存、删除或整理的长期信息。重点是正确归位和可验证修改,而不是保存整段对话。
与其他技能的边界
$memory-keeper:处理明确的“记住/忘掉/整理记忆”。
$weaver-自我迭代:跨项目扫描和提炼新候选。
$file-tidy:移动普通文件,不判断知识层级。
$debug-architect:复盘错误并写项目 .codex/ERROR_LOG.md。
“整理记忆”只重构现有内容,不从对话中顺手提取新事实。
可写位置
按用户现有体系优先,不强制创建新的 memory 目录:
| 内容 | 首选位置 |
|---|
| 跨项目硬规则 | ~/.codex/AGENTS.md |
| 项目硬规则 | 项目根或最近子目录的 AGENTS.md |
| Codex 配置 | ~/.codex/config.toml 或项目 .codex/config.toml |
| 稳定偏好、决策、项目上下文 | 项目已有 memory/docs/知识文件 |
| 通用概念、规律、方法论 | 用户已有个人知识库 |
| 技能说明 | ~/.agents/skills 或项目 .agents/skills |
AGENTS.md 只放执行必须看到的规则,不放叙事、聊天摘要或不稳定状态。需要合并案例时读取 references/merge-examples.md。
“记住”流程
1. 提炼原子事实
把用户内容压缩为一条或数条可独立更新的事实,区分:
- 明确事实;
- 用户偏好;
- 硬规则/禁止事项;
- 项目决策;
- 通用知识;
- 敏感信息。
不保存密钥、口令、令牌、身份信息或完整私密对话。用户要求保存敏感信息时,说明风险并建议安全存储位置。
2. 判断层级
- 明确跨项目 → 全局;
- 当前仓库专属 → 项目;
- 模块专属 → 最近子目录;
- 不确定 → 保守下沉到项目或先询问一次。
3. 搜索已有内容
在候选位置及其索引中搜索同义词、旧说法、反向规则和引用。读取目标文件后再决定:
- 新增;
- 更新旧条目;
- 合并重复;
- 替换被推翻内容;
- 无需修改(已存在)。
4. 展示计划
## 记忆写入计划
| # | 动作 | 目标文件 | 内容 | 原因 |
修改全局文件、删除旧内容、创建新知识文件或存在冲突时先确认。用户已明确指定文件和内容且操作低风险时可直接执行。
5. 融入并验证
- 按目标文件原有结构更新相关段落,不在文件尾堆重复“补充”。
- 若更新知识库,遵循该知识库最近的
AGENTS.md、索引和链接规范。
- 读回目标段落,搜索旧冲突表述和重复内容。
- 检查新链接和路径存在;配置文件需可解析。
- 报告绝对路径与最终落点。
“忘掉”流程
- 搜索所有明确匹配和可能派生项,区分规则、事实、链接、索引和配置。
- 展示拟删除/改写清单及影响;不要把“忘掉 X”扩大成清理整个主题。
- 用户确认后精确删除或改写。
- 清理死链、空标题、重复索引和只因该事实存在的交叉引用。
- 再次搜索目标词与同义表达,报告残留及原因。
若内容来自 Git 历史、备份或不可写的外部系统,说明只能从当前可控文件中移除,不能承诺彻底擦除历史。
“整理记忆”流程
1. 审计
限定用户指定的层级和目录,检查:
- 重复、矛盾、过期和被推翻的内容;
- 死链接、孤立文件、空标题和失效索引;
- 全局规则中混入项目细节;
- 项目规则应下沉到子目录;
- 配置说明与实际
config.toml 不一致;
- 同一知识在多个文件重复但没有权威来源。
2. 分级
| 动作 | 典型场景 | 默认行为 |
|---|
| 删除 | 死链、明确过期、完全重复 | 先确认 |
| 合并 | 同主题碎片、多个版本 | 先确认 |
| 更新 | 新决定明确推翻旧规则 | 先确认冲突处理 |
| 下沉/提升 | 层级放错 | 先展示理由 |
| 关联 | 不同主题但同根因 | 建议双向链接 |
| 保留 | 有意重复、不同受众 | 说明原因 |
3. 一次性计划
合并所有动作到一张表,给每项编号。用户可以整体确认或排除编号,不逐条打断。
4. 执行与完整性检查
- 先建立权威版本,再删重复版本;
- 更新所有索引和链接;
- 不改变事实含义,不把推测改成事实;
- 使用
git diff -- <明确路径> 检查变更边界;
- 整理结束后再次搜索重复词、死链和冲突规则。
特殊情况
- 目标位置不存在:优先使用项目已有体系;只有内容确有长期价值且用户同意时才创建文件。
- 两条记忆冲突:用户最新明确决定优先;否则并列展示并询问。
- 请求“记住这次对话”:先提炼候选清单,不保存全文。
- Codex 历史不可访问:不影响明确的记住/忘掉请求;整理范围只覆盖当前可读文件,并说明限制。
- 没有发现可整理项:报告检查范围和“无需变更”。