Skill.md
Session Dream
Claude Code 有一个叫 autoDream 的后台服务,每隔 5+ 次会话(且超过24小时)自动扫描历史对话,把重要的决策、规则和发现写入 MEMORY.md topic 文件。这很有用——但它不是实时的。
你今天花了3小时调试出来的结论,如果今晚就触发了上下文压缩,autoDream 来不及处理,这些内容就消失在摘要里了。下次 session,Claude 什么都不记得。
session-dream 解决的就是这个时间差:会话结束时手动触发一次提炼,不等 autoDream 自动运行。
四阶段提炼流程
| 阶段 | 操作 |
|---|---|
| Orient | 读取现有 MEMORY.md,了解哪些主题已有记录,避免重复写入 |
| Gather | 扫描当前对话,按价值高低筛选值得持久化的内容 |
| Consolidate | 写入或更新 topic 文件,矛盾内容优先细化而非覆盖 |
| Prune & Index | 更新 MEMORY.md 指针,保持在200行以内 |
什么值得保存
高价值(必存):
- 有推理过程的架构决策——"选了 X 而不是 Y,因为 Z"
- 失败的路径——"走过 A,撞墙 B,不要再试"
- 对已有 memory 的修正
- 没有写在任何文件里的隐性约束
中等价值(不易发现时存):
- 项目特有的命名约定
- 环境特定的行为差异
- 当前阻塞的根因
跳过:
- 读过的文件列表、运行过的命令
- 代码里看得到的实现细节
- 步骤叙述
触发方式
- 说
dream或/dream - 说「保存会话记忆」「提炼这次会话」「这次学到了什么要记住」
- 一次长而富有成果的会话结束时
与其他记忆工具的关系
session-dream 是按需提炼:会话结束时主动运行,捕捉这次的收获。compact-with-memory 是压缩前提炼:context 快满时在压缩前保存知识。memory-architect 是结构性清理:当 MEMORY.md 积累了大量冗余条目时做重整。
三者互补,分别对应不同时机的记忆管理需求。
局限说明
提炼质量取决于对话中决策的表达质量。如果这次 session 里的决策没有说清楚"为什么",提炼出来的 memory 条目也会缺乏 **Why:** 背景。建议做重要决策时主动说出理由,让 dream 时能提取到完整的推理链。