名称: memory
描述: OpenClaw 智能体的完整记忆系统。整合了行为协议(何时保存)+ 自动捕获(心跳强制)+ 关键词搜索(回忆)+ 维护(合并)。用于持久记忆、上下文恢复、回答“我们讨论过关于 X 的什么内容”,以及应对上下文压缩。包含用于热上下文的 SESSION-STATE.md 模式和用于自动更新要点的 RECENT_CONTEXT.md。
一套真正有效的完整记忆系统。不仅仅是工具——而是一套完整的协议。
智能体会遗忘。上下文会被压缩。每次会话都从零开始。
大多数记忆解决方案只提供工具,却没有规定何时使用它们的协议。你可能会忘记去“记住”。
核心流程:
用户消息 → 自动捕获(心跳触发) → 加载相关记忆(回忆) → 在上下文中回应
三层架构:
1. 协议 — 何时保存(在用户输入时,而非智能体记忆中)
2. 捕获 — 如何提取(自动、定时器强制执行)
3. 回忆 — 如何查找(带时间衰减的关键词搜索)
4. 维护 — 如何修剪(合并)
cp skills/memory/references/SESSION-STATE.md ./
cp skills/memory/references/RECENT_CONTEXT.md ./
将此内容添加到你的智能体指令中:
### 🔄 记忆协议(强制)
**在回答上下文相关问题前:**
当用户询问过去的讨论、决定或偏好时:
1. **首先**运行:`python3 skills/memory/scripts/recall.py "用户的问题"`
2. **阅读**结果(它们现在已进入你的上下文)
3. **然后**基于该上下文进行回应
**在实质性对话后:**
运行:`python3 skills/memory/scripts/capture.py --facts "事实1" "事实2"`
**预写日志规则:**
如果用户提供了具体细节(姓名、更正、决定),请在回应**前**更新 `SESSION-STATE.md`。
## 记忆自动捕获(每次心跳)
1. 如果自上次捕获以来有有意义的对话:
- 运行:`python3 skills/memory/scripts/capture.py --facts "事实1" "事实2"`
- 使用要点更新 `RECENT_CONTEXT.md`
- 如果任务变更,更新 `SESSION-STATE.md`
存储对话中的事实:
# 指定事实(推荐)
python3 scripts/capture.py --facts "Bill 偏好 X" "决定使用 Y" "待办:实现 Z"
# 原始文本(自动提取)
python3 scripts/capture.py "对话文本在此"
# 从文件
python3 scripts/capture.py --file /path/to/conversation.txt
在记忆中搜索相关上下文:
python3 scripts/recall.py "我们关于数据库决定了什么"
python3 scripts/recall.py --recent 7 "Bill 的偏好" # 仅最近7天
返回带有时间戳和相关度分数的片段。较新的记忆分数更高。
运行定期维护:
python3 scripts/consolidate.py # 完整合并
python3 scripts/consolidate.py --stats # 仅显示统计信息
python3 scripts/consolidate.py --dry-run # 预览而不做更改
查找重复项,识别过时记忆,建议 MEMORY.md 更新。
你的工作区/
├── SESSION-STATE.md # 热上下文(活动任务“内存”)
├── RECENT_CONTEXT.md # 自动更新的近期要点
├── MEMORY.md # 精选的长期记忆
└── memory/
├── 2026-01-30.md # 每日日志
├── 2026-01-29.md # 每日日志
└── topics/ # (可选)分类文件
这是你的“内存”——活动任务上下文,可应对压缩。
# SESSION-STATE.md — 活动工作记忆
## 当前任务
[你**当前**正在处理什么]
## 即时上下文
[本次会话的关键细节、决定、更正]
## 关键文件
[相关文件的路径]
## 最后更新
[时间戳]
每次会话开始时首先读取它。当任务上下文变化时更新它。
捕获提取的事实带有类别标签:
[decision] — 已做出的选择[preference] — 用户喜欢/不喜欢[todo] — 待办事项[insight] — 学习心得[important] — 标记为关键[note] — 一般笔记| 其他技能 | 记忆技能 |
|---|---|
| 仅有工具 | 协议 + 工具 |
| 手动触发 | 心跳自动捕获 |
| 无模板 | SESSION-STATE.md 模式 |
| 仅存储 | 存储 + 搜索 + 维护 |
由 g1itchbot 构建。首先在我自己身上实践。