| | |
| | | |
| | | ## 任务清单 |
| | | |
| | | ### 1. 三层记忆每日总结(由 memory-management 技能处理) |
| | | ### 每日任务(晚上10点后执行) |
| | | |
| | | **触发条件**: 时间 ≥ 22:00 且当日无 L2 记录 |
| | | **执行技能**: [memory-management](../skills/memory-management/SKILL.md) |
| | | **执行脚本**: `skills/memory-management/scripts/daily_check.py` |
| | | #### 1. 热记忆每日更新与归档 |
| | | |
| | | **逻辑**: |
| | | **触发条件**: 时间 ≥ 22:00 |
| | | **执行技能**: [memory-md-hot](../skills/memory-md-hot/SKILL.md) + [memory-md-archive](../skills/memory-md-archive/SKILL.md) |
| | | |
| | | **执行逻辑**: |
| | | ``` |
| | | 收到心跳请求 |
| | | │ |
| | | ▼ |
| | | 读取 HEARTBEAT.md 获取任务清单 |
| | | │ |
| | | ▼ |
| | | 时间 ≥ 22:00 ? |
| | | └── 是 → 今日 L2 已存在 ? |
| | | └── 否 → 执行每日总结 |
| | | ├── 否 → 回复 HEARTBEAT_OK(时间未到) |
| | | │ |
| | | └── 是 → 执行热记忆更新流程 |
| | | │ |
| | | ▼ |
| | | ① 执行 memory-md-hot 更新 |
| | | │ |
| | | ▼ |
| | | 扫描今日记忆检索 |
| | | │ |
| | | ▼ |
| | | 提取重要事件和日常活动 |
| | | │ |
| | | ▼ |
| | | 更新 MEMORY.md |
| | | │ |
| | | ▼ |
| | | ② 执行 memory-md-archive 归档 |
| | | │ |
| | | ▼ |
| | | 归档8天前的日常事件 |
| | | │ |
| | | ▼ |
| | | 归档超过30条的重要事件 |
| | | │ |
| | | ▼ |
| | | 归档超过30条的学习事件 |
| | | │ |
| | | ▼ |
| | | 检查文件大小,如超过4KB进行体积控制归档 |
| | | │ |
| | | ▼ |
| | | ③ 执行 git 提交 |
| | | │ |
| | | ▼ |
| | | 添加 MEMORY.md 和归档文件变更 |
| | | │ |
| | | ▼ |
| | | 提交更新 |
| | | │ |
| | | ▼ |
| | | 回复 HEARTBEAT_OK |
| | | ``` |
| | | |
| | | **更新内容**: |
| | | |
| | | 1. **memory-md-hot 更新阶段** |
| | | - 从记忆检索中获取今日事件 |
| | | - 按日期分组添加到事件流水 |
| | | - 保留所有历史记录 |
| | | - 统计文件大小和事件数量 |
| | | |
| | | 2. **memory-md-archive 归档阶段** |
| | | - 归档8天前的日常事件到 `memory/archive-daily/YYYY-MM.md` |
| | | - 如重要事件超过30条,按重要性归档到 `memory/archive-major/YYYY-MM.md` |
| | | - 如学习事件超过30条,按重要性归档到 `memory/archive-learning/YYYY-MM.md` |
| | | - 如文件超过4KB,从事件流水中抽离不重要的内容进行归档 |
| | | |
| | | 3. **Git 提交阶段** |
| | | - 添加 MEMORY.md 变更 |
| | | - 添加归档目录中的新文件或变更 |
| | | - 提交信息:"每日:更新热记忆 [日期]" |
| | | |
| | | **动作**: |
| | | - 扫描当日活动、决策、事件 |
| | | - 创建 L2 记录 (`memory/journal/YYYY-MM-DD.md`) |
| | | - 更新 L0 索引 |
| | | - 检查 L0 大小 |
| | | |
| | | --- |
| | | |
| | | ## 其他维护(非心跳) |
| | | |
| | | 以下维护由独立机制处理,不通过心跳执行: |
| | | |
| | | - **每周维护**: `memory-weekly-maintenance` (Cron 定时任务,周一 9:30) |
| | | - **每月维护**: 手动触发 |
| | | - 执行 `memory-md-hot/scripts/daily_maintenance.py update` |
| | | - 执行 `memory-md-archive/scripts/archive.py` |
| | | - 执行 `git add MEMORY.md memory/ && git commit -m "每日:更新热记忆 $(date +%Y-%m-%d)"` |
| | | - 如发现重要事件 → 告知用户已记录 |
| | | - 如有归档操作 → 告知用户归档详情 |
| | | |
| | | --- |
| | | |
| | | ## 相关技能 |
| | | |
| | | - **[memory-management](../skills/memory-management/SKILL.md)**: 三层记忆管理 |
| | | - **[memory-merger](../skills/memory-merger/SKILL.md)**: L2→L1 合并 |
| | | - **[memory-md-hot](../skills/memory-md-hot/SKILL.md)**: 热记忆管理,维护 MEMORY.md 文件 |
| | | - **[memory-md-archive](../skills/memory-md-archive/SKILL.md)**: 归档技能,控制文件体积 |
| | | - **[memory-md-learning](../skills/memory-md-learning/SKILL.md)**: 学习记录技能 |
| | | |
| | | --- |
| | | |
| | | ## 快速命令 |
| | | |
| | | ```bash |
| | | # 手动执行每日检查 |
| | | python ~/.openclaw/workspace/skills/memory-management/scripts/daily_check.py |
| | | # 手动执行完整流程 |
| | | python ~/.openclaw/workspace/skills/memory-md-hot/scripts/daily_maintenance.py update |
| | | python ~/.openclaw/workspace/skills/memory-md-archive/scripts/archive.py |
| | | cd ~/.openclaw/workspace && git add MEMORY.md memory/ && git commit -m "每日:更新热记忆 $(date +%Y-%m-%d)" |
| | | |
| | | # 查看 L0 大小 |
| | | python ~/.openclaw/workspace/skills/memory-management/scripts/check_size.py |
| | | ``` |
| | | # 仅更新热记忆 |
| | | python ~/.openclaw/workspace/skills/memory-md-hot/scripts/daily_maintenance.py update |
| | | |
| | | # 仅执行归档 |
| | | python ~/.openclaw/workspace/skills/memory-md-archive/scripts/archive.py |
| | | |
| | | # 查看统计 |
| | | python ~/.openclaw/workspace/skills/memory-md-hot/scripts/daily_maintenance.py stats |
| | | python ~/.openclaw/workspace/skills/memory-md-archive/scripts/archive.py --stats |
| | | |
| | | # 查看归档列表 |
| | | python ~/.openclaw/workspace/skills/memory-md-archive/scripts/archive.py --list-archives |
| | | ``` |