redis-memory-system

Prompts

Redis-based cross-session memory system for OpenClaw agents. One-command setup, zero config. Automatically reads recent memory at session start (via bootstrap) and writes hourly summaries (via system cron). 7-day TTL, multi-user isolation via dual scripts. Use when agents need short-term memory that survives session resets without manual configuration, or when implementing multi-account memory isolation.

Install

openclaw skills install redis-memory-system

Redis Memory System — 跨 Session 短期记忆

开箱即用。运行安装脚本后只需两步配置,自动读写 Redis。

一键安装

chmod +x scripts/setup.sh
bash scripts/setup.sh

安装后自动:

  • 安装 Redis(如未安装)
  • 注册 系统 cron(每小时) → draft→永久升级 + 打卡
  • 拷贝脚本到 $OPENCLAW_WORKSPACE/scripts/

三步手动配置

第1步:安装 Redis

apt install redis-server -y
redis-server --daemonize yes
redis-cli PING   # → PONG

第2步:注册 OpenClaw Cron(兜底,每2小时)

openclaw cron add \
  --name '记忆同步(兜底)' \
  --schedule 'every 2h' \
  -- \
  bash /path/to/scripts/cron_memory_ping.sh

这个 cron 的作用:检测 draft:<用户>:summary 是否有未同步内容,如果有则升级为永久 Redis 摘要。

第3步:配置 Heartbeat(每2小时,兜兜底)

Heartbeat 在 OpenClaw Gateway 配置中:

gateway config set heartbeat.every "2h"
gateway config set heartbeat.target "last"
gateway config set heartbeat.isolatedSession false
gateway config set heartbeat.skipWhenBusy true

或者在 openclaw.json 中:

"heartbeat": {
    "every": "2h",
    "target": "last",
    "isolatedSession": false,
    "skipWhenBusy": true
}

三层铁壁写入架构

我(对话中)→ draft key (12h TTL, EX 43200)
                   ↓
        系统 Cron(每小时) → 升级为永久 + 打卡
                   ↓
        OpenClaw Cron(每2h兜底)
                   ↓
        Heartbeat(每2h兜兜底)
                   ↓
        永久存储 memory:<用户>:YYYY-MM-DD(7天过期)

任意一层成功即保底。

对话中的写入规则

Agent 在以下时机调用 draft 写入:

bash scripts/redis_memory.sh draft <用户> "<今天的完整摘要>"

触发时机:

  • 话题结束时 — 一个主题聊完,换话题前写一次
  • 用户说晚安/拜拜 — 对话自然终止
  • 长时间聊天(>30分钟) — 防止中间断连
  • 空闲逼近 — 察觉很久没说话(>90分钟),主动写一次
  • 重要事件发生时 — 下载文件、安装软件、做决策等

文件

redis-memory-system/
├── README.md              # 快速说明
├── SKILL.md               # 完整文档(本文件)
└── scripts/
    ├── setup.sh                       # 一键安装(Redis + cron + bootstrap)
    ├── redis_memory.sh                # 通用版:get/set/draft/recent/action
    └── redis_memory_isolated.sh       # 隔离版(多账号防串读)

安全

  • 默认监听 127.0.0.1,仅本机可访问
  • 数据存明文,不要存密码或密钥
  • 7 天 TTL 自动过期(EXPIRE 604800)
  • 多账号隔离redis_memory_isolated.sh 通过 REDIS_MEMORY_USER 环境变量强制隔离
  • 铁律:Agent 在对话中必须使用对应的隔离版脚本,不得跨用户访问

依赖

  • redis-server / redis-cli
  • bash 4+
  • cronie (crontab)