项目简介

Mimir旨在解决AI代理在不同对话间“遗忘”上下文的问题。它将Neo4j图数据库、AI嵌入(Embeddings)和Model Context Protocol (MCP) 结合起来,为AI代理提供一个持久化的记忆和知识图谱。这意味着你的AI助手不仅能记住过去的任务和对话,还能理解它们之间的关系,并利用这些知识进行更智能、更连贯的交互。Mimir特别适用于需要长期记忆和复杂任务协调的软件开发项目和多代理AI工作流。

主要功能点

  • 持久化记忆: 将任务、上下文、代码文件和它们之间的关系存储在Neo4j图数据库中,为AI代理提供长期的、可检索的记忆。
  • 知识图谱: 自动构建和发现不同信息(如任务、文件、概念)之间的复杂关联,帮助AI理解更深层次的背景。
  • AI语义搜索: 利用AI嵌入(Embeddings)技术,AI代理可以通过含义而不是简单的关键词来检索相关信息。
  • 多智能体支持: 提供任务锁定、会话管理等功能,协调多个AI代理协同工作,解决复杂任务,避免冲突。
  • 文件索引: 自动索引你的代码库和文档,生成可用于RAG(检索增强生成)的上下文,让AI了解你的项目细节。
  • MCP API: 提供标准化的Model Context Protocol (MCP) 接口,允许符合MCP协议的AI助手(如Claude、ChatGPT)直接调用Mimir的工具和获取上下文信息。
  • OpenAI兼容Chat API: 提供一个兼容OpenAI接口的聊天API ('/v1/chat/completions'),同时内置Mimir的MCP工具调用和RAG能力。
  • 任务编排: 支持复杂的多阶段、多代理工作流(例如Ecko智能提示词 → PM规划 → Worker执行 → QC验证),自动化任务处理。

安装步骤

在开始之前,请确保您的系统满足以下前提条件:

  1. Docker Desktop: 用于运行Mimir的容器化服务。请从Docker官网下载并安装。
  2. Node.js 18+: 用于运行项目脚本。请从Node.js官网下载并安装。
  3. Git: 用于克隆Mimir仓库。

安装流程:

  1. 克隆仓库: 打开终端或命令提示符,执行以下命令克隆Mimir仓库:
    git clone https://github.com/orneryd/Mimir.git
  2. 进入项目目录:
    cd Mimir
  3. 复制环境配置文件: Mimir使用'.env'文件进行配置。复制示例文件:
    cp env.example .env
  4. 启动所有服务: 运行以下命令,Mimir将自动检测您的平台并启动所有必要的Docker服务(包括Mimir服务器、Neo4j数据库和LLM API代理):
    npm run start
    # 或者手动执行:docker compose up -d
  5. 配置工作区访问: 这是唯一必需的配置。 编辑 '.env' 文件,设置 'HOST_WORKSPACE_ROOT' 为您的主要源代码目录(例如,'~/src')。这允许Mimir访问您的代码文件进行索引。
    # .env 文件示例
    HOST_WORKSPACE_ROOT=~/src  # 您的代码目录,~会自动扩展
  6. 验证服务:
    • Mimir Web UI: 访问 'http://localhost:9042',您将看到Mimir的Web界面,包含文件索引管理和门户。
    • MCP服务器健康检查: 在终端执行 'curl http://localhost:9042/health',应返回JSON格式的健康状态信息。

服务器配置(供MCP客户端连接)

MCP客户端(如VS Code扩展、Claude、ChatGPT等)需要配置Mimir MCP服务器的访问地址,以便与其建立连接并调用其提供的上下文和工具。

  • MCP服务器API端点 (URL): 'http://localhost:9042/mcp'

    • 用途: 这是MCP客户端发送 'initialize'、'tools/call' 等JSON-RPC请求的地址。
    • 注意: 请确保Mimir服务器已通过上述“安装步骤”中的 'npm run start' 命令成功启动,并监听在 'http://localhost:9042'。
  • 可选配置信息 (根据MCP客户端能力):

    • MCP服务器名称: 'Mimir MCP 服务器' (用于客户端界面显示)
    • 描述: 连接Mimir服务器,为AI代理提供持久化记忆、知识图谱、文件索引和多智能体任务编排等功能。

重要提示: Mimir服务器通常通过Docker Compose(由 'npm run start' 命令启动)部署为一个包含多个服务的系统(Mimir主服务、Neo4j数据库、LLM API代理等)。因此,如果您的MCP客户端支持“启动外部程序作为MCP服务器”,它通常不会直接启动Mimir的单个组件,而是需要确保整个Mimir Docker Compose环境已在后台运行。大多数MCP客户端只需提供上述API端点即可与已运行的Mimir服务器建立连接。

基本使用方法

  1. 通过VSCode扩展使用:
    • 安装Mimir的官方VSCode扩展
    • 在VSCode的Chat窗口中,输入 '@mimir' 后跟您的问题或任务,Mimir将利用其记忆和工具协助您。例如:'@mimir what is Neo4j?' 或 '@mimir -u research how does graph RAG work?'。
  2. 通过AI代理(如Claude/ChatGPT)使用:
    • 将Mimir MCP API('http://localhost:9042/mcp')配置给您的AI代理,作为可用的工具服务。
    • AI代理将能通过调用Mimir提供的工具(如'create_todo'、'index_folder'、'vector_search_nodes')来存储和检索信息,管理任务,实现更复杂的交互。例如,AI可能会在对话中自动使用'create_todo'工具为您创建任务。
  3. 通过Web UI管理:
    • 访问 'http://localhost:9042' 可以进入Mimir的Web界面。您可以在门户中管理文件索引,查看系统状态等。
  4. 文件索引:
    • 使用命令行工具将您的项目文件夹索引到Mimir中,以实现代码库的语义搜索和RAG功能:
      npm run index:add /path/to/your/project --embeddings
    • 您也可以通过Web UI进行文件夹的添加和管理。

信息

分类

开发者工具