mnemosyne-oss/mnemosyne

Zero-cloud AI memory that works everywhere. SQLite-backed. One pure-Python dependency.

Mnemosyne – 代理的本地优先 AI 记忆

它是什么

Mnemosyne 是一个开源、以 SQLite 为后端的记忆层,任何 LLM 驱动的代理都可以使用。它将事实、嵌入和时间三元组存储在本地,并可通过以下方式访问:

  • MCP 服务器(一个简单的 JSON-over-STDIO / SSE / HTTP 协议),可与许多现有代理(Claude Code、Cursor、Codex、OpenWebUI 等)配合使用,
  • Python SDK(remember、recall),或
  • Hermes 插件,用于 Hermes 代理框架。

所有这些只需单一 pip install mnemosyne-memory 即可运行,且不需要外部向量数据库或云服务 – 唯一的依赖是 SQLite 数据库文件。

核心概念

组件 角色
工作记忆 在 LLM 调用前自动注入的热上下文;项目在 TTL 后过期。
情景记忆 使用 SQLite-vec + FTS5 进行混合向量关键词搜索的长期存储。
TripleStore 带版本化的时间知识图谱(主语-谓语-宾语)。
BEAM(双层情景-关联记忆) 结合三层的整体架构,并将结果评分为 50% 向量相似度 + 30% FTS5 排名 + 20% 重要性。

向量是二进制(MIB) – 384 维浮点嵌入被压缩为 48 字节,实现 32 倍大小缩减,并允许直接在 SQLite 内进行汉明距离搜索。

如何使用

CLI(快速开始)

pip install mnemosyne-memory          # 核心
pip install "mnemosyne-memory[all]"   # 完整功能集

# 启动 MCP 服务器(默认 stdio)
mnemosyne mcp

# 存储和检索事实
mnemosyne store "User prefers dark mode"
mnemosyne recall "preferences"

Python SDK(嵌入任何代理)

from mnemosyne import remember, recall

remember("User prefers dark mode", importance=0.9)
results = recall("dark mode", top_k=3)

您也可以设置范围、过期时间、提取实体,或让 LLM 提取事实(extract=True)。

集成示例

平台 集成方式
Cursor、Claude Code、Codex、Windsurf 在平台的 *.json 配置文件中添加 MCP 条目。
OpenWebUI 将单行桥接文件放入 data/tools/。
OpenClaw 安装 mnemosyne-memory[openclaw] 并在配置中引用提供者。
Hermes Agent 安装 mnemosyne-hermes;插件会自动注册记忆提供者。
任何 Python 代理 import mnemosyne 并调用 SDK。

完整的集成指南位于 docs/integrations/。

基准测试(如报告所述)

  • BEAM 端到端问答(100K 项目):65.2%(v3.0.0,2026 年 5 月)– 与其他开源记忆系统相当。
  • BEAM 纯检索:Recall@10 在 100K 到 10M 项目间保持约 20%,而延迟在 10M 时降至 35 毫秒,存储空间次线性增长(10M 条目为 7.2 MB)。
  • LongMemEval:先前声称 98.9% 的召回率,但该运行已撤回,等待可重现的重新运行。

关键要点是,随着语料库增长,检索质量保持稳定,且系统使用情景压缩来保持存储空间极小。

安全与隐私模型

  • 本地优先:默认情况下,没有任何数据离开机器。
  • 可选同步:设备之间的双向增量同步,具有客户端加密(AES-128-CBC 或 XSalsa20-Poly1305)。服务器只看到元数据。
  • 无遥测:除非您启用远程嵌入 API,否则没有分析或云调用。
  • 可配置的 TLS,用于任何远程同步或嵌入端点。

配置重点

变量 默认值 控制内容
MNEMOSYNE_DATA_DIR ~/.hermes/mnemosyne/data SQLite 文件的位置
MNEMOSYNE_VEC_TYPE int8 向量压缩格式(float32、int8、bit)
MNEMOSYNE_EMBEDDING_API_URL OpenRouter 端点 远程嵌入服务(如果您不运行本地嵌入)
MNEMOSYNE_EMBEDDING_MODEL BAAI/bge-small-en-v1.5 要使用的嵌入模型
MNEMOSYNE_WM_MAX_ITEMS 10000 热工作记忆缓存的大小

环境变量可让您调整权重(MNEMOSYNE_VEC_WEIGHT、FTS_WEIGHT、IMPORTANCE_WEIGHT)和近期衰减。

谁可能使用它?

  • 构建自定义 LLM 代理的开发者,他们想要持久、可搜索的记忆,而无需运行单独的向量数据库。
  • 在本地或边缘设备部署的团队(Raspberry Pi、低 RAM VPS),因为整个堆栈只需几百 MB。
  • 注重隐私的用户,他们需要跨设备的加密同步。

当前状态

Mnemosyne 是一个真实、积极维护的开源项目(MIT 许可证),目标是解决与 Mem0、Letta、Honcho 等相同的问题领域,但其区别在于:

  • 纯 Python,单一 SQLite 文件,
  • 内置 MCP 服务器,可即插即用于许多现有代理,以及
  • 客户端加密同步作为核心功能。

以上所有细节均直接取自存储库的 README。

相关

  • 项目
  • 项目
  • 项目
  • 项目
  • 项目