基于 OpenViking + Microsoft Agent Memory 的三层记忆框架,适用于 AI Agent 的持久化记忆系统。
层级用途存储Working Memory当前会话临时信息working.jsonShort-Term Memory会话级别短期记忆short-term/*.mdLong-Term Memory偏好、实体、事件持久化user/preferences/, user/entities/, user/events/
text
memory/ # 记忆主目录
├── working.json # Working Memory
├── short-term/ # Short-Term Memory (会话级别)
│ └── YYYY-MM-DD-HHMM.md
├── user/ # Long-Term Memory (用户视角)
│ ├── preferences/ # 偏好记录
│ ├── entities/ # 实体记忆
│ └── events/ # 重要事件
└── agent/ # Agent 自身记忆
├── persona/ # 人设/角色设定
└── episodic/ # 经验教训
bash
cd ~/.openclaw/workspace/skills
unzip open-memory-system.zip -d open-memory-system
bash
export MEMORY_DIR=~/.openclaw/workspace/memory
mkdir -p $MEMORY_DIR/{user/{preferences,entities,events},agent/{persona,episodic},short-term}
bash
# auto-save-memory: 部署到 ~/.openclaw/hooks/
cp -r open-memory-system/scripts/auto-save-memory ~/.openclaw/hooks/
# load-memory-on-start 已在 ~/.openclaw/hooks/ 中预装,无需重复部署
参考 crons/memory-crons.txt 创建每日定时任务。
bash
# 读取核心记忆
python3 scripts/memory.py
# 每日统计
python3 scripts/memory.py summary
# 清理过期
python3 scripts/memory.py cleanup
# L2 提炼(从 short-term → long-term events)
python3 scripts/distill_l2.py
# 记录偏好
python3 scripts/memory.py pref "沟通方式" "直接高效" "用户偏好"
# 记录事件
python3 scripts/memory.py event "项目启动" "Miloya 正式成立"
# 记录经验
python3 scripts/memory.py episode "第一次部署" "negative" "需要检查依赖版本"
text
用户对话
↓
[session:end Hook] → auto-save-memory → 保存 .learnings → memory
↓
[memory-check cron] → 清理过期 + 会话摘要 → short-term
↓
[distill_l2 cron @20:00] → short-term 提炼 → user/events/ (L2)
↓
[session:start Hook] → load-memory-on-start → 加载 MEMORY.md + short-term
Hook位置触发功能load-memory-on-start``~/.openclaw/hooks/(预装)agent:bootstrap运行 memory.py read 加载记忆auto-save-memory``~/.openclaw/hooks/(需部署)session:end保存 .learnings/ 到 events
修改 scripts/memory.py 开头的配置区:
python
MEMORY_DIR = Path(os.environ.get("MEMORY_DIR", "/root/.openclaw/workspace/memory"))
DEFAULT_EXPIRE_DAYS = 90