| | |
| | | |
| | | ### 每日任务(晚上10点后执行) |
| | | |
| | | #### 1. 三层记忆每日总结(由 memory-management 技能处理) |
| | | #### 1. 热记忆每日更新(由 hot-memory 技能处理) |
| | | |
| | | **触发条件**: 时间 ≥ 22:00 且当日无 L2 记录 |
| | | **执行技能**: [memory-management](../skills/memory-management/SKILL.md) |
| | | **执行脚本**: `skills/memory-management/scripts/daily_check.py` |
| | | **触发条件**: 时间 ≥ 22:00 |
| | | **执行技能**: [hot-memory](../skills/hot-memory/SKILL.md) |
| | | **执行脚本**: `skills/hot-memory/scripts/daily_maintenance.py` |
| | | |
| | | **执行逻辑**: |
| | | ``` |
| | |
| | | 时间 ≥ 22:00 ? |
| | | ├── 否 → 回复 HEARTBEAT_OK(时间未到) |
| | | │ |
| | | └── 是 → 检查今日 L2 是否存在 |
| | | └── 是 → 执行 hot-memory 每日更新 |
| | | │ |
| | | ├── 是 → 回复 HEARTBEAT_OK(已记录) |
| | | ▼ |
| | | 扫描今日记忆检索 |
| | | │ |
| | | └── 否 → 执行每日检查脚本 |
| | | │ |
| | | ▼ |
| | | 扫描所有session文件 |
| | | (当前活跃 + .reset.归档 + .deleted.删除) |
| | | │ |
| | | ▼ |
| | | 分析内容识别重要事件 |
| | | │ |
| | | ▼ |
| | | 生成每日总结建议 |
| | | ▼ |
| | | 提取重要事件和日常活动 |
| | | │ |
| | | ▼ |
| | | 更新 MEMORY.md |
| | | │ |
| | | ▼ |
| | | 移除8天前的旧记录 |
| | | │ |
| | | ▼ |
| | | 检查文件大小(4KB限制) |
| | | │ |
| | | ▼ |
| | | 执行 git 提交 |
| | | │ |
| | | ▼ |
| | | 回复 HEARTBEAT_OK |
| | | ``` |
| | | |
| | | **完整检查流程(确保无遗漏)**: |
| | | **更新内容**: |
| | | |
| | | 1. **扫描所有Session文件** |
| | | - 当前活跃: `*.jsonl` |
| | | - 重置归档: `*.jsonl.reset.*` |
| | | - 删除归档: `*.jsonl.deleted.*` |
| | | - 检查今日修改时间戳 |
| | | 1. **维护最近7天事件流水** |
| | | - 从记忆检索中获取今日事件 |
| | | - 按日期分组添加到事件流水 |
| | | - 自动移除8天前的旧记录 |
| | | |
| | | 2. **提取飞书渠道对话** |
| | | - 解析每个session文件 |
| | | - 识别 `channel: feishu` 的消息 |
| | | - 提取用户发送的文本内容 |
| | | 2. **检查重要事件** |
| | | - 识别具有全局长期性影响的事件 |
| | | - 如有重要事件,记录到重要事件区块 |
| | | - 告知用户已记录重要事件 |
| | | |
| | | 3. **识别重要事件类型** |
| | | - 技能安装/更新(关键词: skill, 安装, 创建) |
| | | - 配置变更(关键词: config, 配置, API key) |
| | | - 定时任务(关键词: cron, 定时) |
| | | - 重要对话/决策 |
| | | 3. **文件大小检查** |
| | | - 限制:4KB (4096 字节) |
| | | - 超限警告并提示用户瘦身 |
| | | |
| | | 4. **判断标准(怎样才算"没有遗漏")** |
| | | ``` |
| | | ✅ 检查完成标准: |
| | | ├── 已扫描今日所有修改过的session文件(≥1个) |
| | | ├── 已检查.reset.和.deleted.归档文件 |
| | | ├── 已提取飞书渠道对话记录 |
| | | ├── 已识别所有重要事件类型 |
| | | └── 已生成L2记录或确认无需记录 |
| | | |
| | | ❌ 遗漏警告: |
| | | ├── 发现今日session文件 > 0 |
| | | ├── 但今日L2记录不存在 |
| | | └── → 必须人工检查补充 |
| | | ``` |
| | | 4. **自动 Git 提交** |
| | | - 切换到 workspace 目录 |
| | | - 添加 MEMORY.md 变更 |
| | | - 提交信息:"每日:更新热记忆 [日期]" |
| | | |
| | | **动作**: |
| | | - 执行 `daily_check.py` 扫描所有session |
| | | - 如发现活动但未记录 → 提示需要补充L2 |
| | | - 更新 MEMORY.md 的"最近活动"摘要 |
| | | - 检查 L0 大小 |
| | | |
| | | --- |
| | | |
| | | ## 其他维护(非心跳) |
| | | |
| | | 以下维护由独立机制处理,不通过心跳执行: |
| | | |
| | | - **每周维护**: `memory-weekly-maintenance` (Cron 定时任务,周一 9:30) |
| | | - **每月维护**: 手动触发 |
| | | - 执行 `daily_maintenance.py update` 更新 MEMORY.md |
| | | - 执行 `git add MEMORY.md && git commit -m "每日:更新热记忆 $(date +%Y-%m-%d)"` |
| | | - 如发现重要事件 → 告知用户已记录 |
| | | - 如文件超限 → 提示需要瘦身 |
| | | |
| | | --- |
| | | |
| | | ## 相关技能 |
| | | |
| | | - **[memory-management](../skills/memory-management/SKILL.md)**: 三层记忆管理 |
| | | - **[memory-merger](../skills/memory-merger/SKILL.md)**: L2→L1 合并 |
| | | - **[hot-memory](../skills/hot-memory/SKILL.md)**: 热记忆管理,维护 MEMORY.md 文件 |
| | | |
| | | --- |
| | | |
| | | ## 快速命令 |
| | | |
| | | ```bash |
| | | # 手动执行每日检查 |
| | | python ~/.openclaw/workspace/skills/memory-management/scripts/daily_check.py |
| | | # 手动执行每日更新 |
| | | python ~/.openclaw/workspace/skills/hot-memory/scripts/daily_maintenance.py update |
| | | |
| | | # 查看 L0 大小 |
| | | python ~/.openclaw/workspace/skills/memory-management/scripts/check_size.py |
| | | ``` |
| | | # 检查文件大小 |
| | | python ~/.openclaw/workspace/skills/hot-memory/scripts/daily_maintenance.py check-size |
| | | |
| | | # 添加日常事件 |
| | | python ~/.openclaw/workspace/skills/hot-memory/scripts/daily_maintenance.py add-daily 2026-03-16 "10:30" "事件概要" "关键词" |
| | | |
| | | # 添加重要事件 |
| | | python ~/.openclaw/workspace/skills/hot-memory/scripts/daily_maintenance.py add-important 2026-03-16 "14:00" "重要事件" "关键词" |
| | | |
| | | # 手动提交热记忆更新 |
| | | cd ~/.openclaw/workspace && git add MEMORY.md && git commit -m "每日:更新热记忆 $(date +%Y-%m-%d)" |
| | | ``` |