edit | blame | history | raw

---
name: hot-memory

description: 管理 MEMORY.md 热记忆文件,维护最近7天事件流水和重要事件记录。当需要更新 memory.md、添加日常事件或重要事件、检查文件大小时使用。支持每日自动维护,移除8天前的旧记录,监控4KB大小限制。

hot-memory 技能

管理 MEMORY.md 热记忆文件,让 agent 每次启动时被动了解最近发生的事情。

文件定位

  • 目标文件: ~/.openclaw/workspace/MEMORY.md
  • 维护脚本: scripts/daily_maintenance.py

文件结构

MEMORY.md 包含三个部分:

  1. 文件说明 - 说明本文件记录已发生的事情,详细信息可通过记忆检索获取
  2. 🔔 重要事件 - 全局长期性影响的重要决策和事件(默认空,记录时需告知用户)
  3. 📅 最近7天事件流水 - 按天分组的每日主要事情概要

事件格式

所有事件遵循统一格式:

- YYYY-MM-DD HH:MM | 一句话概要 | 关键词1,关键词2

示例:
- 2026-03-16 10:30 | 创建hot-memory技能 | 技能,记忆系统 - 2026-03-16 14:00 | 配置LanceDB嵌入模型 | 配置,向量数据库

使用场景

场景1: 每日维护(自动)

每天执行一次,从记忆检索中获取当日事件,更新流水:

python3 ~/.openclaw/workspace/skills/hot-memory/scripts/daily_maintenance.py update

功能:
- 扫描今日记忆,提取重要事件
- 添加新的日常事件到对应日期分组
- 自动移除8天前的旧记录
- 检查文件大小,超限则警告

场景2: 添加日常事件

记录一般的日常活动:

python3 scripts/daily_maintenance.py add-daily 2026-03-16 "10:30" "测试脚本" "开发,测试"

或在 agent 会话中:

from skills.hot_memory.scripts.daily_maintenance import update_memory_file

# 添加单个日常事件
event = ("2026-03-16", "10:30", "测试脚本", "开发,测试")
result = update_memory_file(new_daily_events=[event])

场景3: 添加重要事件

记录具有全局长期性影响的事件(**必须告知用户**):

python3 scripts/daily_maintenance.py add-important 2026-03-16 "14:00" "重构记忆系统" "架构,重要"

或在 agent 会话中:

event = ("2026-03-16", "14:00", "重构记忆系统", "架构,重要")
result = update_memory_file(important_event=event)

if result['added_important']:
    print("已记录重要事件,请告知用户")

场景4: 检查文件大小

python3 scripts/daily_maintenance.py check-size

或在 agent 会话中:

from skills.hot_memory.scripts.daily_maintenance import check_size

status = check_size()
if status['exceeded']:
    print(f"⚠️ 文件大小 {status['size_kb']}KB 超过 4KB 限制")

重要事件判断标准

什么应该记录为重要事件:

类型 示例
架构变更 记忆系统重构、技能体系升级
配置变更 API Key 更换、模型切换
重要决策 采用新工作流、确立规范
关键里程碑 项目完成、重要功能上线

什么只记录为日常事件:

类型 示例
常规查询 天气查询、网页搜索
临时任务 单次文件处理、数据分析
日常对话 问答、简单讨论

文件大小管理

限制: 4KB (4096 字节)

超限处理:
1. 首先检查是否有过期的日常事件未清理
2. 考虑将较早的重要事件归档到 L1 层
3. 与用户讨论瘦身方案

瘦身策略:
- 保留最近7天流水(已自动维护)
- 将旧的重要事件移动到 memory/milestones/ 归档
- 简化事件描述的详细程度

与其他组件的关系

┌─────────────────────────────────────────────────────────┐
│  LanceDB-Pro 向量记忆                                     │
│  - 存储所有详细记忆                                        │
│  - 支持语义检索                                           │
└────────────────────┬────────────────────────────────────┘
                     │ 检索
                     ▼
┌─────────────────────────────────────────────────────────┐
│  MEMORY.md 热记忆 (本技能管理)                            │
│  - 最近7天流水(摘要)                                    │
│  - 重要事件(全局影响)                                    │
│  - 4KB 精简索引                                          │
└────────────────────┬────────────────────────────────────┘
                     │ 启动注入
                     ▼
┌─────────────────────────────────────────────────────────┐
│  Agent 启动上下文                                         │
│  - 快速了解最近发生了什么                                  │
│  - 无需查询即可感知活跃记忆                                │
└─────────────────────────────────────────────────────────┘

最佳实践

  1. 每日更新: 建议设置定时任务每天执行 update 命令
  2. 即时记录: 重要事件发生后立即记录,不要累积
  3. 简洁描述: 一句话概要,关键词用逗号分隔
  4. 主动告知: 添加重要事件时必须告知用户
  5. 定期检查: 每周检查一次文件大小

故障排查

文件未更新

  • 检查脚本路径是否正确
  • 确认 MEMORY.md 存在且可写

大小超限警告

  • 执行 check-size 确认实际大小
  • 考虑手动归档旧的重要事件
  • 与用户讨论清理策略

日期解析错误

  • 确保日期格式为 YYYY-MM-DD
  • 时间格式建议为 HH:MM--:--