Mimir
基于 Neo4j 图数据库和 MCP 协议,为 AI Agent 提供跨会话持久化记忆与语义检索能力
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
基于 Neo4j 图数据库和 MCP 协议,为 AI Agent 提供跨会话持久化记忆与语义检索能力
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
「你的 AI 助手,用完就忘?」 —— 这是每一位深度使用 AI 编程工具的开发者都曾面临的核心痛点。每次新建对话,AI 便将之前的上下文忘得一干二净:代码规范、设计决策、曾踩过的坑,全部要从头解释一遍。但如今,一个名为 Mimir 的开源项目正在改写这个局面——它为 AI Agent 构建了一套可以跨越会话、持续积累的外部记忆系统。
图1:Mimir 项目 Logo — 北欧神话中以智慧著称的智慧之神 Mimnir
当前主流的 AI 编程助手(Claude Code、GitHub Copilot、Cursor 等)虽然在单次对话中表现出色,但在跨会话持久化方面存在天然缺陷:每次新会话都从零开始,没有历史积累。
这一痛点催生了「外部记忆系统」的需求——在 AI Agent 外部构建一个持久存储层,让 AI 可以:
Mimir(Multi-agent Intelligent Memory & Insight Repository)正是这一方向的探索者。它由独立开发者 OrneryD 于 2025 年 10 月创建,定位为 Model Context Protocol(MCP)服务器,为各类 AI 助手提供持久化图数据库记忆能力。截至 2026 年中,项目已获得 276 Stars、29 Forks,并集成了 Neo4j 图数据库、NornicDB 向量存储等多个底层组件。
Mimir 的技术架构可以拆解为三个核心层次,理解每一层的职责是掌握整个项目的关键。
Mimir 的记忆存储采用双引擎架构:
Neo4j 图数据库(主存储):用于存储节点(Node)和关系(Edge)。每个记忆条目被建模为图中的一个节点,节点之间通过关系边相连——这使得「任务 A 依赖于任务 B」「决策 X 是因为需求 Y」这类关联信息得以自然表达。Neo4j 的 Cypher 查询语言支持复杂的关系路径查询,例如「找出所有与当前任务相关的、过去 30 天内被更新过的记忆节点」。
向量检索(语义搜索):通过 bge-m3 嵌入模型将文本内容转换为向量,存储在 NornicDB 或 llama.cpp server 中。向量检索解决了精确关键词匹配无法处理的语义模糊问题——用户问「之前处理过的认证问题」,即使记忆中写的是「OAuth 集成失败」,语义检索也能命中。
NornicDB(项目自研组件):作为轻量级图数据库选项,可在不方便部署完整 Neo4j 时提供替代方案,支持全文检索和原生向量能力。
这种双引擎设计让 Mimir 同时具备关系推理和语义模糊搜索两种能力,这是单纯向量数据库(如 ChromaDB)或传统关系数据库无法同时做到的。
Mimir 遵循 Model Context Protocol(MCP)——这是 Anthropic 主导的 AI 工具上下文标准协议。通过 MCP,Mimir 可以无缝接入 Claude Desktop、Cursor、Windsurf、VS Code(通过 Mimir Chat 插件)等多种 AI 客户端。
作为 MCP 服务器,Mimir 暴露了 6 个核心工具(从最初 22 个精简而来):
| 工具名 | 功能 |
|---|---|
memory_node | 记忆节点的增删改查,支持语义搜索 |
memory_edge | 记忆节点之间的关系管理 |
memory_batch | 批量创建多个节点和关系 |
memory_lock | 并发控制,防止多 Agent 同时写入冲突 |
get_task_context | 基于当前上下文检索相关历史记忆 |
memory_clear | 按类型或时间范围清理记忆 |
开发者无需关心底层存储细节,只需通过标准 MCP 协议调用这些工具,AI Agent 即可「记住」任何它想记住的内容。
Mimir 不仅是单 Agent 的记忆工具,更支持多 Agent 协作场景。在 docker-compose.yml 中,除了主服务外,还包含了 copilot-api(GitHub Copilot API 代理)、llama-server(本地 embedding 服务)等多个容器,形成了完整的多 Agent 工作流:
这在大型代码库重构、持续集成等需要多个 AI 协作的场景中尤为有价值。
项目以 TypeScript 为核心开发语言,主仓库分为以下模块:
src/
├── api/ # HTTP API Server(OpenAI-compatible endpoints)
├── config/ # 环境配置管理
├── indexing/ # 代码索引(RAG 核心)
├── managers/ # 数据库管理器(Neo4j / NornicDB)
├── middleware/ # 中间件(认证、限流)
├── orchestrator/ # 多 Agent 编排引擎
├── scripts/ # 启动/构建脚本
├── tools/ # MCP 工具定义(graph.tools.ts, todoList.tools.ts 等)
├── types/ # TypeScript 类型定义
└── utils/ # 通用工具函数
frontend/ # Web UI(Vite + Vue/React)
vscode-extension/ # VS Code 插件
nornicdb/ # 自研图数据库模块
前端部分采用 Vite 构建,包含 Portal(主导航页)、Orchestration Studio(可视化工作流编排器)等多个视图,提供图形化界面管理记忆节点和 Agent 工作流。
构建系统采用 npm workspace 模式,支持 build:all 一次性构建后端、前端和 VS Code 插件。Dockerfile 使用多阶段构建:Builder 阶段安装完整依赖并运行 TypeScript 编译,Production 阶段仅保留运行时最小依赖,最终镜像基于 node:22-alpine,非 root 用户运行,镜像体积精简。
Mimir 的部署体验在容器层面做到了极简:
git clone https://github.com/orneryd/Mimir.git
cd Mimir
cp env.example .env
npm run start
一行命令后,Docker Compose 自动启动 3-4 个容器(mimir-server、neo4j、copilot-api、llama-server)。项目提供了 6 种 docker-compose 变体,覆盖 amd64/arm64 架构、本地 Ollama、NornicDB 等不同场景,真正实现了「一行命令,跨平台开箱即用」。
然而,核心硬依赖是 Neo4j 图数据库——没有它,Mimir 的图存储能力完全失效。这使得部署复杂度从「开箱即用」略微上升到「需要理解 Neo4j 基本概念」,好在 docker-compose 已经内置了 Neo4j 社区版,零配置即可启动。
硬件需求适中:不需要 GPU,普通 4GB+ RAM 的机器即可运行。这使得 Mimir 具备在个人开发机器上长期运行的条件,而非必须部署在服务器上。
尽管 Mimir 的设计理念先进,但在实际使用中仍存在一些需要注意的问题:
记忆质量依赖 Agent 主动写入:Mimir 提供的是存储基础设施,「记住什么」完全取决于 AI Agent 的主动调用。如果 Agent 没有良好的记忆调用习惯,记忆库会很快变得杂乱无章。
Neo4j 的运维复杂度:虽然 Docker 内置了 Neo4j 社区版,但生产环境部署 Neo4j 需要关注数据备份、内存调优、APOC 插件管理等问题,比纯 SQLite 或文件存储复杂得多。
中文社区支持有限:项目文档、Issue 讨论以英文为主,对中文开发者的友好度有待提升。
多 Agent 一致性问题:memory_lock 工具提供了基本的并发控制,但在高并发写入场景下,图数据库的事务一致性仍是需要关注的工程问题。
Mimir 的出现折射出一个更宏观的趋势:AI Agent 正在从「单次调用」向「持续运营」演进。随着 AI 编程工具在团队中普及,「如何让 AI 跨会话积累知识」将成为刚需。
Mimir 通过 MCP 协议找到了一个聪明的切入点——不绑定特定的 AI 平台(Claude/Copilot 都可用),专注于「记忆层」这个细分领域。这种「中间件」定位让它具备了成为基础设施的潜力。
项目自 2025 年 10 月创建以来保持了活跃更新(最后推送 2025 年 12 月),文档完善度高(含 20+ 架构设计文档、用户指南、集成指南),是一个值得关注的技术实验。
图2:NornicDB 架构 Logo — 项目自研图数据库模块的视觉标识
| 维度 | 评分 | 说明 |
|---|---|---|
| 部署难度 | ⭐⭐ | Docker 一键启动,Neo4j 硬依赖需理解 |
| 技术创新 | ⭐⭐⭐⭐ | 图数据库 + 向量检索双引擎,MCP 协议标准化 |
| 代码质量 | ⭐⭐⭐ | TypeScript 规范,完整测试套件,多工作区构建 |
| 社区活跃 | ⭐⭐ | Stars 276,功能迭代快,但社区规模较小 |
| 实用价值 | ⭐⭐⭐⭐ | 解决真实痛点,跨 Agent 记忆共享场景独特 |
一句话评价:Mimir 是一款定位清晰、技术栈扎实的 AI Agent 记忆中间件,通过 MCP 协议标准化了 Agent 的外部记忆接口,在多 Agent 协作场景中具有独特价值。适合对 AI 编程工具有深度使用经验、且有多 Agent 协作需求的开发团队。
分析时间:2026-07-06 | 数据来源:GitHub API + 源码 | 报告字数:约 3,800 字