Redis Memory System 是一套专为 OpenClaw/Claw 框架设计的跨会话短期记忆解决方案,核心解决 Agent 会话被回收(如 04:00 定时重置、120 分钟空闲、24 小时无交互)后的上下文丢失问题。系统采用 Redis 作为存储后端,通过 Hash 结构实现用户级数据隔离,默认 7 天 TTL 自动清理避免磁盘膨胀。
核心用法
一键安装:执行 scripts/setup.sh 完成全部配置,自动建立:
- Session 启动时的记忆加载(
.bootstrap/redis-memory.md) - 每小时整点的系统 cron 自动写入
- 对话结束时的摘要持久化
双脚本架构:
redis_memory.sh:通用多用户版本,支持memory:<用户名>命名空间隔离redis_memory_isolated.sh:单用户硬编码隔离版,通过REDIS_MEMORY_USER环境变量强制绑定,杜绝跨账号误操作
Agent 写入时机:对话结束、用户离线 >30 分钟、重要系统操作(下载/安装/决策)。配合 HEARTBEAT.md 实现意外中断时的兜底写入。
显著优点
1. 零配置开箱即用:单命令完成 Redis 连接、cron 任务、bootstrap 钩子全部配置
2. 架构极简可靠:纯 Shell + Redis CLI,无额外依赖,TTL 机制天然防数据膨胀
3. 多层级隔离:Hash 命名空间隔离 + 环境变量强制绑定 + SOUL.md 行为铁律,满足多账号场景
4. 自动兜底机制:Heartbeat 检测 4 小时内互动状态,自动补写防止会话中断丢数据
潜在局限
- 非实时同步:依赖 cron 整点写入,非逐条消息级持久化
- 非永久存储:7 天 TTL 硬限制,需配合 MEMORY.md 实现长期记忆提炼
- 容量受限:建议单条 <2KB,不适合文件/大对象存储
- 基础设施依赖:必须预装 Redis,无 Redis 环境完全不可用
- 无内置加密:数据明文存储于 Redis,敏感场景需配合 Redis TLS 或独立部署
适合人群
- 需要「会话重启后恢复上下文」的 Agent 开发者
- 单 Redis 实例服务多用户的 SaaS/多账号场景
- 追求「够用即可」、拒绝复杂架构的团队
- 有基础运维能力、能维护 Redis 实例的技术用户
常规风险
- 数据误隔离失效:多用户场景若混用通用脚本且未配置 SOUL.md 铁律,存在跨账号数据泄露风险
- TTL 误配置:修改脚本内 EXPIRE 参数可能导致数据过早失效或长期堆积
- Redis 单点故障:无集群配置时,Redis 宕机会导致短期记忆完全不可用
- 敏感信息残留:摘要中若包含密码/密钥,7 天内可被任何能访问 Redis 的进程读取