Skills memory-auto-manager

install
source · Clone the upstream repo
git clone https://github.com/openclaw/skills
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/openclaw/skills "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/a1003916989-blip/xiazun-memory-auto" ~/.claude/skills/openclaw-skills-memory-auto-manager && rm -rf "$T"
OpenClaw · Install into ~/.openclaw/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/openclaw/skills "$T" && mkdir -p ~/.openclaw/skills && cp -r "$T/skills/a1003916989-blip/xiazun-memory-auto" ~/.openclaw/skills/openclaw-skills-memory-auto-manager && rm -rf "$T"
manifest: skills/a1003916989-blip/xiazun-memory-auto/SKILL.md
source content

Memory Auto Manager Skill

自动记忆管理系统,解决"agent经常忘记记录重要信息"的问题。

核心机制

Hybrid 方案:cron 自动扫描 + AI 对比判断

每15分钟 cron 自动触发
        ↓
exec 运行 memory-scan.py
        ↓
读取主会话 transcript .jsonl(增量:只读新消息,user+assistant 都读)
        ↓
读取当前 memory 文件
        ↓
AI 分析:对话 vs 现有memory → 判断是否有遗漏
        ↓
有遗漏 → 写入 memory/YYYY-MM-DD.md + 更新 last-memory-write.json
无遗漏 → 静默结束

判断标准

满足任一 → 必须写入 memory

  1. 完成了什么(任务、里程碑)
  2. 确认了什么(方案、决策)
  3. 发现了什么(关键数据)
  4. 犯了什么错(教训、踩坑)
  5. 配置改了什么
  6. 有阻塞/待确认

不写入:过程讨论、简单确认、无结论的闲聊

文件结构

~/.openclaw/
├── agents/main/sessions/
│   └── {session-id}.jsonl              ← 主会话 transcript
├── scripts/
│   └── memory-scan.py                   ← 扫描脚本
└── workspace/
    ├── memory/
    │   ├── YYYY-MM-DD.md               ← 每日 memory
    │   ├── last-memory-write.json       ← 上次写入时间
    │   └── scan-state.json             ← 增量扫描状态
    └── HEARTBEAT.md                    ← 汇报规则

快速安装

Step 1:创建 cron(自动检查,每15分钟)

openclaw cron add \
  --name "Memory自动检查V3" \
  --every "15m" \
  --session isolated \
  --message "你是记忆管理员。执行memory扫描:
1. exec 运行:python3 ~/.openclaw/scripts/memory-scan.py
2. 读取输出的新消息内容(user + assistant)
3. 分析是否有重要信息(完成的任务/决策/教训/配置变更)
4. 有重要信息?→ 写入 memory/YYYY-MM-DD.md + 更新 last-memory-write.json
5. 输出:检查完成,写入X条/无新增

判断标准:
- 完成了什么(任务、里程碑)
- 确认了什么(方案、决策)
- 发现了什么(关键数据)
- 犯了什么错(教训、踩坑)
- 配置改了什么
- 有阻塞/待确认" \
  --tools "exec,read,write" \
  --no-deliver

Step 2:创建 cron(每周六记忆合并)

openclaw cron add \
  --name "每周六记忆合并" \
  --cron "0 0 * * 6" \
  --tz "Asia/Shanghai" \
  --session isolated \
  --message "你是记忆管理员。每周六自动执行记忆合并。
1. 读取本周所有 memory/YYYY-MM-DD.md 文件
2. 提炼重要信息:里程碑/教训/关键数据/配置变更/决策
3. 合并写入 MEMORY.md 对应区块
4. 更新 last-memory-write.json 的 lastMemoryMerge
5. 向用户发送合并完成通知" \
  --timeout-seconds 300 \
  --deliver \
  --channel feishu \
  --to "user:ou_xxxxxxxx"  # 替换为实际 user id

Step 3:创建 scan-state.json

echo '{"last_scan_ts": 0}' > ~/.openclaw/workspace/memory/scan-state.json

Step 4:确认 transcript 路径

# 找到主会话 transcript 文件
ls -lt ~/.openclaw/agents/main/sessions/*.jsonl | head -1

然后更新 memory-scan.py 中的

TRANSCRIPT
变量,或设置环境变量
MEMORY_SCAN_TRANSCRIPT

每日 memory 文件格式

# YYYY-MM-DD 工作日志

## 今日完成
- [任务名称]
  - 具体内容

## 决策(HH:MM 新增)
- [具体决策及原因]

## 教训/发现
- [踩坑记录]

## 配置变更
- [改了哪些配置]

## 待确认
- [待确认的事项]

last-memory-write.json 格式

{
  "lastDailyWrite": "2026-04-15T15:09:00+08:00",
  "lastMemoryMerge": "2026-04-05T00:00:00+08:00",
  "todayEntries": 8,
  "lastEntry": "上一条写入的内容摘要"
}

验证方法

# 查看 cron 状态
openclaw cron list | grep Memory

# 查看最近运行记录
openclaw cron runs --id <cron-id> | head -50

# 查看 memory 文件
cat ~/.openclaw/workspace/memory/YYYY-MM-DD.md

# 查看 scan 状态
cat ~/.openclaw/workspace/memory/scan-state.json

局限性

  • 无法感知纯 AI 端的思考(transcript 只记录显式消息)
  • 如果用户几小时不说话,memory 不会更新
  • AI 判断仍有误差可能

依赖

  • OpenClaw cron 系统
  • Python 3
  • 主会话 transcript 文件可访问

版本

  • v2.0:增量扫描 + user/assistant 双读
  • v1.0:固定窗口扫描 + 只读 user 消息