Skip to content

zzb181/start_AI2.0

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

AI Jarvis 智能助手

AI Jarvis 是一个功能丰富的智能助手项目,集成了语音识别、文本转语音、视觉识别、网页阅读、天气查询、文件操作等多种功能,为用户提供全方位的智能交互体验。

完整软件安装包链接:start_AI2.0安装包

项目功能概述

AI Jarvis提供以下核心功能模块:

  • 语音交互:语音识别和文本转语音功能,支持中英文交流
  • 视觉识别:屏幕截图识别和图像分析
  • 网页阅读与控制:自动提取并阅读当前网页内容,支持网页操作
  • 天气查询:获取指定城市的天气信息和未来天气预报
  • 文件操作:创建、编辑和打开各类文档,支持格式转换
  • 手势识别:通过手势控制系统功能
  • 窗口管理:获取和激活活动窗口,控制窗口大小和位置
  • 应用启动:快速启动常用应用程序
  • 系统控制:执行Windows系统快捷键操作
  • 多媒体控制:控制音乐播放、截图和录屏等

项目文件结构与功能说明

1. start_AI.py

这是软件的主界面文件,使用PyQt5开发的图形用户界面,提供以下功能:

  • API密钥管理:配置阿里云API和秘塔AI搜索API密钥
  • AI性格设置:自定义AI助手的性格和交互风格
  • 声音设置:选择男声/女声,开启/关闭语音对话
  • 自定义头像:上传和自定义悬浮球头像
  • 服务控制:启动、重启和监控后端服务进程
  • 设置保存:将所有配置保存到相应的配置文件中

界面采用选项卡设计,包含"API密钥管理"和"设置"两个主要标签页,支持高DPI显示。

2. mcp_agent_and_server_start.py

后端服务启动文件,负责初始化和启动AI助手的核心服务,主要功能包括:

  • 环境配置:加载API密钥和系统设置
  • 服务启动:启动MCP服务,提供API接口
  • 模型集成:初始化和配置AI模型
  • 图像编码:实现图像到base64的编码转换
  • 进程管理:确保服务稳定运行

3. server.py

这是项目的核心功能文件,定义了各种FastMCP工具函数和API接口。主要功能模块包括:

  • 天气查询:获取实时天气和未来7天预报
  • 网页功能:打开网页、读取网页内容、控制网页
  • 视觉识别:截图识别、屏幕内容分析
  • 代码处理:生成代码、解释代码、代码优化
  • 文件分析:读取和分析文件内容,生成摘要
  • 文档转换:Markdown转Word、Markdown转Excel
  • 办公软件控制:操作Word、Excel、PPT、PDF等文档
  • 系统操作:打开文件夹、启动应用程序
  • 媒体控制:控制网易云音乐播放
  • 手势控制:启动和停止手势识别
  • 剪贴板操作:获取剪贴板内容
  • Windows快捷键:执行系统快捷键操作
  • 文件夹管理:在活动目录中创建文件夹

4. tts.py / tts2.py

文本转语音功能模块,使用DashScope API实现高质量语音合成:

  • 语音生成:将文本转换为自然语音
  • 声音配置:支持男声/女声选择
  • 语速控制:调整语音播放速度
  • 实时语音输出:立即播放生成的语音

5. asr2.py

语音识别功能模块,基于DashScope API实现语音到文本的转换:

  • 语音识别:将用户语音转换为文本
  • 实时转录:提供回调机制处理识别结果
  • 多语言支持:支持中英文语音识别

6. agent_vision.py

图像识别功能模块,利用AI模型分析图像内容:

  • 图像分析:识别图像中的物体、场景和文本
  • 截图分析:分析屏幕截图内容
  • 视觉理解:提供图像内容的语义理解

7. read_webpage.py

网页内容读取模块,自动提取和处理网页信息:

  • 内容提取:从网页中提取主要文本内容
  • 格式处理:清理和格式化网页文本
  • 阅读准备:为语音阅读准备优化的文本内容

安装说明

1. 克隆或下载项目

git clone <repository-url>
cd AI_jarvis_2_package

2. 安装依赖

项目使用Python编写,需要安装以下依赖包:

pip install -r requirements.txt

对于PyQt5相关依赖,可以单独安装:

pip install -r requirementspyqt5.txt

3. 配置API密钥

项目使用以下API服务:

  • 阿里云DashScope API:用于语音识别和文本转语音功能
  • 秘塔AI搜索API:用于增强搜索功能

需要在根目录创建.env文件并配置API密钥:

ALIBABA_CLOUD_ACCESS_KEY_ID=your_api_key_here
METASO_API_KEY=your_metaso_api_key_here

使用方法

启动程序

方法1:使用启动器(推荐)

直接运行start_AI.py启动图形界面:

python start_AI.py

在界面中可以:

  • 配置API密钥
  • 启动/重启后端服务
  • 管理AI助手的各项设置
  • 自定义AI性格和声音
  • 更换悬浮球头像

方法2:直接启动后端服务

如果不需要图形界面,可以直接运行后端服务:

python mcp_agent_and_server_start.py

详细功能使用说明

1. 天气查询

通过语音或文本指令查询指定城市的天气信息,支持:

  • 获取实时天气状况
  • 查询未来7天天气预报
  • 获取温度、湿度、风向等详细信息

示例指令:"查询北京今天天气"、"上海未来三天天气如何"

2. 网页功能

  • 打开网页:通过URL或关键词打开指定网页
  • 阅读网页:自动提取并阅读当前网页的主要内容
  • 网页控制:对网页进行信息提取、内容转换等操作

示例指令:"打开百度"、"阅读当前网页"、"提取这个网页的关键信息"

3. 视觉识别

  • 截图识别:截取屏幕内容并进行分析
  • 屏幕内容理解:识别屏幕上的文本、图像和UI元素
  • 场景分析:理解屏幕内容的上下文和含义

示例指令:"分析当前屏幕"、"截图并解释这个界面"

4. 代码处理

  • 生成代码:根据需求生成各类编程语言的代码
  • 解释代码:解释代码的功能和工作原理
  • 代码优化:提供代码改进建议

示例指令:"生成一个Python爬虫代码"、"解释这段代码的功能"

5. 文件分析与转换

  • 文件内容分析:读取并分析各类文件内容
  • 格式转换:Markdown转Word、Markdown转Excel等
  • 文档操作:编辑Word、Excel、PPT、PDF等文档

示例指令:"将这个Markdown转换为Word"、"分析这个PDF文件"、"修改Excel表格中的数据"

6. 系统控制

  • 应用管理:启动和控制各类应用程序
  • 窗口操作:控制窗口大小、位置和状态
  • 系统快捷键:执行Windows系统快捷键
  • 手势控制:通过手势识别控制系统

示例指令:"打开微信"、"最小化所有窗口"、"启动手势控制"、"播放下一首音乐"

配置文件

项目使用以下配置文件保存用户设置:

  • ai_setting.txt:AI助手的性格和行为设置
  • tts_sound.txt:文本转语音的声音设置("male"或"female")
  • sound_on.txt:控制语音对话开关状态("True"或"False")
  • .env:存储API密钥和敏感配置信息
  • downloads/圆AI.png:自定义悬浮球头像

支持的语音指令

天气类

  • "查询[城市]天气"
  • "[城市]今天天气如何"
  • "[城市]未来几天天气"

网页类

  • "打开[网站名称]"
  • "在[网站名称]搜索[关键词]"
  • "阅读当前网页"
  • "提取网页关键信息"

应用类

  • "打开微信"
  • "启动网易云音乐"
  • "打开Word"

系统操作类

  • "截图"
  • "分析当前屏幕"
  • "最小化所有窗口"
  • "显示桌面"

文件操作类

  • "创建新文件夹"
  • "将Markdown转换为Word"
  • "读取这个PDF文件"

媒体控制类

  • "播放/暂停"
  • "下一首"
  • "上一首"
  • "音量增大"

手势控制类

  • "启动手势控制"
  • "停止手势控制"

语音唤醒

语音唤醒功能使用Vosk语音识别库,支持以下唤醒词组合:

  • "hello t"
  • "hello c"
  • "hello d"
  • "hello j"
  • "hello h"

可以直接通过喊:"hello jarvis"唤醒(因为这个模型的识别准确率太低了,所以用上面的唤醒词组合来实现唤醒😜)

系统会使用正则表达式进行模糊匹配,识别到正确的唤醒词后会触发相应操作。

系统要求

  • Python 3.7+
  • Windows操作系统(项目包含Windows特定的功能如窗口管理)
  • 麦克风和扬声器(用于语音交互)
  • 网络连接(用于API调用和在线服务)

注意事项

  1. 确保正确配置API密钥,否则语音识别和文本转语音功能将无法使用
  2. 首次运行需要下载语音模型文件(Vosk模型)
  3. 部分功能可能需要管理员权限才能正常工作

语音唤醒模型下载

语音唤醒功能(voice_wake.py)需要Vosk模型支持。请按照以下步骤下载并配置模型:

1. 下载Vosk模型

访问Vosk官方网站下载小型英语模型:

# 创建模型目录(如果不存在)
New-Item -ItemType Directory -Force -Path ".\vosk-model-small-en-us-0.15"

# 下载模型文件
Invoke-WebRequest -Uri "https://alphacephei.com/vosk/models/vosk-model-small-en-us-0.15.zip" -OutFile "vosk-model-small-en-us-0.15.zip"

# 解压模型文件(需要安装7-Zip或使用Windows内置解压工具)
Expand-Archive -Path "vosk-model-small-en-us-0.15.zip" -DestinationPath "."

2. 模型配置

下载完成后,确保模型目录与voice_wake.py在同一文件夹下,或修改voice_wake.py中的模型路径:

# 修改为您的实际模型路径
model = Model('path/to/vosk-model-small-en-us-0.15')

3. 语音唤醒功能

voice_wake.py使用正则表达式识别以"hello"开头的唤醒词,支持模糊匹配。当识别到正确的唤醒词组合时,将触发相应操作。

许可证

本项目仅供个人学习和使用。

About

一款桌面助手,通过语音交互实现操作电脑完成工作。

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages

  • Python 100.0%