mcpField
M
memory-curator

memory-curator

github.com/irangareddyAgent 工作流0205 次安装37 周前更新
代码仓库

关于 memory-curator

memory-curator 为 Agent 提供记录日常工作、保存会话和整理长期记忆的脚本与工作流,支持在 OpenClaw 工作区中记录、搜索和回顾记忆。

主要功能

  1. 01追加并查看每日记录
  2. 02搜索记忆文件和近期日志
  3. 03汇总会话 JSONL 文件
  4. 04将可复用知识整理到 MEMORY.md

适用场景

  1. 01记录工作中的决策与经验
  2. 02在会话重置前保存上下文
  3. 03回顾近期日志并查找重复模式

安装

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

$npx skills add https://github.com/irangareddy/openclaw-essentials --skill memory-curator

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

包含的文件

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

assets/templates/
daily-log.md
MEMORY-template.md
references/
extraction.md
organization.md
patterns.md
scripts/
daily_log.py
extract_session.py
search_memory.py

详细介绍

Memory Curator

通过每日记录、会话保存和知识提取,为 Agent 系统化管理记忆。

快速开始

记录今天的工作
# Append to today's log
python scripts/daily_log.py \
  --workspace ~/.openclaw/workspace \
  --entry "Implemented user authentication with JWT" \
  --category "Key Activities"

# Show today's log
python scripts/daily_log.py --workspace ~/.openclaw/workspace --show
搜索记忆
# Search all memory files
python scripts/search_memory.py \
  --workspace ~/.openclaw/workspace \
  --query "GraphQL"

# Search recent logs only (last 7 days)
python scripts/search_memory.py \
  --workspace ~/.openclaw/workspace \
  --query "authentication" \
  --days 7

# Show recent logs
python scripts/search_memory.py \
  --workspace ~/.openclaw/workspace \
  --recent 5
提取会话摘要
# Generate summary from current session
python scripts/extract_session.py \
  --session ~/.openclaw/agents/<agent-id>/sessions/<session-id>.jsonl \
  --output session-summary.md

核心工作流

日终:记录活动

时间: 结束工作会话或切换上下文之前

步骤:

  1. 回顾已完成的工作:

    • 实现的功能
    • 修复的 Bug
    • 做出的决策
    • 总结的经验
  2. 追加到每日日志:

    python scripts/daily_log.py \
      --workspace ~/.openclaw/workspace \
      --entry "Fixed race condition in payment processing - added mutex lock"
    
  3. 为重要工作添加结构化条目:

    ## Key Activities
    
    - [14:30] Implemented user profile dashboard with GraphQL
    - [16:00] Fixed infinite re-render in UserContext - memoized provider value
    
    ## Decisions Made
    
    - Chose Apollo Client over React Query - better caching + type generation
    - Decided to use JWT in httpOnly cookies instead of localStorage
    
    ## Learnings
    
    - Apollo requires `__typename` field for cache normalization
    - React.memo doesn't prevent re-renders from context changes
    

参见: patterns.md,了解不同场景下应记录的内容

切换上下文前:保存会话

时间: 运行 /new、/reset 或结束对话之前

步骤:

  1. 提取会话摘要:

    # Get current session ID from system prompt or openclaw status
    python scripts/extract_session.py \
      --session ~/.openclaw/agents/<agent-id>/sessions/<session-id>.jsonl \
      --output ~/session-summary.md
    
  2. 检查摘要并编辑“关键经验”部分

  3. 保存到每日日志:

    # Append key points to today's log
    cat ~/session-summary.md >> ~/.openclaw/workspace/memory/$(date +%Y-%m-%d).md
    
  4. 如有需要,将关键上下文提取到 MEMORY.md:

    • 不明显的解决方案
    • 重要决策
    • 值得记住的模式
每周回顾:提取知识

时间: 每周末(周五/周日)或每月

步骤:

  1. 搜索近期日志中的模式:

    python scripts/search_memory.py \
      --workspace ~/.openclaw/workspace \
      --recent 7
    
  2. 寻找提取信号:

    • 重复出现的问题(3 次以上)
    • 代价高昂的经验(解决耗时超过 1 小时)
    • 不明显的解决方案
    • 值得复用的成功模式
  3. 提取到 MEMORY.md:

    • 添加新章节或更新现有章节
    • 采用问题—解决方案的格式
    • 包含代码示例
    • 补充适用场景
  4. 清理 MEMORY.md:

    • 删除过时信息
    • 合并重复条目
    • 更新代码示例
    • 必要时优化组织结构

参见: extraction.md,了解详细的提取模式

每日:快速记录

在工作期间快速捕捉上下文:

# Quick note
python scripts/daily_log.py \
  --workspace ~/.openclaw/workspace \
  --entry "TIL: DataLoader batches requests into single query"

# Decision
python scripts/daily_log.py \
  --workspace ~/.openclaw/workspace \
  --entry "Using Zustand for client state - simpler than Redux" \
  --category "Decisions Made"

# Problem solved
python scripts/daily_log.py \
  --workspace ~/.openclaw/workspace \
  --entry "CORS + cookies: Enable credentials on client + server, Allow-Origin can't be *"

记忆结构

每日日志(memory/YYYY-MM-DD.md)

用途: 按时间顺序跟踪活动

内容:

  • 已完成的工作(带时间戳)
  • 做出的决策
  • 解决的问题
  • 总结的经验

保留方式: 确保近期日志可访问,可选择归档超过 90 天的日志

适用场景:

  • “我在 [date] 做了什么?”
  • “我什么时候实现了 X?”
  • 会话历史
  • 活动跟踪
MEMORY.md

用途: 精选的长期知识

内容:

  • 模式和最佳实践
  • 常见解决方案
  • 应避免的错误
  • 实用参考资料

组织方式: 按主题组织,而非按时间顺序

适用场景:

  • “如何解决 X?”
  • “Y 的模式是什么?”
  • 最佳实践
  • 可复用的解决方案

参见: organization.md,了解结构模式

记忆记录模式

记录哪些内容

始终记录:

  • 关键实现决策(为何选择方案 X 而非 Y)
  • 不明显的解决方案
  • Bug 的根本原因
  • 有理由说明的架构决策
  • 发现的模式
  • 错误及其修复方法

不要记录:

  • 每个变更过的文件(git 会记录)
  • 明显的实现细节
  • 常规提交
  • 特定于项目的临时变通方案

参见: patterns.md,了解完整的记录指南

何时记录

工作期间:

  • 使用 daily_log.py --entry 快速记录
  • 做出决策时及时记录
  • 问题解决后记录

日终:

  • 回顾已完成的工作
  • 整理重要条目
  • 为明天补充上下文

周末:

  • 将模式提取到 MEMORY.md
  • 汇总经验
  • 清理过时信息

知识提取

提取标准

符合以下条件时提取到 MEMORY.md:

  • 某个模式出现 3 次以上
  • 查找解决方案耗时超过 1 小时
  • 解决方案不明显
  • 未来可节省大量时间
  • 适用于多个项目
  • 调试某个错误的代价高昂

不要提取:

  • 一次性修复
  • 特定于项目的临时变通方案
  • 显而易见的解决方案
  • 变化迅速的 API
提取格式

问题-解决方案结构:

## [Technology/Domain]

### [Problem Title]

**Problem:** [Clear description]
**Cause:** [Root cause]
**Solution:** [How to fix]

**Code:**
```js
// Example implementation

预防:[如何避免] 上下文:[适用场景]


**See:** [extraction.md](references/extraction.md) for detailed extraction workflow

## Scripts Reference

### daily_log.py

Create or append to today's daily log.

```bash
# Append entry
python scripts/daily_log.py \
  --workspace ~/.openclaw/workspace \
  --entry "Your log entry" \
  [--category "Section Name"]

# Create from template
python scripts/daily_log.py \
  --workspace ~/.openclaw/workspace \
  --template

# Show today's log
python scripts/daily_log.py \
  --workspace ~/.openclaw/workspace \
  --show
extract_session.py

从会话 JSONL 中提取摘要。

python scripts/extract_session.py \
  --session ~/.openclaw/agents/<id>/sessions/<session>.jsonl \
  [--output summary.md]

输出:

  • 用户请求摘要
  • 使用的工具
  • 涉及的文件
  • 关键经验模板
search_memory.py

搜索所有记忆文件。

# Search with query
python scripts/search_memory.py \
  --workspace ~/.openclaw/workspace \
  --query "search term" \
  [--days 30]

# Show recent logs
python scripts/search_memory.py \
  --workspace ~/.openclaw/workspace \
  --recent 5

最佳实践

每日规范
  1. **开始一天:**回顾昨天的日志,规划今天的工作
  2. **工作期间:**快速记录决策和经验
  3. **结束一天:**整理重要条目,补充上下文
  4. **周末:**提取规律,清理 MEMORY.md
保留上下文

使用 /new 或 /reset 之前:

  1. 提取会话摘要
  2. 添加到每日日志
  3. 在 MEMORY.md 中保留关键上下文

完成重要工作后:

  1. 记录完成的工作
  2. 记录关键经验
  3. 记录后续步骤
知识整理
  1. 按主题组织——按领域分组,而非按日期
  2. 标题突出问题——以要解决的问题开头
  3. 使用便于搜索的语言——使用具体、易查找的术语
  4. 保持层级扁平——最多 2 层
  5. 提供代码示例——包含可运行的示例

参见:organization.md,了解详细的结构指南

故障排除

找不到过去的决策
  1. 先搜索每日日志:

    python scripts/search_memory.py --workspace ~/.openclaw/workspace --query "decision keyword"
    
  2. 搜索 MEMORY.md:

    grep -i "keyword" ~/.openclaw/workspace/MEMORY.md
    
  3. 搜索会话日志:

    rg "keyword" ~/.openclaw/agents/<id>/sessions/*.jsonl
    
记忆文件越来越大
  1. 归档旧的每日日志(>90 天):

    mkdir -p memory/archive/2025-Q1
    mv memory/2025-01-*.md memory/archive/2025-Q1/
    
  2. 如果超过 1000 行,按领域拆分 MEMORY.md:

    memory/domains/
    ├── react.md
    ├── graphql.md
    └── database.md
    
  3. 从主 MEMORY.md 添加链接:

    ## Domain Knowledge
    - [React Patterns](memory/domains/react.md)
    - [GraphQL Patterns](memory/domains/graphql.md)
    
不确定要记录什么

参见:patterns.md,了解全面的记录模式

**快速规则:**如果某件事花了你超过 15 分钟,或让你学到了不显而易见的东西,就把它记录下来。

模板

每日日志模板

位置:assets/templates/daily-log.md

结构:

  • 关键活动
  • 做出的决策
  • 经验
  • 挑战与解决方案
  • 明日上下文
  • 参考资料
MEMORY.md 模板

位置:assets/templates/MEMORY-template.md

结构:

  • 规律与最佳实践
  • 常见解决方案
  • 经验
  • 应避免的错误
  • 有用的参考资料

提示

  1. 保持一致——每天记录,每周提取
  2. 简明扼要——未来的你需要的是事实,而不是故事
  3. 具体明确——“Apollo 缓存规范化” > “缓存问题”
  4. 使用代码——示例胜过解释
  5. 先搜索——提问前先搜索自己的记忆
  6. 果断提取——如果某种情况重复出现 3 次,就把它提取出来
  7. 定期清理——每月删除过时信息
  8. 版本控制——提交 MEMORY.md 的更改

与 OpenClaw 集成

使用钩子自动记录

创建一个钩子,自动记录重要事件:

// ~/.openclaw/hooks/memory-logger/index.js
export default {
  name: 'memory-logger',
  async onToolCall({ tool, agent }) {
    if (tool === 'write' || tool === 'edit') {
      // Log file modifications
      await exec(`python scripts/daily_log.py --workspace ${agent.workspace} --entry "Modified ${tool.input.file_path}"`)
    }
  }
}
保留会话

添加到 AGENTS.md:

## Before /new or /reset

Always preserve context:
1. Extract session summary
2. Add to daily log
3. Save critical decisions to MEMORY.md
每周审查 Cron
openclaw cron add \
  --name "weekly-memory-review" \
  --at "Sunday 18:00" \
  --system-event "Time for weekly memory review and knowledge extraction"

评论

支持 Markdown