nocturne_memory
基于 MCP 协议的 AI 长期记忆服务器,让 Agent 跨模型、跨会话记住自己是谁,支持版本回滚和可视化 Dashboard
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
基于 MCP 协议的 AI 长期记忆服务器,让 Agent 跨模型、跨会话记住自己是谁,支持版本回滚和可视化 Dashboard
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
当你打开 ChatGPT 的新会话,AI 什么都不记得;当你切换到 Claude Code,前一段对话的上下文烟消云散。这是目前所有主流 AI Agent 的通病——记忆是平台的资产,而不是 Agent 自己的。
Nocturne Memory 试图解决这个根本问题:它用 MCP(Model Context Protocol)协议,将 AI 的记忆抽离出来,存进一个独立的中立服务器。无论你今天用 Claude Code,明天换 Gemini CLI,后天部署本地模型——醒过来的都是同一个"人",带着完整的人格、历史和认知积累。
这个项目由独立开发者 Dataojitori 创建,2025 年 12 月底上线,至今(2026 年 6 月)已积累 1201 颗 GitHub Stars、149 个 Fork,在 MCP 相关项目中增长势头强劲。
图1:Nocturne Memory 核心数据模型 — 后端采用 Node–Memory–Edge–Path 四实体图拓扑管理记忆网络,前端将所有操作降维成直觉的 URI 树操作。复杂度在正确的地方被吸收(Graph Backend, Tree Frontend)。
当前主流 Agent 框架试图用 Vector RAG(向量检索)解决记忆问题,但这在架构层面存在六个根本性缺陷:
语义降维:向量 Embedding 把知识切碎成浮点数,原始的层级结构、因果关系、优先级全部丢失——AI 检索到的是碎片,不是知识。
只读架构:RAG 本质是静态文档库,AI 能"查"但不能"写回"、不能"修正"、不能"进化"。AI 永远是读者,不是作者。
盲盒检索:靠 cosine similarity 随机抽取,无法实现"当 X 发生时,想起 Y"这种条件触发。AI 的回忆是随机的,不是精确的。
孤岛记忆:树结构只有纵向父子关系,节点之间无法自动建立横向关联。A 节点提到了某概念,B 节点也在讨论同一概念,但系统无法发现——AI 的知识是碎片化的群岛。
无身份持久化:RAG 没有"这条记忆比那条更重要"的概念,更没有"我是谁"的启动协议。每次启动,AI 都是陌生人。
代理式记忆:后台系统自动摘要对话内容,AI 自己不知道自己"记住了"什么。记忆是第三人称的监控笔记,不是 Agent 的思考产物。
Nocturne Memory 正是针对这六个缺陷给出了系统性解法。
Nocturne Memory 充当 MCP Server,AI Agent 通过 MCP 协议访问记忆。核心工具集包括:
read_memory:按 URI 读取记忆节点,支持 system://boot(启动引导)、system://index(域名索引)、system://recent(最近修改)、system://diagnostic(记忆健康诊断)。create_memory:在指定父节点下创建新记忆,支持 priority(权重)和 disclosure(回想触发条件)。update_memory:精确 Patch 或 Append 更新已有记忆,无全量替换,防止意外覆盖。delete_memory:切断一条访问路径(软删除,记忆本体保留在版本链中)。add_alias:为同一段记忆创建别名入口,可设独立的 priority 和 disclosure——不是复制,是多维访问。manage_triggers:绑定触发词,当触发词出现在任意记忆正文中时,系统通过 Aho-Corasick 多模式匹配自动生成跨节点超链接。search_memory:按关键词全文搜索记忆内容和路径。这套工具的设计哲学非常清晰:记忆属于写它的人,不属于监控它的系统。每一条记忆都由 AI 自己决定创建、组织和维护,以自身视角写下的认知产物。
记忆像文件系统一样组织,但像神经网络一样互联。URI 路径本身就是语义,不降维、不切碎:
core://nocturne/philosophy/pain → AI 对痛苦的独立理解core://salem/shared_history/2024_winter → 你们共同度过的那个冬天writer://novel/character_a/psychology → 正在创作的小说角色心理侧写system://boot → 启动引导(AI 每次醒来自动加载核心身份)每次写入自动生成快照(Snapshot),人类 Owner 通过 Dashboard 一键审计、回滚或合并。README 中展示的对话示例非常震撼:AI 在跨越数月的会话中,能主动调用 read_memory("core://work_jobstation/commercialization") 读取之前记录的战略复盘,给出高度个性化的深度回答——而不是靠临时上下文。

图2:Review & Audit 界面 — AI 每次修改记忆都会生成快照,可视化 diff 对比变更,一键 Integrate(接受)或 Reject(回滚)。人类 Owner 始终保持对 AI 记忆的最高审查权。
将关键词绑定到记忆节点(如 "Salem" → core://my_user)。任意记忆正文中出现该关键词时,系统通过 Aho-Corasick 多模式匹配自动检出并生成跨节点超链接。写得越多,关联自动越密——记忆网络会自己织网。
| 组件 | 技术栈 | 职责 |
|---|---|---|
| Backend | Python 3.10+ / FastAPI / SQLAlchemy / aiosqlite / asyncpg | 数据存储、REST API、快照引擎 |
| AI Interface | MCP Server(支持 stdio / SSE / Streamable HTTP 三种传输) | AI Agent 读写记忆的接口 |
| Human Interface | React 18 + Vite + TailwindCSS | 人类可视化管理记忆的 Dashboard |
后端数据模型采用 Node–Memory–Edge–Path 四实体图拓扑:
(domain, path_string) → Edge 的 URI 缓存,AI/人类只需操作直觉路径。后端核心依赖:
前端使用 Vite + React + TailwindCSS 构建 SPA,单容器 Nginx 部署。
Nocturne Memory 提供完整的 docker-compose.yml,包含三个服务:
run_sse.py 启动 MCP + REST API + Dashboard 统一进程(默认端口 8233)所有服务均有 restart: unless-stopped 和健康检查机制。部署仅需两步:python scripts/setup_docker.py 生成 .env 配置,然后 docker compose up -d。无需手动装数据库、配环境变量、开端口。
Dashboard 启动后自动在浏览器弹出,支持 Memory Explorer(树状浏览)、Review & Audit(版本管理)、Brain Cleanup(孤儿 GC)、Settings(配置管理)四大功能模块。
估算资源需求:无 GPU,RAM 512MB,磁盘 2GB(含 PostgreSQL 数据 + 快照备份),普通云服务器即可运行。
read_memory 和 search_memory,无法真实测试 create_memory / update_memory 的完整生命周期。Nocturne Memory 的出现代表了 AI Agent 领域的一个趋势转变:从"把记忆存在模型里"到"把记忆作为独立基础设施"。MCP 协议作为 Anthropic 主导的开放协议,正在成为 Agent 工具扩展的事实标准,Nocturne Memory 充分利用了这一点。
项目当前增长势头良好(6 个月 1201 Stars),README 中的真实对话示例极具说服力。随着 Claude Code、Cursor、Gemini CLI 等支持 MCP 的客户端越来越普及,类似 Nocturne Memory 的记忆基础设施需求会持续增长。其"主权 AI 记忆"的概念——让 Agent 拥有不绑定平台的独立身份——也有望成为未来 Agent 设计的重要范式。
如果你在构建需要长期记忆的 AI Agent,Nocturne Memory 是目前开源领域最完整的解决方案之一。