TevinClaw
yesterday eb4c6c71efdcdf97c318a51a72039f3ef457cea0
feat: add hot-memory skill for active memory management

- Create hot-memory skill with daily maintenance script
- Update MEMORY.md to hot-memory format (recent 7-day events + important events)
- File size limit: 4KB
- Auto-remove events older than 8 days
1 files modified
1 files added
264 ■■■■ changed files
workspace/MEMORY.md 80 ●●●●● patch | view | raw | blame | history
workspace/skills/hot-memory/SKILL.md 184 ●●●●● patch | view | raw | blame | history
workspace/MEMORY.md
@@ -1,66 +1,42 @@
# MEMORY.md - L0 记忆索引层
# MEMORY.md - 热记忆 / 活跃记忆
> **架构**: 三层记忆架构 (L0索引 → L1概览 → L2详情)
> **红线**: 4KB以内 | 只存索引和摘要 | 详情通过路径引用
> 本文件记录近期发生的重要事情,详细信息可通过记忆检索获取。
---
## 📋 索引目录
## 🔔 重要事件
### 🧠 核心身份
- [AGENTS.md](./AGENTS.md) - 行为规则与启动序列
- [SOUL.md](./SOUL.md) - 灵魂与人格
- [IDENTITY.md](./IDENTITY.md) - 身份信息
- [USER.md](./USER.md) - 用户信息
> 记录具有全局长期性影响的重要决策和事件。
> 添加重要事件时会告知用户。
### 🗂️ L1 概览层 (milestones/)
- [2026-03 技能安装](./memory/milestones/2026-03-skills.md) - 本月技能扩展记录
- [2026-03 工作流与规范](./memory/milestones/2026-03-workflows.md) - AI早报、沟通原则、记录规范
### 📖 L2 详情层 (journal/)
- [2026-03-15](./memory/journal/2026-03-15.md) - 测试qmd wrapper脚本、飞书渠道检查、每日维护
- [2026-03-14](./memory/journal/2026-03-14.md) - AI早报定时任务创建、Tavily Search技能安装配置
- [2026-03-13](./memory/journal/2026-03-13.md) - 解答目录结构问题、中文化配置文件
- [2026-03-12](./memory/journal/2026-03-12.md) - 技能安装与三层记忆架构实现
### 📚 客观知识 (knowledge/)
- (待补充)
### 🛠️ 工具配置
- [TOOLS.md](./TOOLS.md) - 本地工具配置
- 2026-03-14 --:-- | 创建AI早报定时任务(每日9点飞书发送) | 定时任务,自动化
- 2026-03-16 --:-- | 安装LanceDB-Pro向量记忆系统 | 向量数据库,RAG
- 2026-03-16 --:-- | 移除三层记忆架构,采用热记忆模式 | 架构重构,记忆系统
---
## 🔍 快速检索
## 📅 最近7天事件流水
### 最近活动
- 2026-03-15:
  - 测试 qmd-wrapper.sh 脚本,验证强制CPU后端工作正常
  - 飞书渠道状态检查(未配置)
  - 查询三层记忆首次提及时间(2026-03-12)
  - 详见 [L2](./memory/journal/2026-03-15.md)
- 2026-03-14:
  - 创建AI早报定时任务(每天早上9点)
  - 安装 Tavily Search 技能,支持从OpenClaw配置读取API key
  - 确定早报格式:AI行业、AI编程、国产大模型三个分类
  - 详见 [L2](./memory/journal/2026-03-14.md)
- 2026-03-13:
  - 中文化 SOUL.md 和 TOOLS.md
  - 解答 .openclaw 目录结构问题
  - 详见 [L2](./memory/journal/2026-03-13.md)
- 2026-03-12:
  - 安装技能: find-skills, memory-merger, ontology
  - 实现三层记忆架构 (L0/L1/L2)
  - 创建 Ontology 知识图谱 (Project/Task/Person 实体)
  - 建立触发词机制用于半自动记忆写入
> 按天分组,每天主要事情的概要。
> 自动维护,8天前的记录会被移除。
### 关键决策
- 采用三层记忆架构管理记忆
- 保留 memory-merger 用于 L2→L1 整理
- 使用 Ontology 管理项目/任务/依赖关系
- 写入维护采用触发词半自动模式
- 所有记录优先使用中文
### 2026-03-16
- 2026-03-16 17:00 | 移除三层记忆架构,清理相关技能和文件 | 清理,架构
- 2026-03-16 16:00 | 创建hot-memory技能,实现热记忆模式 | 技能开发,架构
- 2026-03-16 15:00 | 安装LanceDB-Pro,配置BAAI/bge-large-zh-v1.5嵌入模型 | 配置,向量数据库
### 2026-03-15
- 2026-03-15 14:00 | 测试qmd-wrapper.sh脚本,验证强制CPU后端 | 测试,脚本
- 2026-03-15 10:00 | 飞书渠道状态检查 | 配置检查
### 2026-03-14
- 2026-03-14 11:00 | 安装Tavily Search技能,配置API Key | 技能安装,搜索
- 2026-03-14 10:00 | 创建AI早报定时任务,确定三分类格式 | 定时任务,自动化
---
*详情通过路径引用 | 精简至上*
*文件大小: ~1.5KB | 限制: 4KB*
*维护脚本: `hot-memory/scripts/daily_maintenance.py`*
workspace/skills/hot-memory/SKILL.md
New file
@@ -0,0 +1,184 @@
---
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: 每日维护(自动)
每天执行一次,从记忆检索中获取当日事件,更新流水:
```bash
python3 ~/.openclaw/workspace/skills/hot-memory/scripts/daily_maintenance.py update
```
**功能**:
- 扫描今日记忆,提取重要事件
- 添加新的日常事件到对应日期分组
- 自动移除8天前的旧记录
- 检查文件大小,超限则警告
### 场景2: 添加日常事件
记录一般的日常活动:
```bash
python3 scripts/daily_maintenance.py add-daily 2026-03-16 "10:30" "测试脚本" "开发,测试"
```
或在 agent 会话中:
```python
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: 添加重要事件
记录具有全局长期性影响的事件(**必须告知用户**):
```bash
python3 scripts/daily_maintenance.py add-important 2026-03-16 "14:00" "重构记忆系统" "架构,重要"
```
或在 agent 会话中:
```python
event = ("2026-03-16", "14:00", "重构记忆系统", "架构,重要")
result = update_memory_file(important_event=event)
if result['added_important']:
    print("已记录重要事件,请告知用户")
```
### 场景4: 检查文件大小
```bash
python3 scripts/daily_maintenance.py check-size
```
或在 agent 会话中:
```python
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` 或 `--:--`