@@ -40,12 +40,14 @@ py-xiaozhi 是一个使用 Python 实现的小智语音客户端,旨在通过
4040## 功能特点
4141
4242### 🎯 核心AI功能
43+
4344- ** AI语音交互** :支持语音输入与识别,实现智能人机交互,提供自然流畅的对话体验
4445- ** 视觉多模态** :支持图像识别和处理,提供多模态交互能力,理解图像内容
4546- ** 智能唤醒** :支持多种唤醒词激活交互,免去手动操作的烦恼(可配置开启)
4647- ** 自动对话模式** :实现连续对话体验,提升用户交互流畅度
4748
4849### 🔧 MCP工具生态系统
50+
4951- ** 系统控制工具** :系统状态监控、应用程序管理、音量控制、设备管理等
5052- ** 日程管理工具** :全功能日程管理,支持创建、查询、更新、删除事件,智能分类和提醒
5153- ** 定时任务工具** :倒计时器功能,支持延时执行MCP工具,多任务并行管理
@@ -58,12 +60,14 @@ py-xiaozhi 是一个使用 Python 实现的小智语音客户端,旨在通过
5860- ** 摄像头工具** :图像捕获和AI分析,支持拍照识别和智能问答
5961
6062### 🏠 IoT设备集成
63+
6164- ** 设备管理架构** :基于Thing模式的统一设备管理,支持属性和方法的异步调用
6265- ** 智能家居控制** :支持灯光、音量、温度传感器等设备控制
6366- ** 状态同步机制** :实时状态监控,支持增量更新和并发状态获取
6467- ** 可扩展设计** :模块化设备驱动,易于添加新设备类型
6568
6669### 🎵 高级音频处理
70+
6771- ** 多级音频处理** :支持Opus编解码、实时重采样
6872- ** 语音活动检测** :VAD检测器实现智能打断,支持语音活动实时监控
6973- ** 唤醒词检测** :基于Sherpa-ONNX的离线语音识别,支持多唤醒词和拼音匹配
@@ -72,24 +76,28 @@ py-xiaozhi 是一个使用 Python 实现的小智语音客户端,旨在通过
7276- ** 系统音频录制** :支持系统音频录制,实现音频环回处理
7377
7478### 🖥️ 用户界面
79+
7580- ** 图形化界面** :基于PyQt5的现代GUI,支持小智表情与文本显示,增强视觉体验
7681- ** 命令行模式** :支持CLI运行,适用于嵌入式设备或无GUI环境
7782- ** 系统托盘** :后台运行支持,集成系统托盘功能
7883- ** 全局快捷键** :支持全局快捷键操作,提升使用便捷性
7984- ** 设置界面** :完整的设置管理界面,支持配置自定义
8085
8186### 🔒 安全与稳定
87+
8288- ** 加密音频传输** :支持WSS协议,保障音频数据的安全性,防止信息泄露
8389- ** 设备激活系统** :支持v1/v2双协议激活,自动处理验证码和设备指纹
8490- ** 错误恢复** :完整的错误处理和恢复机制,支持断线重连
8591
8692### 🌐 跨平台支持
93+
8794- ** 系统兼容** :兼容Windows 10+、macOS 10.15+和Linux系统
8895- ** 协议支持** :支持WebSocket和MQTT双协议通信
8996- ** 多环境部署** :支持GUI和CLI双模式,适应不同部署环境
9097- ** 平台优化** :针对不同平台的音频和系统控制优化
9198
9299### 🔧 开发友好
100+
93101- ** 模块化架构** :清晰的代码结构和职责分离,便于二次开发
94102- ** 异步优先** :基于asyncio的事件驱动架构,高性能并发处理
95103- ** 配置管理** :分层配置系统,支持点记法访问和动态更新
@@ -99,18 +107,21 @@ py-xiaozhi 是一个使用 Python 实现的小智语音客户端,旨在通过
99107## 系统要求
100108
101109### 基础要求
110+
102111- ** Python版本** :3.9 - 3.12
103112- ** 操作系统** :Windows 10+、macOS 10.15+、Linux
104113- ** 音频设备** :麦克风和扬声器设备
105114- ** 网络连接** :稳定的互联网连接(用于AI服务和在线功能)
106115
107116### 推荐配置
117+
108118- ** 内存** :至少4GB RAM(推荐8GB+)
109119- ** 处理器** :支持AVX指令集的现代CPU
110120- ** 存储** :至少2GB可用磁盘空间(用于模型文件和缓存)
111121- ** 音频** :支持16kHz采样率的音频设备
112122
113123### 可选功能要求
124+
114125- ** 语音唤醒** :需要下载Sherpa-ONNX语音识别模型
115126- ** 摄像头功能** :需要摄像头设备和OpenCV支持
116127
@@ -121,28 +132,31 @@ py-xiaozhi 是一个使用 Python 实现的小智语音客户端,旨在通过
121132
122133[ 从零开始使用小智客户端(视频教程)] ( https://www.bilibili.com/video/BV1dWQhYEEmq/?vd_source=2065ec11f7577e7107a55bbdc3d12fce )
123134
124-
125135## 技术架构
126136
127137### 核心架构设计
138+
128139- ** 事件驱动架构** : 基于asyncio的异步事件循环,支持高并发处理
129140- ** 分层设计** : 清晰的应用层、协议层、设备层、UI层分离
130141- ** 单例模式** : 核心组件采用单例模式,确保资源统一管理
131142- ** 插件化** : MCP工具系统和IoT设备支持插件化扩展
132143
133144### 关键技术组件
145+
134146- ** 音频处理** : Opus编解码、WebRTC回声消除、实时重采样、系统音频录制
135147- ** 语音识别** : Sherpa-ONNX离线模型、语音活动检测、唤醒词识别
136148- ** 协议通信** : WebSocket/MQTT双协议支持、加密传输、自动重连
137149- ** 配置系统** : 分层配置、点记法访问、动态更新、JSON/YAML支持
138150
139151### 性能优化
152+
140153- ** 异步优先** : 全系统异步架构,避免阻塞操作
141154- ** 内存管理** : 智能缓存、垃圾回收
142155- ** 音频优化** : 5ms低延迟处理、队列管理、流式传输
143156- ** 并发控制** : 任务池管理、信号量控制、线程安全
144157
145158### 安全机制
159+
146160- ** 加密通信** : WSS/TLS加密、证书验证
147161- ** 设备认证** : 双协议激活、设备指纹识别
148162- ** 权限控制** : 工具权限管理、API访问控制
@@ -151,6 +165,7 @@ py-xiaozhi 是一个使用 Python 实现的小智语音客户端,旨在通过
151165## 开发指南
152166
153167### 项目结构
168+
154169```
155170py-xiaozhi/
156171├── main.py # 应用程序主入口(CLI参数处理)
@@ -190,6 +205,7 @@ py-xiaozhi/
190205```
191206
192207### 开发环境设置
208+
193209``` bash
194210# 克隆项目
195211git clone https://github.com/huangjunsen0406/py-xiaozhi.git
@@ -213,18 +229,21 @@ python main.py --protocol mqtt # MQTT协议
213229```
214230
215231### 核心开发模式
232+
216233- ** 异步优先** : 使用` async/await ` 语法,避免阻塞操作
217234- ** 错误处理** : 完整的异常处理和日志记录
218235- ** 配置管理** : 使用` ConfigManager ` 统一配置访问
219236- ** 测试驱动** : 编写单元测试,确保代码质量
220237
221238### 扩展开发
239+
222240- ** 添加MCP工具** : 在` src/mcp/tools/ ` 目录创建新工具模块
223241- ** 添加IoT设备** : 继承` Thing ` 基类实现新设备
224242- ** 添加协议** : 实现` Protocol ` 抽象基类
225243- ** 添加界面** : 扩展` BaseDisplay ` 实现新的UI组件
226244
227245### 状态流转图
246+
228247```
229248 +----------------+
230249 | |
@@ -263,6 +282,7 @@ python main.py --protocol mqtt # MQTT协议
263282[ Rain120] ( https://github.com/Rain120 )
264283[ kejily] ( https://github.com/kejily )
265284[ 电波bilibili君] ( https://space.bilibili.com/119751 )
285+ [ 赛搏智能] ( https://shop115087494.m.taobao.com/?refer=https%3A%2F%2Fm.tb.cn%2F&ut_sk=1.WMelxbgDQWkDAJ1Rq9Pn7DCD_21380790_1757337352472.Copy.shop&suid=0E25E948-651D-46E0-8E89-5C8CB03B4F56&shop_navi=shopindex&sourceType=shop&shareUniqueId=33038752403&un=d22c5ceda82844ab8bd7bab98ffeb263&share_crt_v=1&un_site=0&spm=a2159r.13376460.0.0&sp_tk=dkRKUjRKUWo2ZHY%3D&bc_fl_src=share-1041250486811064-2-1&cpp=1&shareurl=true&short_name=h.SaBKVHytsCKIPNS&bxsign=scdGtSe264e_qkFQBh0rXCkF-Mrb_s6t35EnpVBBU5dsrd-J24c-_rn_PhJiXRk0hg2hjGoAm0L7j2UQg27OIH_6gZkbhKDyLziD2cy4pDf8sC3KmqrF55TXP3USZaPTw_-&app=weixin )
266286
267287### 赞助支持
268288
0 commit comments