agent-memory

🧠 AI智能体的持久记忆中枢

基于纯Python标准库构建的AI智能体持久化记忆系统,支持事实存储、经验学习与实体追踪,完全离线运行保障数据隐私。

收藏
11.7k
安装
3k
版本
v1.0.0
CLS 安全性认证2026-05-02
点击查看完整报告 >

使用说明

核心用法

AgentMemory 是一款专为 AI 智能体设计的持久化记忆系统,通过本地 SQLite 数据库实现跨会话的信息留存。其核心 API 围绕三大功能模块展开:Facts(事实存储) 用于记录关键信息片段并支持标签分类;Lessons(经验学习) 通过记录行动、情境、结果与洞察形成可复用的知识库;Entities(实体追踪) 则用于维护人物、项目等实体的动态档案。用户可通过语义搜索(FTS5 全文检索)快速召回相关记忆,并支持自定义数据库存储路径。

显著优点

该技能的最大优势在于零依赖架构——仅使用 Python 标准库(sqlite3、pathlib、json 等),彻底规避了供应链攻击风险。参数化 SQL 查询设计有效阻断注入攻击,完全离线的运行模式确保敏感数据不出本地。此外,其模块化设计便于与 Clawdbot 等 Agent 框架集成,通过 AGENTS.md 或 HEARTBEAT.md 即可建立标准化的记忆协议。

潜在缺点与局限性

功能层面,当前实现依赖 SQLite 的 FTS5 扩展,在超大规模数据(百万级记录)场景下检索性能可能下降;缺乏内置的数据加密机制,数据库文件以明文存储。架构层面,记忆系统本身不具备分布式同步能力,多设备场景需手动迁移数据库文件。此外,语义搜索基于关键词匹配而非向量嵌入,复杂语义关联的召回精度有限。

适合的目标群体

该技能特别适合以下场景:需要长期上下文保持的个人 AI 助手开发、注重数据隐私合规的企业内部 Agent 部署、以及希望低成本快速落地记忆功能的中小团队。对于科研教育领域的对话式 AI 实验、客服机器人的历史记录追踪等场景同样适用。

使用风险

主要风险集中于文件系统层面:用户指定的自定义数据库路径若指向敏感目录,可能引发权限越界问题;建议通过操作系统级权限管控缓解。数据库文件损坏或误删将导致记忆丢失,需建立定期备份机制。FTS5 查询语法若被恶意构造,虽经参数化处理仍存在极低的拒绝服务风险。

安全解读

核心功能评估

AgentMemory 是一款专为 AI 代理设计的本地持久化记忆系统,旨在解决会话中断后上下文丢失的痛点。其核心能力涵盖三个维度:

1. 事实记忆:通过 remember() 方法存储结构化信息,支持标签分类便于检索
2. 经验学习learn() 方法记录行动-情境-结果-洞察四元组,实现从失败/成功中提取可复用知识

3. 实体追踪track_entity() 维护人、项目等实体的动态画像,支撑长期关系管理

显著优点

  • 极致安全架构:零外部依赖,仅使用 Python 标准库(sqlite3, json, hashlib),彻底消除供应链攻击面
  • 隐私原生设计:数据本地存储于 ~/.agent-memory/,无网络传输,天然符合 GDPR 数据最小化原则
  • SQL 注入防护:全参数化查询,安全审计无高危发现
  • Clawd生态深度集成:提供 Memory Protocol 规范,与 AGENTS.md/HEARTBEAT.md 工作流无缝衔接
  • 灵活部署:支持自定义数据库路径,甚至内存模式(:memory:)用于临时场景

潜在局限

  • 来源可信度受限:GitHub 仓库验证失败(404),作者 dennis-da-menace 为个人开发者,缺乏历史信誉背书
  • 功能边界:纯本地设计意味着无法实现跨设备记忆同步,多代理协作需手动共享数据库文件
  • 无加密存储:SQLite 文件以明文存储,若设备被入侵存在数据泄露风险(建议用户自行加密存储目录)
  • T3 来源降级:因可验证性不足,官方认证为 T3 级别,需用户自行承担作者信誉风险

适合人群

  • 对数据主权敏感的开发者(金融、医疗、法律场景)
  • 需要离线运行的边缘 AI 代理
  • 构建长期个性化助理的 ClawdBot 用户
  • 安全审计要求严格的政企环境

常规风险

| 风险类型 | 等级 | 说明 |
|---------|------|------|
| 供应链攻击 | 极低 | 零依赖设计 |
| 数据外泄 | 低 | 无网络通信,但本地明文存储 |
| 作者恶意代码 | 中 | T3来源,建议人工复核关键代码 |
| SQL注入 | 极低 | 参数化查询全面防护 |
| 依赖过时 | 无 | 标准库无过时风险 |

agent-memory 内容

cli文件夹
examples文件夹
src文件夹
tests文件夹
手动下载zip · 14.8 kB
entity.pytext/plain
请选择文件