Mnemosyne Python SDK完全教程:3行代码让任何AI Agent拥有持久记忆
【免费下载链接】mnemosyneZero-cloud AI memory that works everywhere. SQLite-backed. One pure-Python dependency.项目地址: https://gitcode.com/gh_mirrors/mnemosyne5/mnemosyne
Mnemosyne 是一个零云端依赖、基于 SQLite 的 Python AI 记忆系统,只需一条pip install和 3 行代码,就能为你的 AI Agent 或 LLM 应用加上持久记忆。它没有 HTTP 服务、没有外部 API 密钥要求,只有一个 SQLite 数据库文件,全部数据都保存在你自己的机器上。本教程将带你从零安装到实际调用 Mnemosyne Python SDK,快速掌握 AI Agent 记忆层的核心用法。
为什么 AI Agent 需要持久记忆?
想象你每天都在和 AI 编程助手对话,但每次会话结束,它都忘了你偏好哪个框架、哪个架构约定、甚至你的名字。这就是"金鱼记忆"问题——当前大多数 LLM 应用只在单次会话内有效。
Mnemosyne 的设计目标就是解决它:
- 🧠零云端:数据本地优先,默认不离开你的机器
- 📦零重型依赖:一个 pip 包 + 一个 SQLite 文件,无 Qdrant、无 PostgreSQL
- 🔌全平台通用:通过 MCP 协议或 Python SDK,接入 Cursor、Claude Code、Codex、OpenWebUI 或你自己的 Agent
- ⚡混合检索:向量相似度 + 全文关键词 + 重要度评分,全部在 SQLite 内完成
一键安装:pip 安装步骤
Mnemosyne 要求 Python 3.10+,安装只需一行:
pip install mnemosyne-memory如果你需要完整功能(本地向量嵌入 + 本地 LLM 记忆整理),可以安装全功能版:
pip install "mnemosyne-memory[all]"安装完成后,用官方快速入门文档 docs/getting-started.md 验证环境即可。
3行代码:你的第一条记忆
这是整个教程的核心——真正的 3 行代码,就能完成"写入记忆"和"回忆记忆":
from mnemosyne import remember, recall remember("用户偏好深色模式界面") results = recall("用户偏好")就这样。第一行导入 API,第二行写入一条记忆,第三行按语义检索相关记忆。没有配置文件、没有服务器、没有 API Key——这就是 Mnemosyne Python SDK 的全部门槛。
更完整的调用示例(来自官方文档):
from mnemosyne import remember, recall # 存储事实,可指定重要度与来源 remember("用户偏好深色模式界面", importance=0.9, source="preference") # 全局记忆:所有会话可见 remember("用户邮箱是 alice@example.com", importance=0.95, scope="global") # 语义检索,返回最相关的前 3 条 results = recall("界面偏好", top_k=3) for r in results: print(r["content"])这些模块级函数定义在 mnemosyne/core/memory.py 中,是官方推荐的简洁调用方式;想精细控制时再实例化Mnemosyne类即可。
核心 API 速查表:记忆生命周期管理
除了remember和recall,SDK 还提供了一组开箱即用的函数,覆盖记忆的完整生命周期:
| 函数 | 作用 | 典型场景 |
|---|---|---|
remember(content, ...) | 写入记忆,支持重要度、作用域、过期时间 | 记住用户偏好 |
recall(query, top_k=5) | 语义+关键词混合检索 | 回答用户问题前查记忆 |
get_context(limit=10) | 获取当前会话的近期上下文 | LLM 调用前自动注入 |
get_stats() | 查看记忆库统计 | 验证安装是否成功 |
forget(memory_id) | 按 ID 删除指定记忆 | 用户要求"忘掉" |
update(memory_id, ...) | 修改已有记忆的内容/重要度 | 偏好变更 |
全部公开 API 可在 mnemosyne/init.py 中查看,官方 API 参考文档见 docs/api-reference.md。
进阶:给记忆加上"重要性"与"有效期"
remember()的关键参数让记忆管理更接近人脑:
importance(0~1):重要度评分,直接影响检索排序(评分权重占 20%)scope:session为会话级,global为跨会话全局可见valid_until:过期时间,临时凭证、令牌类记忆到期自动失效
例如存储一条会过期的临时令牌:
remember("临时令牌: abc123", importance=0.8, valid_until="2026-12-31")进阶:按时间回忆与记忆库隔离
recall()支持时间衰减权重,让"最近发生的事"更容易被想起:
results = recall("部署记录", temporal_weight=0.5, temporal_halflife=48.0)多 Agent 或多业务线场景下,可以用**记忆库(Memory Banks)**做领域隔离,工作记忆与个人记忆互不干扰:
from mnemosyne.core.banks import BankManager BankManager().create_bank("work")架构揭秘:BEAM 三层记忆模型
Mnemosyne 的核心是一个名为BEAM(双层情景-关联记忆)的三层架构,模拟人类记忆的工作方式:
┌──────────────────────────────────────────────────┐ │ 任意 AI Agent(MCP / SDK / 插件) │ └────────────────────┬─────────────────────────────┘ ┌────────────────────▼─────────────────────────────┐ │ Mnemosyne BEAM │ │ 工作记忆 ──▶ 情景记忆(长期) + 三元组库(时序KG) │ │ │ │ │ SQLite 单文件(sqlite-vec + FTS5) │ └──────────────────────────────────────────────────┘- 工作记忆(Working Memory):热上下文,自动在 LLM 调用前注入,带 TTL 自动淘汰
- 情景记忆(Episodic Memory):长期存储,向量 + FTS5 混合检索
- 三元组库(TripleStore):时序知识图谱,支持"某事在某日生效"这类版本链查询
检索评分公式为50% 向量相似度 + 30% FTS5 关键词排名 + 20% 重要度,并且全部计算都发生在 SQLite 内部。架构细节可阅读 docs/architecture.md。
接入任何 Agent:MCP 与 CLI 用法
如果你不想直接写 Python,Mnemosyne 自带 MCP 服务器,Cursor、Claude Code、Codex、Windsurf 等所有 MCP 客户端只需一段配置即可接入,各平台完整指南见 docs/integrations/README.md(内含 cursor-mcp.md、claude-code-mcp.md 等单平台教程)。
命令行同样好用,日常操作不离开终端:
mnemosyne store "用户喜欢深色模式" # 写入记忆 mnemosyne recall "偏好" # 检索记忆 mnemosyne stats # 查看统计 mnemosyne sleep # 运行记忆整理(consolidation)mnemosyne sleep会触发"睡眠整理"周期,把碎片化的工作记忆压缩成摘要——这正是 SQLite 单文件也能做到亚毫秒级检索的秘密之一。完整 CLI 命令参考 docs/cli-reference.md。
隐私与安全:你的记忆只属于你
作为"零云端"记忆系统,Mnemosyne 的隐私模型值得单独一提:
- ✅默认本地优先:不开启同步、不用远程嵌入服务时,数据永不离开本机
- ✅零遥测:无追踪、无分析、无云依赖
- ✅可选加密同步:桌面与 VPS 间的双向增量同步支持客户端加密(Fernet 或 PyNaCl),服务器只能看到元数据,密钥永不离机
安全模型全貌见 docs/security.md,同步机制文档见 docs/sync.md。
常见问题
Q1:Mnemosyne 和 mem0、Letta 这类记忆框架有什么区别?
最大的区别是本地优先 + 零依赖。mem0 需要搭配 Qdrant/PostgreSQL,Letta 需要 Docker + PostgreSQL,而 Mnemosyne 只需一个 pip 包和一个 SQLite 文件,甚至能跑在树莓派上(核心版约 50 MB 内存)。
Q2:中文等非英文记忆检索效果如何?
默认嵌入模型偏向英文。中文或混合语言场景,切换嵌入模型即可:
export MNEMOSYNE_EMBEDDING_MODEL=BAAI/bge-small-zh-v1.5多语言模型选择与权衡见 docs/configuration.md。
Q3:记忆存在哪里?如何备份?
所有数据都在MNEMOSYNE_DATA_DIR(默认~/.hermes/mnemosyne/data)下的一个 SQLite 文件中。备份就是mnemosyne export backup.json,恢复用mnemosyne import backup.json——真正的单文件可迁移记忆。
总结:3 行代码,终身记忆
回到开头的 3 行代码:
from mnemosyne import remember, recall remember("用户偏好深色模式界面") results = recall("用户偏好")- 安装:
pip install mnemosyne-memory,一条命令 - 写入:
remember(),支持重要度、作用域、过期时间 - 回忆:
recall(),向量 + 关键词 + 重要度混合检索 - 扩展:MCP 接入任意 Agent、CLI 命令行操作、加密同步多设备
Mnemosyne 用"零云端 + 单 SQLite 文件"的极简设计,证明了 AI Agent 的持久记忆不需要昂贵的云基础设施。现在,给你的 Agent 加上这 3 行代码,让它真正"记住"你。
【免费下载链接】mnemosyneZero-cloud AI memory that works everywhere. SQLite-backed. One pure-Python dependency.项目地址: https://gitcode.com/gh_mirrors/mnemosyne5/mnemosyne
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考