mcpField
R
rem-sleep

rem-sleep

github.com/stewnightAgent 工作流339 次安装39 周前更新
代码仓库

关于 rem-sleep

rem-sleep 是面向使用会话日志和记忆文件的 AI Agent 的记忆整理工作流,适用于 OpenClaw、Claude Code 等。它提供记忆提炼与清理两种模式,帮助将重要经历整理到长期记忆文件中。

主要功能

  1. 01从会话日志提取重要信息
  2. 02将经历整理到长期记忆文件
  3. 03清理过时、重复和冗长内容
  4. 04支持 consolidate、defrag 和 full 模式
  5. 05可手动或定期触发整理

适用场景

  1. 01定期从近期会话提炼决策和经验
  2. 02清理 MEMORY.md 中的旧条目与重复项
  3. 03在 Agent 重启前整理长期记忆

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/stewnight/rem-sleep-skill --skill rem-sleep

安装后在 Claude Code 中输入/rem-sleep确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

LICENSE
README.md
scripts/
gather-sessions.sh

详细介绍

REM Sleep - AI Agent 的记忆整合

与生物的 REM 睡眠类似,此技能会将原始经验(会话日志)处理为整合后的长期记忆。

适用于: OpenClaw、Claude Code,或任何拥有会话日志和记忆文件的 Agent。

问题

  • 会话日志不断累积,但重新阅读的成本很高
  • 重要见解被埋没在噪声中
  • “心理笔记”无法在上下文压缩后保留下来
  • 重启后,如果没有把内容写下来,就得从头开始

解决方案

定期执行“睡眠周期”:

  1. 搜索会话日志,查找重要模式
  2. 提取值得记住的内容
  3. 整合到持久化的记忆文件中

模式

1. 整合

处理近期会话日志 → 提取重要事件 → 更新 MEMORY.md

2. 碎片整理

检查 MEMORY.md → 删除过时内容 → 合并重复项 → 压缩内容

3. 完整

先运行整合,再运行碎片整理。


整合工作流

步骤 1:收集近期会话

选项 A:使用 grep/jq(无需额外软件)

# OpenClaw session logs location
SESSIONS_DIR="$HOME/.openclaw/agents/main/sessions"

# Search for patterns in recent sessions
grep -r "decision\|learned\|important\|remember\|TODO" "$SESSIONS_DIR" --include="*.jsonl" | head -100

# Parse JSONL and search content
find "$SESSIONS_DIR" -name "*.jsonl" -mtime -3 -exec cat {} \; | \
  jq -r 'select(.content) | .content' 2>/dev/null | \
  grep -i "decision\|learned\|important"

选项 B:使用 Repo Prompt(如果已安装)

# More powerful semantic search
rp -e 'search "decision" --context-lines 2'
rp -e 'search "learned" --context-lines 2'
rp -e 'search "important" --context-lines 2'

选项 C:使用 memory_search(OpenClaw 内置)

如果你的 Agent 有 memory_search 工具,可用它语义搜索记忆文件:

memory_search("decisions made this week")
memory_search("lessons learned")
步骤 2:确定整合候选内容

在搜索结果中查找:

  • 已做出的决定 — 选择、偏好、结论
  • 已了解的事实 — 关于人员、项目、系统的新信息
  • 经验教训 — 有效或无效的方法、需要避免的错误
  • 待办事项/承诺 — 已承诺或计划的事项
  • 关系背景 — 与他人的互动及其偏好
步骤 3:更新记忆文件

两层系统:

  1. 每日文件(memory/YYYY-MM-DD.md):原始事件、具体细节
  2. MEMORY.md:提炼后的持久知识,值得长期保留

整合提示词:

查看这些会话摘录。提取值得长期记住的重要信息。重点关注:决定、有关人员/项目的事实、经验教训和偏好。整理为适合放入 MEMORY.md 的项目符号列表。


碎片整理工作流

步骤 1:分析当前记忆

阅读 MEMORY.md 并找出:

  • 过时条目 — 已过时的信息、已完成的待办事项、旧日期
  • 重复项 — 在不同章节重复出现的相同信息
  • 不一致之处 — 相互冲突的信息
  • 冗余内容 — 可以压缩的冗长条目
步骤 2:对问题分类
STALE: [entry] — reason it's outdated
DUPLICATE: [entry A] ≈ [entry B]
INCONSISTENT: [entry A] vs [entry B]
BLOAT: [verbose entry] → [compressed version]
步骤 3:应用修正
  • 删除过时条目(或在不确定时移至归档章节)
  • 将重复项合并为一条权威记录
  • 解决不一致之处(必要时检查会话日志)
  • 压缩冗长条目
步骤 4:重新整理

确保 MEMORY.md 包含逻辑清晰的章节:

  • 关于[用户]
  • 我的设置
  • 项目
  • 人员
  • 偏好
  • 经验教训

计划安排

建议频率:

  • 整合:每隔几天一次,或在忙碌时期之后
  • 碎片整理:每周或每两周一次
  • 完整:每月进行一次深度清理

触发方式:

  • 手动:“运行 REM sleep” / “整合我的记忆”
  • 心跳:将任务添加到 HEARTBEAT.md,定期运行
  • Cron:安排在非工作时间运行的独立任务

快速参考

# Native search (no dependencies)
grep -r "pattern" ~/.openclaw/agents/main/sessions --include="*.jsonl"

# With Repo Prompt
rp -e 'search "PATTERN" --context-lines 2'

# Helper script (if using Repo Prompt)
./scripts/gather-sessions.sh [days_back]

文件结构

rem-sleep/
├── SKILL.md          # This file
├── README.md         # GitHub readme
└── scripts/
    └── gather-sessions.sh   # Helper script (requires Repo Prompt)

说明

  • 会话日志采用 JSONL 格式,内容封装在 JSON 中
  • 如果不确定某项内容是否过时,请予以保留(采取保守做法)
  • MEMORY.md 会在主会话中加载,因此请保持内容精简且相关
  • 此技能是一套工作流,而非二进制程序——请根据你的设置灵活调整

贡献

欢迎提交 PR!改进建议:

  • 更好的“哪些内容值得记住”判断启发式方法
  • 替代搜索方法
  • 适用于不同平台的自动化脚本
  • 集成向量数据库以支持语义搜索

GitHub:https://github.com/stewnight/rem-sleep-skill

评论

支持 Markdown