Dream 用于整理跨会话累积的记忆文件,解决四类问题:指向已不存在文件或符号的失效引用、内容重叠的重复记忆、新旧记忆相互矛盾、以及 MEMORY.md 索引与实际文件不同步。
主要能力:扫描 .claude/agent-memory//、.claude/projects//memory/ 与 .claude/memory/ 下的记忆文件,解析 frontmatter 与正文,提取文件路径和函数/类名引用并验证是否存在;按 EVERGREEN、FRESH、PARTIALLY_STALE、FULLY_STALE 分类。只有 FULLY_STALE 才可能被自动清理,且需通过多重保护:type:user 永不自动清理,feedback/reference 类型的价值在于经验而非文件引用,14 天内修改过的、含 do not/never 等禁止性指令的均降级保留。还会读取 .claude/logs/memory-consult.jsonl,把近 14 天被查询过的记忆降级保留。重复检测按同类型且显著词重叠 60% 以上判定,保留较新文件;矛盾检测按同主题重叠 40%–60% 且存在否定信号判定,保留较新文件。
使用方式:在技能参数中加入 --dry-run 可只预览不写入。实际执行时用 mv 移入 .trash/日期目录而非直接删除,随后从存活文件重建 MEMORY.md 索引,写入前先备份为 .MEMORY.md.prev。索引以字节数为约束,目标不超过约 17 KB,超出时先裁剪描述再考虑归档。STEP 5.5 可运行 node ${CLAUDE_PLUGIN_ROOT}/skills/dream/scripts/index-budget.mjs '<memory_dir>' --json 检查预算,加 --apply 才执行归档移动。最后输出整理报告表。
限制:记忆文件不在 git 中,误删不可恢复,因此判断偏保守;外部路径(~、/、$、http 开头或非本仓库顶层目录)标记为 UNVERIFIABLE,不计入失效统计;不自动删除记忆来适配索引大小。具体平台与收费信息暂未提供。