项目简介
Jarvis是一个本地运行的AI助手,结合了本地大型语言模型(LLM)和基于Model Context Protocol (MCP) 架构构建的后端服务。它旨在提供一个隐私友好的AI交互环境,并允许AI通过结构化的方式调用外部功能,当前主要体现在通过自然语言指令发送Gmail邮件的能力。
主要功能点
- 本地LLM集成: 利用在本地运行的LLM(如LLaMA 2)进行聊天和自然语言处理,确保数据隐私并支持离线使用。
- Gmail邮件发送(工具): 通过集成的MCP服务器功能,将邮件发送能力注册为LLM可以调用的“工具”,用户可以通过简单的自然语言指令发送电子邮件。
- (即将推出)Google Drive操作: 项目正在开发通过自然语言管理和操作Google Drive文件的能力,这将作为新的资源或工具提供给LLM。
安装步骤
要安装并运行Jarvis,您需要Python和Node.js环境,以及一个Google Cloud Platform账户用于Gmail集成。
- 克隆仓库: 将Jarvis的代码库克隆到您的本地计算机。
- 后端设置:
- 进入项目根目录下的 'backend' 文件夹。
- 创建并激活Python虚拟环境(推荐)。
- 安装所需的Python依赖库,使用提供的 'requirements.txt' 文件。
- 复制 '.env.example' 文件并重命名为 '.env'。编辑此文件,填入您的Google OAuth客户端ID和密钥等配置信息。
- 根据项目说明下载并配置本地LLM模型文件。
- 前端设置:
- 进入项目根目录下的 'frontend' 文件夹。
- 使用npm或yarn安装前端依赖库。
- Google OAuth凭据: 按照Google Cloud Platform的指引,为您的项目启用Gmail API,并下载 'credentials.json' 文件。将其放置在后端代码可以访问的位置(通常是 'backend' 目录或其子目录中,具体位置请参考项目代码中的 'auth_service.py' 文件,其中指定了查找 'credentials.json' 的路径)。运行认证流程以生成 'token.json' 文件(这通常在首次运行时或通过提供的认证接口进行)。
服务器配置(适用于MCP客户端)
Jarvis项目中包含了一个MCP服务器实现,用于提供Gmail邮件发送能力。要让支持MCP协议的AI客户端应用(如某些高级LLM客户端或AI开发框架)使用这项功能,您需要配置该客户端连接到Jarvis的MCP服务器进程。
MCP客户端配置通常包含服务器的以下信息(通常以JSON格式提供):
- 名称 ('name'): 用于标识MCP服务器的名称,Jarvis Gmail MCP服务器的名称是 '"Gmail Service"'。
- 命令 ('command'): 用于启动MCP服务器进程的命令路径。这通常是您的Python解释器路径加上用于启动Gmail MCP服务的脚本路径(例如,'/path/to/your/python /path/to/jarvis/backend/app/services/gmail_service.py')。
- 参数 ('args'): 启动命令可能需要的额外参数列表,本项目中默认启动通常不需要额外参数。
- 传输协议 ('transport'): 客户端与服务器通信使用的协议,本项目中的MCP服务器默认使用 '"stdio"'(标准输入/输出)进行通信。
请根据您的本地环境调整 'command' 路径,并在您的MCP客户端配置中添加或编辑相应的服务器条目,以便客户端可以发现并调用Jarvis提供的Gmail发送工具。
基本使用方法
- 分别启动后端服务(通常是一个FastAPI应用)和前端开发服务器(具体启动命令请参考仓库README)。
- 在Web浏览器中访问前端界面。
- 在聊天输入框中输入您的指令。对于发送邮件,使用类似以下格式的自然语言命令: 'send email to [email protected] "会议主题" "你好,请参加明天的会议。"'
信息
分类
AI与计算