核心用法
Redis Memory System v2.1 是一款面向 OpenClaw Agent 的跨会话短期记忆解决方案,基于 Redis 实现数据的持久化与隔离。系统采用一键安装设计(setup.sh),安装后自动生效:session 启动时通过 bootstrap 加载近期记忆,系统 cron 每小时整点自动写入摘要并检查 draft 升级,话题切换时自动触发 draft 写入。
系统提供三种脚本模式适应不同场景:
- 通用版(
redis_memory.sh):多用户共享脚本,通过用户名参数区分,key 为memory:<用户名> - 隔离版(
redis_memory_isolated.sh):通过REDIS_MEMORY_USER环境变量指定用户,适合通用部署 - 用户专用版(
redis_memory_user.sh,v2.1 新增):用户名硬编码在脚本内,物理隔离 key 空间,从源头杜绝跨账号误操作
数据结构设计为三层:
memory:<用户名>(Hash,7 天 TTL)—— 永久记忆存储draft:<用户名>:summary(String,12 小时 TTL)—— 草稿缓冲区activity:<用户名>:last_seen(String,12 小时 TTL,v2.1 新增)—— 活跃 session 标记
显著优点
1. 零配置一键部署:单条命令完成 Redis 连接、cron 配置、bootstrap 注入
2. 三层写入兜底:系统 cron(每小时)+ OpenClaw cron(每 2 小时)+ Heartbeat(每次心跳),任意一层成功即可
3. 数据安全机制:7 天 TTL 自动过期防止磁盘膨胀,12 小时 draft TTL 防止草稿堆积
4. 多用户隔离:技术层(独立脚本/key 空间)+ 行为层(SOUL.md 铁律)双重保障
5. v2.1 增强兜底:Session 启动恢复检查、Heartbeat 不再跳过活跃 session、话题切换自动写 draft
潜在缺点与局限性
- 非逐条存储:仅保存每日摘要,不记录逐条对话,无法查询单轮内容
- 非永久记忆:7 天强制过期,需配合 MEMORY.md 实现长期记忆
- Redis 依赖:无 Redis 环境完全失效
- 容量限制:单条记忆建议 < 2KB,不适合大规模数据
- 非实时同步:非消息队列/WebSocket 替代品
适合人群
- 需要 Agent 跨 session 保持上下文的开发者
- 多账号共享 Redis 实例需数据隔离的场景
- 对话易中断、需要保底机制防止记忆丢失的生产环境
- 希望最小化配置成本、追求开箱即用的团队
常规风险
1. 跨账号数据泄露:若未遵循隔离方案(尤其是未使用 redis_memory_user.sh 或未配置 SOUL.md 铁律),存在误读其他用户数据的风险
2. 记忆丢失风险:若三层写入全部失效且 session 未正常结束,可能丢失当次对话摘要(v2.1 已通过启动恢复检查大幅缓解)
3. Redis 单点故障:Redis 宕机则记忆系统完全失效,需配合 Redis 高可用方案
4. TTL 误配置:若手动调整 TTL 参数不当,可能导致数据过早过期或长期堆积
5. 脚本权限风险:cron 脚本需写入权限,若配置不当可能暴露 Redis 连接信息
安全认证说明
系统描述文件标注"未执行安全扫描",属于占位性认证。实际部署建议补充:Redis AUTH 认证、TLS 加密传输、最小权限原则配置 cron 用户。