项目简介

“The Everything Assistant” 是一个为校园环境量身定制的AI助手,旨在简化学生的日常学习和生活。它提供一个智能会话界面,能够处理各种查询、管理工作流,并支持通过WhatsApp和Discord等多个平台进行交互。该项目的核心亮点是其内置的Model Context Protocol (MCP) 服务器功能,能够安全、标准化地向大型语言模型(LLM)客户端提供大学系统的上下文信息和功能访问。

主要功能点

  • 智能会话交互: 提供直观的聊天界面,让用户能够通过自然语言与AI助手进行交流,获取信息或执行任务。
  • 多功能工具集成: AI助手能够集成并利用各种外部工具和服务,包括访问大学内部系统(如FFCS课程规划)、进行深度网络搜索、以及与其他平台(如GitHub进行反馈和知识库更新)的集成。
  • 知识库与RAG: 内置一个精心构建的知识库和检索增强生成(RAG)堆栈,确保AI能够提供准确、最新且相关的回答。
  • 多渠道支持: 除了Web界面,还通过专门的服务支持与WhatsApp和Discord等聊天机器人进行互动,扩大了助手的可访问性。
  • 校园系统MCP服务器: 包含一个认证代理/MCP服务器(位于 'services/proxy-service' 模块),专门用于安全地处理和标准化访问大学系统(如VTOP)的请求,并向LLM客户端提供相关的资源和调用功能。

安装步骤

  1. 克隆仓库: 打开您的终端或命令行工具,执行以下命令克隆项目仓库:
    git clone https://github.com/theg1239/the-everything-assistant.git
    cd the-everything-assistant
  2. 配置环境变量: 项目依赖于多个环境变量。复制提供的示例环境文件,并根据您的实际情况填写必要的配置信息。
    cp .env.example .env
    您需要配置数据库连接('DATABASE_URL')、NextAuth认证密钥('NEXTAUTH_SECRET')以及LLM相关的API密钥等。特别地,与MCP服务器功能相关的变量可能包括 'VTOP_MCP_URL' 和 'VTOP_MCP_CLIENT_ID',请根据实际情况配置。
  3. 安装项目依赖: 使用 'pnpm'(推荐)或 'npm' 安装所有必要的项目依赖:
    pnpm install
    # 或者使用 npm install
  4. 数据库初始化与知识库填充(可选): 项目使用Prisma进行数据库管理,并包含RAG知识库。您可以运行以下命令来初始化数据库和填充数据:
    pnpm prisma:migrate         # 创建或更新数据库schema
    pnpm prisma:generate        # 重新生成Prisma客户端
    pnpm seed:rag               # 导入RAG知识库的初始数据
    # pnpm seed:rag --fresh     # (可选) 如果需要从头重建知识库
  5. 启动开发服务器: 执行以下命令启动本地开发服务器:
    pnpm dev
    服务器将在 'http://localhost:3000' 运行。首次访问可能需要通过NextAuth配置OAuth提供商(如Google)进行登录。

服务器配置 (针对MCP客户端)

“The Everything Assistant” 的MCP服务器功能由其内部的 'services/proxy-service' 模块提供,主要负责代理和管理大学系统(VTOP)的上下文信息。该MCP服务器是作为整个应用的一部分部署和运行的,它不会作为独立进程运行,因此您的MCP客户端不需要指定其启动命令。相反,您的MCP客户端需要通过HTTP/HTTPS协议连接到该应用暴露的特定API端点。

以下是MCP客户端连接到此服务器时可能需要的概念性配置信息:

  • 服务器名称: 'The Everything Assistant VTOP Proxy MCP Server'
  • 描述: 提供对大学系统(VTOP)的认证代理访问和上下文管理,通过MCP协议向LLM客户端提供资源和工具。
  • 连接协议: JSON-RPC over HTTP/HTTPS。
  • MCP API端点 (URL): 这是一个关键的配置项,需要根据您实际部署的 "The Everything Assistant" 应用的URL来确定。例如,如果您的应用部署在 'https://your-everything-assistant.com',那么MCP API端点可能是 'https://your-everything-assistant.com/api/mcp/vtop'。
    • 提示: 请查阅您部署后 "The Everything Assistant" 的网络配置、路由定义或相关文档,以获取准确的MCP API端点信息。项目代码中出现的 'VTOP_MCP_URL' 环境变量可能指示了该端点的内部或外部路径。
  • 客户端ID (可选): 如果MCP服务器在验证连接时需要客户端ID,您可能需要在MCP客户端中配置 'VTOP_MCP_CLIENT_ID' 或其他必要的认证凭据。

重要提示: MCP客户端通常只需要知道MCP服务器的API端点URL即可进行通信,而不需要知道服务器的内部启动命令。

基本使用方法

  1. 通过Web界面使用: 在浏览器中访问 'http://localhost:3000'(或您的部署URL),即可通过其提供的Web聊天界面与AI助手互动,体验其所有功能,包括对话、工作流和知识查询。
  2. 通过MCP客户端连接: 在您的LLM应用程序或MCP客户端中,配置连接到上述提供的MCP API端点URL。一旦连接建立:
    • 请求资源: 您的LLM可以通过MCP协议发送请求,获取大学系统相关的上下文信息,例如查询课程表、学分记录或考试安排。
    • 调用工具: LLM可以调用 "The Everything Assistant" 注册的工具,执行特定操作,例如提交课程注册请求、查询图书馆藏书或与校园服务系统互动。
    • 获取Prompt模板: LLM可以从MCP服务器请求预定义的Prompt模板,以生成更结构化、定制化的提问或响应内容,优化与用户的交互模式。

信息

分类

生产力应用