项目简介

Open IMI 是一个开源的AI聊天界面,旨在为开发者、工程师和技术团队提供一个可定制的平台,用于连接多种大型语言模型(LLM)并深度集成外部工具和服务,通过 Model Context Protocol (MCP) 标准实现。它不仅是一个功能丰富的聊天客户端,还包含一个可供开发者修改和扩展的MCP服务器示例,方便本地开发和实验。

主要功能点

  • 支持连接OpenAI, Google, Anthropic, Ollama等多种主流LLM。
  • 通过 Model Context Protocol (MCP) 标准与外部服务集成工具、资源和Prompt。
  • 提供直观的用户界面管理已配置的MCP服务器连接状态和信息。
  • 支持文件系统(SQLite)或PostgreSQL数据库存储聊天记录。
  • 内置一个基于Node.js的可定制MCP服务器示例,开箱即用并易于扩展。
  • 提供文件上传和搜索功能(开发中)。

安装步骤

  1. 确保您的系统已安装 Node.js 和 pnpm 包管理器。
  2. 克隆项目仓库到本地。
    git clone https://github.com/ProjectAI00/open-imi.git
    cd open-imi
  3. 打开终端,进入项目根目录。
  4. 运行以下命令安装项目依赖:
    pnpm i
  5. 运行以下命令初始化项目(会复制 '.env.example' 文件为 '.env' 并根据配置设置数据库):
    pnpm initial
  6. 编辑新生成的 '.env' 文件,根据需要添加您希望使用的LLM提供商的API Keys,例如:
    GOOGLE_GENERATIVE_AI_API_KEY=YOUR_GOOGLE_API_KEY
    OPENAI_API_KEY=YOUR_OPENAI_API_KEY
    # 如果使用PostgreSQL,还需要配置 POSTGRES_URL 并移除 USE_FILE_SYSTEM_DB=true
  7. 运行以下命令启动开发服务器:
    pnpm dev
  8. 开发服务器启动后,您可以在浏览器中访问 'http://localhost:3000' 来使用应用程序。

服务器配置

Open IMI 的核心功能是作为 MCP 客户端管理器运行,它可以连接到各种 MCP 服务器(无论是远程服务还是本地进程)。Open IMI 使用根目录下的 '.mcp-config.json' 文件来定义和管理这些服务器连接。

默认情况下,运行 'pnpm initial' 后会自动生成 '.mcp-config.json' 文件,并包含一个指向项目内置示例服务器 ('custom-mcp-server') 的配置。

一个典型的 '.mcp-config.json' 文件结构如下:

{
  "server-name-1": {
    // 配置MCP服务器连接方式。常见的类型包括:
    // 1. Stdio (标准输入输出,通常用于本地进程)
    "command": "服务器启动命令", // 必需,例如启动一个Node.js脚本: "tsx"
    "args": ["参数1", "参数2", ...], // 可选,传递给启动命令的参数,例如脚本路径: ["path/to/your/mcp-server.ts"]
    "env": { "ENV_VAR": "value" }, // 可选,为服务器进程设置环境变量
    // 2. SSE (Server-Sent Events,基于HTTP/S)
    "url": "SSE服务器的完整URL", // 必需,例如: "https://api.example.com/mcp/sse"
    "headers": { "Authorization": "Bearer token", ... }, // 可选,发送到服务器的HTTP头部
    // 3. API Key (API代理,将Tool Call转换为HTTP请求)
    "apiKey": "认证API的密钥", // 必需
    "baseURL": "API的基础URL", // 可选,例如 "https://api.github.com"
    // 4. URL (简化的SSE配置,不包含headers)
    "url": "服务器URL", // 必需,例如: "https://simple.example.com/mcp"
  },
  "server-name-2": {
    // 添加另一个服务器配置...
  }
}

对于内置的 'custom-mcp-server' 示例,默认配置通常是使用 Stdio 传输,'command' 可能设置为 'tsx' 或 'node',而 'args' 则指向示例服务器的脚本文件路径(例如 '["custom-mcp-server"]' 或 '["custom-mcp-server/index.ts"]'),这样 Open IMI 客户端启动时就会通过标准I/O启动并连接到这个示例服务器。

您可以通过修改此文件或使用应用程序的用户界面来添加、修改或删除MCP服务器配置。

基本使用方法

  1. 按照安装步骤启动应用程序。
  2. 访问 'http://localhost:3000' 打开聊天界面。
  3. 根据需要,在设置页面配置您想要使用的LLM提供商的API密钥。
  4. Open IMI 将自动读取 '.mcp-config.json' 文件中的配置,并尝试连接到列出的MCP服务器(包括内置示例服务器)。服务器连接状态可以在UI中查看和管理。
  5. 在聊天界面选择一个LLM模型。
  6. 您现在可以开始与AI模型互动。AI模型将能够发现并调用所有已成功连接的MCP服务器提供的工具、访问资源等,从而扩展其功能。例如,您可以尝试触发内置示例服务器提供的天气查询工具。

信息

分类

AI与计算