用途
AI 在会话之间没有记忆,每次新会话都从空白开始。remember 这个技能用来解决这个问题:在会话结束时保存重要状态,在新会话开始时恢复上下文,从而让工作不会丢失。
主要能力
该技能提供两种模式:
- 保存(save):在会话结束时运行,从当前对话中提取继续工作真正需要的信息,写入项目根目录的 memory.md。
- 恢复(restore):在新会话开始时运行,读取 memory.md 以及若干常见上下文文件,向开发者确认恢复内容是否正确。
保存时会记录以下内容:
- 构建了什么:具体创建或修改的文件、完成的功能、添加的组件,要求精确描述。
- 做出的决策:难以逆转或后续工作依赖的架构性选择。
- 解决的问题:花费时间才搞清楚的疑难,避免下次重复解决。
- 当前状态:目前什么能工作、什么部分完成、什么已知损坏。
- 下一步:下一次会话应该立即开始做的具体事项。
- 待解决问题:尚未解决、需要后续处理的事项。
保存时不会记录:代码中可见的实现细节、已在上下文文件中记录的决策、可通过阅读代码库推断的内容、构建过程本身,以及任何密钥或类似凭据的值。
使用方式
在会话结束时保存:
/remember save
在新会话开始时恢复:
/remember restore
如果开发者只运行 /remember 而未指定模式,技能会询问需要哪一种。
保存时,技能会将记忆写入项目根目录的 memory.md,该文件始终只包含最近一次会话的状态。如果 memory.md 已存在,会先展示当前保存内容的一行摘要,并询问是否覆盖,得到确认后才写入。
恢复时,技能先查找项目根目录的 memory.md。如果不存在,会提示这是首次会话或文件未保存,并建议在会话结束时运行 /remember save。随后读取 memory.md,并检查以下上下文文件(仅限这些):CLAUDE.md、.claude/context.md、.github/copilot-instructions.md、.cursorrules、.cursor/rules/、.windsurfrules、AGENTS.md、.clinerules、context.md。恢复后不会立即开始构建,而是先总结恢复的内容,让开发者确认理解是否正确,确认后才继续。如果记忆不完整或不清晰,技能会如实指出缺口,让开发者决定是继续还是先补齐。
安全边界
该技能绝不能持久化机密信息。如果对话或上下文中出现任何敏感值,不得复制到 memory.md。敏感数据包括(非穷尽列举):API 密钥、访问令牌、刷新令牌、会话令牌;密码、口令、一次性验证码、私钥、证书;Cookie、认证头、连接字符串、webhook 密钥;任何类似凭据的值或看起来像密钥的字符串。如果某个细节有用但敏感,应存储脱敏占位符(例如 [REDACTED_API_KEY])。如果不确定是否敏感,应按敏感处理,省略或脱敏。写入 memory.md 之前会做最终检查,确保没有敏感值;恢复时也不会重复或暴露任何来源中的原始密钥,只会以脱敏形式概括。
适用场景
适用于需要跨会话持续进行的开发工作,尤其是希望每次新会话都能准确接续上次进度、避免重复解决同一问题、并保留关键架构决策的场景。
限制
该技能只做保存和恢复两件事,不提供其他功能。其效果依赖持续使用:每次会话结束运行 /remember save,每次会话开始运行 /remember restore。偶尔使用无法形成可靠依赖。恢复时只读取 memory.md 和上述指定的上下文文件,不会扫描其他文件。