乐于分享
好东西不私藏

OpenClaw 记忆机制配置指南

OpenClaw 记忆机制配置指南

OpenClaw 记忆机制配置指南

📖 概述

OpenClaw 的记忆系统采用三层架构,实现从短期会话到长期知识的完整记忆链路。

┌─────────────────────────────────────────┐                  第一层:会话内记忆(短期)│                  - 上下文窗口(~1M tokens)               │                  - 当前对话内容│                  - 会话结束即丢失│                  └─────────────────────────────────────────┘                  ↓                  ┌─────────────────────────────────────────┐                  第二层:持久化记忆(中期)│                  - memory/YYYY-MM-DD.md(每日笔记)│                  - MEMORY.md(长期记忆)│                  - 文件系统存储,永久保存│                  └─────────────────────────────────────────┘                  ↓                  ┌─────────────────────────────────────────┐                  第三层:向量检索(语义搜索)│                  - BGE-M3 模型(1024 维向量)│                  - memory_search 工具│                  - 语义相似度匹配│                  └─────────────────────────────────────────┘

🗂️ 记忆文件结构

目录结构

~/.openclaw/workspace/                  ├── MEMORY.md# 长期记忆( curated wisdom)                  ├── HEARTBEAT.md# 心跳任务配置                  ├── memory/# 每日笔记目录                  ├── 2026-03-20.md                  ├── 2026-03-19.md                  └── ...                  └── docs/# 文档目录

MEMORY.md 结构

Markdown                  # MEMORY.md - 长期记忆                  ## 人物                  - 重要人物信息                  - 沟通风格偏好                  ## 工作相关                  - 工作项目                  - 技术栈                  ## 生活相关                  - 位置、时区                  - 生活习惯                  ## 偏好设置                  - 默认配置                  - API 优先级                  - 工具偏好                  ## 技术架构记忆                  - 模型配置                  - 系统架构

memory/YYYY-MM-DD.md 结构

Markdown                  # YYYY-MM-DD 记忆日志                  ## 待办事项                  - [ ] 任务 1                  - [ ] 任务 2                  ## 配置更新                  - 新增配置项                  ## 对话记录                  - 重要对话摘要                  ## 今日统计                  - 关键指标

⚙️ 心跳机制(HEARTBEAT)

什么是心跳

心跳是 OpenClaw 的定期唤醒机制,让 Agent 从"被动响应"变成"主动助手"。

工作原理

Gateway 每 30-60 分钟 → 发送心跳消息                  ↓                  Agent 读取 HEARTBEAT.md                  ↓                  执行任务 → 回复结果或 HEARTBEAT_OK

HEARTBEAT.md 配置

文件位置~/.openclaw/workspace/HEARTBEAT.md

基础格式

Markdown                  # HEARTBEAT.md                  # 每日检查                  - 检查日历:今天有什么会议?                  - 检查天气:苏州今天需要带伞吗?                  # 每周反思(周五下午)                  - 整理本周 memory/*.md 到 MEMORY.md                  - 删除过期的临时任务                  # 临时任务(完成后删除)                  - [ ] 提醒我下午 3 点开会

记忆反思任务(推荐配置)

Markdown                  ## 记忆反思(每周执行)                  **任务:自动分析高频话题,识别重复问题/模式,建议新的记忆条目**                  ### 执行步骤                  1. **扫描记忆文件**                  - 读取 `MEMORY.md` 现有内容                  - 读取最近 7 天的 `memory/YYYY-MM-DD.md` 文件                  2. **分析高频模式**                  - 统计重复出现的问题类型                  - 识别重复的工具使用场景                  - 发现用户偏好模式                  3. **检查记忆缺口**                  - 对比高频问题和现有 MEMORY.md 条目                  - 找出「经常被问但没记录」的信息                  4. **生成建议**                  - 列出 3-5 个新的记忆条目建议                  - 说明每条建议的理由                  - 标记优先级(高/中/低)                  ### 执行频率                  - **每周日** 执行一次完整反思                  - **每天** 简单扫描(仅记录,不输出报告)

⏰ Cron 定时任务

Cron vs 心跳

特性

心跳

Cron

触发

Gateway 定期发送消息

系统定时任务

精度

~30-60 分钟

精确到分钟

场景

例行检查、批量任务

精确时间提醒

配置

编辑 HEARTBEAT.md

openclaw cron 命令

创建记忆整理 Cron 任务

命令

Bash                  openclaw cron add \                  --name "daily-memory-backup" \                  --cron "0 3 * * *" \                  --message "整理昨日对话数据到记忆文件" \                  --tz "Asia/Shanghai"

任务内容

每天凌晨 3 点自动执行:                  1. 读取昨天的会话历史                  2. 提取重要事件和洞察                  3. 写入 memory/YYYY-MM-DD.md                  4. 提炼洞察到 MEMORY.md                  5. 发送总结消息

Cron 管理命令

Bash                  # 查看任务列表                  openclaw cron list                  # 查看执行历史                  openclaw cron runs                  # 手动执行一次(测试)                  openclaw cron run# 暂停任务          openclaw cron disable# 删除任务           openclaw cron rm

🔧 记忆搜索配置

BGE 模型配置

模型信息

1模型:BGE-M3-Q4_K_M.gguf

1路径~/.node-llama-cpp/models/bge-m3-Q4_K_M.gguf

1维度:1024 维向量

1相似度:余弦相似度

memory_search 工具使用

基本用法

JavaScript                  await memory_search({                  query: "用户偏好 工作习惯 常用工具",                  maxResults: 10                  })

返回格式

JSON                  {                  "results": [                  {                  "path": "MEMORY.md",                  "startLine": 1,                  "endLine": 32,                  "score": 0.42,                  "snippet": "...",                  "citation": "MEMORY.md#L1-L32"                  }                  ],                  "provider": "local",                  "model": "bge-m3-Q4_K_M.gguf"                  }

📊 最佳实践

1. 记忆写入原则

主动写入

1✅ 会话结束后立即记录重要内容

1✅ 发现新偏好时更新 MEMORY.md

1✅ 定期整理每日笔记到长期记忆

避免

1❌ 依赖"脑子记住"(会话重启即丢失)

1❌ 过度记录(只记录重要信息)

1❌ 不及时清理(过时信息定期删除)

2. 心跳任务设计

推荐任务

1每日检查(日历、天气、邮件)

1每周反思(记忆整理、模式分析)

1项目监控(GitHub、OpenClaw 更新)

任务设计原则

1保持简洁(一句话描述)

1用注释做说明

1完成后及时清理

3. Cron 任务配置

推荐配置

Bash                  # 每天凌晨 3 点整理记忆                  openclaw cron add --name "daily-memory" --cron "0 3 * * *" --message "整理昨日记忆"                  # 每周一上午 9 点生成周报                  openclaw cron add --name "weekly-report" --cron "0 9 * * 1" --message "生成本周报告"                  # 每小时检查日历                  openclaw cron add --name "calendar-check" --cron "0 * * * *" --message "检查未来 2 小时会议"

4. 记忆反思流程

每周反思步骤

1扫描 MEMORY.md + 最近 7 天 memory/*.md

1分析高频话题 TOP 3

1识别重复问题/模式

1检查记忆缺口

1生成新建议(3-5 条)

1用户确认后写入 MEMORY.md

输出格式

Markdown                  ## 🧠 记忆反思报告 - YYYY-MM-DD                  ### 高频话题 TOP 3                  1. [话题] - 出现 N 次                  2. [话题] - 出现 N 次                  3. [话题] - 出现 N 次                  ### 重复问题/模式                  - [问题描述] → 建议记录到 MEMORY.md                  ### 新记忆条目建议                  - [ ] **类别**: 建议内容                  - 理由:...                  - 优先级:高/中/低

🛠️ 常见问题

Q1: 记忆文件在哪里?

A~/.openclaw/workspace/MEMORY.md 和 ~/.openclaw/workspace/memory/

Q2: 心跳多久触发一次?

A: 默认 30-60 分钟,由 Gateway 配置决定

Q3: Cron 任务不执行怎么办?

A:

1检查任务状态:openclaw cron list

1查看执行历史:openclaw cron runs

1手动测试:openclaw cron run

Q4: 记忆搜索不准怎么办?

A:

1优化查询关键词(更具体)

1增加 maxResults 数量

1检查记忆文件内容质量

Q5: 如何备份记忆文件?

A: 记忆文件是普通 Markdown 文件,可以用 Git、iCloud 等任何方式备份

📚 相关文档

- OpenClaw 官方文档

- HEARTBEAT.md 配置

- MEMORY.md 示例

- Cron 命令参考