mema

🧠 Agent 双引擎记忆中枢

🥥83总安装量 18评分人数 11
100% 的用户推荐

OpenClaw官方Agent记忆中枢,基于SQLite持久化存储与Redis短期缓存,实现跨会话知识索引与状态管理。

A

基本安全,请在特定环境下使用

  • 来自可信组织或认证账号,需要结合权限范围判断
  • ✅ SQL 注入防护完善:全参数化查询,无字符串拼接风险
  • ✅ 路径遍历防护到位:数据库路径固定解析,不执行用户传入路径的文件操作
  • ✅ 无命令注入风险:零外部进程调用,无 `os.system` 或 `subprocess` 使用
  • ⚠️ Redis 认证依赖环境配置:默认无密码连接,需用户自行加固网络隔离或启用认证
  • ⚠️ 缺少操作审计日志:无内置日志记录,难以追溯记忆读写行为

使用说明

核心用法

mema 是 Agent 的中央记忆系统,提供双层记忆架构:长期记忆层使用 SQLite 数据库存储文档索引(路径、标题、标签)和技能使用记录,数据持久化于 ~/.openclaw/memory/main.sqlite;短期记忆层通过 Redis 缓存临时上下文,以 mema:mental:: 为命名空间前缀,默认 6 小时 TTL 与 Agent 会话周期对齐。

主要操作包括:

  • mema.py init:初始化数据库表结构
  • mema.py index <file> --tag <tag>>:将知识文档编入长期索引
  • mema.py list --tag <tag>>:按标签检索相关文档
  • mema.py mental set/get <key>>:读写短期会话状态

显著优点

1. 架构清晰:双存储引擎各司其职,SQLite 保证持久可靠,Redis 提供高性能临时缓存
2. 零外部依赖风险:纯本地文件操作,无网络 API 调用,数据完全自主可控

3. 安全实现:全参数化 SQL 查询杜绝注入,路径处理使用 os.path.expanduser 避免遍历攻击

4. 生态整合:深度嵌入 OpenClaw Agent 核心,与官方技能体系无缝协作

潜在缺点与局限性

  • Redis 依赖:需独立部署 Redis 服务,增加运维复杂度
  • 无分布式能力:SQLite 单文件架构限制高并发写入场景
  • 功能边界明确:仅做索引与键值存储,不支持向量检索或语义搜索
  • 配置简陋:缺少日志审计、数据库加密等企业级特性

适合的目标群体

  • 个人开发者构建长期运行的 Agent 助手
  • 需要跨会话记忆保持的自动化工作流
  • OpenClaw 生态用户寻求官方推荐的原生存储方案
  • 对数据本地化有强要求的隐私敏感场景

使用风险

  • Redis 暴露风险:若 Redis 未设密码且监听公网,可能导致未授权数据访问
  • 目录权限:需确保 ~/.openclaw/memory// 权限为 700,防止其他用户读取索引内容
  • 数据备份:SQLite 单文件虽便于备份,但误删或损坏将导致记忆丢失,建议定期备份

mema 内容

文件夹图标assets文件夹
文件夹图标references文件夹
文件夹图标scripts文件夹
手动下载zip · 4.2 kB
schema.sqltext/plain
请选择文件