with one click
dream
// 记忆方法论 & 整合执行——定义 T0/T1/T2/Dream 记忆职责、OpenClaw 注入预算硬约束、价值判断、遗忘机制,以及初始化/日常/深度三种执行流程。
// 记忆方法论 & 整合执行——定义 T0/T1/T2/Dream 记忆职责、OpenClaw 注入预算硬约束、价值判断、遗忘机制,以及初始化/日常/深度三种执行流程。
[HINT] Download the complete skill directory including SKILL.md and all related files
| name | dream |
| description | 记忆方法论 & 整合执行——定义 T0/T1/T2/Dream 记忆职责、OpenClaw 注入预算硬约束、价值判断、遗忘机制,以及初始化/日常/深度三种执行流程。 |
| metadata | {"version":"2.5.2"} |
OpenClaw 会把 workspace 根目录 .md 文件注入每个新会话。单文件存在硬限制:12000 chars。超过后会在 injected context 中被自动截断,表现类似:
workspace bootstrap file MEMORY.md is 15164 chars (limit 12000); truncating in injected context
这意味着:
MEMORY.md 必须主动维护在硬限制以内。| 区间 | 状态 | 动作 |
|---|---|---|
| 9000–10500 chars | 理想 | 保持,不为省 token 继续压缩 |
| 10501–11000 | 观察 | 只处理明显重复/过时/违规内容 |
| 11001–11800 | 整理 | 主动压缩低价值细节,目标回到 ≤10500 |
| 11801–12000 | 临界 | 优先整理,目标回到 ≤10500 |
| >12000 | 已影响注入 | 紧急恢复到 ≤11000,避免继续被动截断 |
Daily / Deep Dream 在编辑 MEMORY.md 前后都必须运行 bundled script:
node <skillDir>/scripts/t0-budget-check.mjs <workspaceDir> --json
脚本输出 MEMORY.md chars/bytes/lines/status,以及禁止写入内容命中行。<skillDir> 是本技能目录;<workspaceDir> 由 Cron Prompt 或用户指定。
每次对话都可见,容量极小,必须高信噪比。
MEMORY.md — 稳定事实、决策、规则、活跃项目索引、高信号教训。SOUL.md — 助手是谁、性格、长期反思。USER.md — 用户是谁、稳定偏好、背景、沟通模式。TOOLS.md — 工具选择、关键用法、环境特有注意事项。AGENTS.md — 行为规范和工作准则。T0 只放“每次醒来都应该看到”的东西。
memory/YYYY-MM-DD*.mddream/YYYY-MM-DD.md。T2 容量大,适合存放“知道存在即可,需要时检索”的内容。
dream/YYYY-MM-DD.mdMEMORY.md,避免 T0 被维护过程污染。| 类型 | 去哪里 | 说明 |
|---|---|---|
| 操作手册、详细步骤、长清单 | Wiki / references / 项目 docs | T0 只留检索入口和原则 |
| 事件长复盘、调查过程、证据链 | Wiki source/capsule 或 daily memory | T0 只留最终教训 |
| 项目内部详细状态 | 对应项目仓库 / devlog | T0 留项目入口和检查规则 |
| Dream 运行过程、压缩原因、备份路径 | dream diary | 禁止写入 MEMORY.md |
| 一次性任务结果 | daily memory | 除非形成长期规则 |
| 可实时查询的状态 | 不记或留“实时查”原则 | 模型、cron、provider、频道、版本、费用等 |
面对日志中的任何信息,先判断值不值得长期化:
| 维度 | 高价值 | 低价值 |
|---|---|---|
| 复现性 | 未来类似场景会用到 | 一次性 |
| 不可替代性 | 只有记忆里能提醒 | 代码/配置/文档/命令可查 |
| 稳定性 | 长期有效 | 明天可能变化 |
| 行为影响 | 会改变助手怎么做事 | 只是背景信息 |
三高或强行为影响 → 可提取。否则留在 T1/T2。
提取后位置:
Dream 每轮都围绕四个动作:
t0-budget-check.mjs。MEMORY.md chars/lines/status。forbiddenHits,优先处理。MEMORY.md >11000 chars,提出或执行整理。MEMORY.md >12000 chars,优先恢复到 ≤11000,避免 OpenClaw 被动截断。从 MEMORY.md 提取可验证声明:
SOUL.md / USER.md 中稳定声明。MEMORY.md 中的维护痕迹、具体动态 ID、重复句、已证伪过程态。MEMORY.md >12000 chars 时,对低风险内容做紧急整理。Cron 场景无法交互确认,因此不设置交互阻塞项;但以下情况必须在报告开头单独通知:
MEMORY.md 15%。MEMORY.md 从 >12000 chars 恢复到限制内。通知必须说明:触发原因、改动章节、删除/移出内容类型、保留了哪些安全边界和高价值规则、before/after chars/lines、检查脚本结果。
即使是 Cron 自动任务,也禁止删除:
不确定时:保留原文,最多追加“待人工审阅”到 dream diary,不写入 MEMORY.md。
t0-budget-check.mjs。wc -l -c MEMORY.md。forbiddenHits。用于首次建立基线或用户明确要求全量整理。
MEMORY.md chars ≤11000(或说明为什么暂不能达成)。定向
MEMORY.md、SOUL.md、USER.md、TOOLS.md、AGENTS.md 摘要或相关段落。扫描近 3 天
memory/YYYY-MM-DD*.md。审计
判断与执行
MEMORY.md ≤11000 时,不为省 token 做激进压缩。MEMORY.md >11000 时,优先整理低风险内容。Dream 自身记忆
dream/YYYY-MM-DD.md。验证与报告
用于用户手动要求深度整理。
写入/追加 dream/YYYY-MM-DD.md:
# Dream YYYY-MM-DD
mode: daily|deep|initialization
scan_window: 3d|7d|full
## Budget
- MEMORY.md: before N chars / after N chars / status
- forbiddenHits: N
## Actions
- Consolidate: ...
- Correct: ...
- Forget/Downscale: ...
- Insight: ...
## Large adjustment notice
- trigger: ...
- sections: ...
- moved/deleted types: ...
- preserved: ...
## Skipped / Needs attention
- ...
## Next attention
- ...
同一天多次运行追加,不覆盖。
通过 message 工具发送,投递目标由 Cron Prompt 指定:
🌙 Dream (YYYY-MM-DD) [daily|deep]
🧠 MEMORY.md:before_chars → after_chars / limit 12000(status)
🔍 审计:forbiddenHits N / 动态状态 N / 事实修正 N
🔄 巩固:T0 +N / T2 +N
✏️ 修正:N 条
🗑️ 遗忘/移出:N 条
💭 洞察:...
⏭️ 下次:...
如果触发大幅调整,报告开头必须追加:
⚠️ 大幅调整通知
- 触发原因:...
- 调整范围:...
- 删除/移出类型:...
- 保留确认:...
- 结果:before → after chars/lines,status
零变更也必须发送。