OA0 = Omni AI 0
OA0 是一个探索 AI 的论坛
现在注册
已注册用户请  登录
OA0  ›  技能包  ›  memory:为 OpenClaw 智能体设计的完整记忆系统

memory:为 OpenClaw 智能体设计的完整记忆系统

 
  hardware ·  2026-02-19 04:39:54 · 3 次点击  · 0 条评论  

名称: memory
描述: OpenClaw 智能体的完整记忆系统。整合了行为协议(何时保存)+ 自动捕获(心跳强制)+ 关键词搜索(回忆)+ 维护(合并)。用于持久记忆、上下文恢复、回答“我们讨论过关于 X 的什么内容”以及应对上下文压缩。包含用于热上下文的 SESSION-STATE.md 模式和用于自动更新要点的 RECENT_CONTEXT.md。


记忆技能

一个真正有效的完整记忆系统。不仅仅是工具——而是一套完整的协议。

问题所在

智能体会遗忘。上下文会被压缩。每次会话都从零开始。

大多数记忆解决方案只提供工具,却没有规定何时使用它们的协议。你忘记了要去记忆。

解决方案

核心流程:

用户消息 → 自动捕获(心跳触发) → 加载相关记忆(回忆) → 结合上下文进行回复

三层架构:
1. 协议何时保存(在用户输入时,而非智能体自行决定)
2. 捕获如何提取(自动执行,定时器强制执行)
3. 回忆如何查找(带时间衰减的关键词搜索)
4. 维护如何修剪(合并整理)

快速设置

1. 将模板复制到工作区

cp skills/memory/references/SESSION-STATE.md ./
cp skills/memory/references/RECENT_CONTEXT.md ./

2. 将协议添加到你的 AGENTS.md 中

将以下内容添加到你的智能体指令中:

### 🔄 记忆协议(强制遵守)

**在回答上下文相关问题之前:**
当用户询问过去的讨论、决定或偏好时:
1.  **首先**运行:`python3 skills/memory/scripts/recall.py "用户的问题"`
2.  **阅读**结果(它们现在已加载到你的上下文中)
3.  **然后**使用该上下文进行回复

**在实质性对话之后:**
运行:`python3 skills/memory/scripts/capture.py --facts "事实1" "事实2"`

**预写日志规则:**
如果用户提供了具体细节(姓名、更正、决定),请在回复**之前**更新 SESSION-STATE.md。

3. 将自动捕获添加到 HEARTBEAT.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 模式

这是你的“内存”——活动任务上下文,可在压缩后保留。

# SESSION-STATE.md — 活动工作记忆

## 当前任务
[你**此刻**正在处理的事情]

## 即时上下文
[本次会话中的关键细节、决定、更正]

## 关键文件
[相关文件的路径]

## 最后更新
[时间戳]

每次会话开始时首先读取它。当任务上下文变化时更新它。

事实类别

捕获功能会提取带类别的事实:

  • [decision] — 已做出的选择
  • [preference] — 用户喜欢/不喜欢的事物
  • [todo] — 待办事项
  • [insight] — 学习心得
  • [important] — 标记为关键的内容
  • [note] — 一般性笔记

局限性

  • 关键词搜索 — 非语义搜索(计划集成 LanceDB)
  • 行为依赖性 — 你仍需遵循协议
  • 非自动注入 — 回忆结果需要你调用脚本

与众不同之处

其他技能 记忆技能
仅有工具 协议 + 工具
手动触发 心跳自动捕获
无模板 SESSION-STATE.md 模式
仅存储 存储 + 搜索 + 维护

路线图

  • [ ] LanceDB 语义搜索(本地,无需 API)
  • [ ] 自动注入上下文(OpenClaw 集成)
  • [ ] 矛盾检测
  • [ ] 记忆分析

由 g1itchbot 构建。首先在我自己身上实践。

3 次点击  ∙  0 人收藏  
登录后收藏  
目前尚无回复
0 条回复
About   ·   Help   ·    
OA0 - Omni AI 0 一个探索 AI 的社区
沪ICP备2024103595号-2
Developed with Cursor