基于 dztabel-happy/openclaw-memory-fusion 核心思想重构,保留最有价值的三部分,轻量集成到现有 Dreaming 系统。
来自 memory-fusion在本 skill 中的实现方式Byte offset 增量扫描scan_sessions_incremental.py(原生脚本)A′ 滚动7天区Dreaming L2 phase 自动写 MEMORY.md 末尾滚动区防套娃三保险扫描器忽略规则 + prompt 前缀 + 收敛验证每周分类治理Weekly cron job 执行晋升/剪枝/归档
text
session JSONL
│
├── Dreaming(每晚 3am)
│ └── DREAMS.md + memory/dreaming/
│
├── memory-fusion-lite L2(每天 23:30)
│ └── scan_sessions_incremental.py(增量)
│ → LLM 提炼 → MEMORY.md#A′ 滚动区(≤30条)
│
└── memory-fusion-lite L3(每周一 00:20)
└── LLM 扫描 A′ → 晋升1-2条 → weekly 归档
检查 plugins.entries.memory-core.config.dreaming.enabled === true
bash
mkdir -p ~/.openclaw/workspace/memory/_state
bash
mkdir -p ~/.openclaw/workspace/memory/weekly
scripts/scan_sessions_incremental.py — 增量扫描脚本(来自 memory-fusion 原始仓库,618行 Python3)references/a-prime-zone.md — A′ 滚动7天区格式规范与维护规则references/anti-recursion.md — 防套娃三保险实现细节references/weekly-governance.md — 每周分类治理流程references/diff-from-dreaming.md — 与 Dreaming 的分工边界说明自动触发(cron):
层级名称cron 表达式内容L2memory-fusion-lite daily30 23 * * *(Asia/Shanghai)增量扫描 → LLM 提炼 → A′ 区写入L3memory-fusion-lite weekly20 0 * * 1(Asia/Shanghai)A′ 区分类治理 + 晋升 + 归档
手动触发:
/memory-fusion-lite daily — 立即执行 L2 daily/memory-fusion-lite weekly — 立即执行 L3 weekly/memory-fusion-lite status — 查看各层执行状态text
1. 运行脚本
python3 scripts/scan_sessions_incremental.py \
--openclaw-dir /root/.openclaw \
--agent main \
--format md \
--max-messages 50
2. 脚本输出(markdown)→
## session-xxxx
- U: user 消息
- A: assistant 最终回复(不含tool_calls)
3. LLM 提炼(忽略 cron/NO_REPLY/System 消息)
4. 写 MEMORY.md A′ 区
- 每天最多5条
- 总数超30条时删除最老条目
- 更新 "上次清理" 注释
在 MEMORY.md 末尾维护一个独立章节:
markdown
## 近期重要更新(自动,滚动7天)
<!-- A′ zone: auto-maintained by memory-fusion-lite -->
<!-- 规则:≤30条,每天最多新增5条,每周晋升1-2条到上方分类区 -->
<!-- 上次清理:2026-04-15 -->
## 2026-04-15
- **主题**:简短描述
所有 cron prompt 第一行必须是:
text
[cron:memory-daily] ... (L2)
[cron:memory-weekly] ... (L3)
scan_sessions_incremental.py 自动忽略:
[cron: 开头的 session( _classify_is_cron_session)memory-daily ok / memory-weekly ok / NO_REPLY 的消息tool / system role 的消息脚本统计 messages_emitted 和 messages_ignored,当 ignored >> emitted 时说明过滤器在正常工作。
文件内容memory/_state/scan_sessions_incremental.json字节偏移游标(脚本自带)memory/_state/last-daily.jsonL2 上次执行时间戳memory/_state/last-weekly.jsonL3 上次执行时间戳 + ISO weekmemory/_state/weekly-gate.json本周是否已执行 flag
Dreamingmemory-fusion-lite触发每晚 3amL2 23:30 / L3 周一 00:20重点语义理解 + 记忆整理增量扫描 + 滚动更新 + 分类治理输出DREAMS.md + phase reportsMEMORY.md A′ 区 + weekly 归档扫描方式全量 session增量(字节偏移游标)
两者互补,不冲突。Dreaming 保留,本 skill 补强。
plugins.entries.memory-core.config.dreaming.enabled === true)以下 memory-fusion 功能 未包含:
text
openclaw skills update memory-fusion-lite