A Python-based Xiaozhi AI for users who want the full Xiaozhi experience without owning specialized hardware.
# Add to your Claude Code skills
git clone https://github.com/huangjunsen0406/py-xiaozhi简体中文 | English
py-xiaozhi 是一个使用 Python 实现的小智语音客户端,旨在通过代码学习和在没有硬件条件下体验 AI 小智的语音功能。 本仓库是基于xiaozhi-esp32移植

No comments yet. Be the first to share your thoughts!
py-xiaozhi/
├── main.py # 应用程序主入口(CLI参数处理)
├── src/
│ ├── application.py # 应用程序核心逻辑
│ ├── audio_codecs/ # 音频编解码器
│ │ ├── aec_processor.py # 音频回声消除处理器
│ │ ├── audio_codec.py # 音频编解码基础类
│ │ └── system_audio_recorder.py # 系统音频录制器
│ ├── audio_processing/ # 音频处理模块
│ │ ├── vad_detector.py # 语音活动检测
│ │ └── wake_word_detect.py # 唤醒词检测
│ ├── core/ # 核心组件
│ │ ├── ota.py # 在线更新模块
│ │ └── system_initializer.py # 系统初始化器
│ ├── display/ # 显示界面抽象层
│ ├── iot/ # IoT设备管理
│ │ ├── thing.py # 设备基类
│ │ ├── thing_manager.py # 设备管理器
│ │ └── things/ # 具体设备实现
│ ├── mcp/ # MCP工具系统
│ │ ├── mcp_server.py # MCP服务器
│ │ └── tools/ # 各种工具模块
│ ├── protocols/ # 通信协议
│ ├── utils/ # 工具函数
│ └── views/ # UI视图组件
├── libs/ # 第三方原生库
│ ├── libopus/ # Opus音频编解码库
│ ├── webrtc_apm/ # WebRTC音频处理模块
│ └── SystemAudioRecorder/ # 系统音频录制工具
├── config/ # 配置文件目录
├── models/ # 语音模型文件
├── assets/ # 静态资源文件
├── scripts/ # 辅助脚本
├── requirements.txt # Python依赖包列表
└── build.json # 构建配置文件
# 克隆项目
git clone https://github.com/huangjunsen0406/py-xiaozhi.git
cd py-xiaozhi
# 安装依赖
pip install -r requirements.txt
# 代码格式化
./format_code.sh
# 运行程序 - GUI模式(默认)
python main.py
# 运行程序 - CLI模式
python main.py --mode cli
# 指定通信协议
python main.py --protocol websocket # WebSocket(默认)
python main.py --protocol mqtt # MQTT协议
async/await语法,避免阻塞操作ConfigManager统一配置访问src/mcp/tools/目录创建新工具模块Thing基类实现新设备Protocol抽象基类BaseDisplay实现新的UI组件 +----------------+
| |
v |
+------+ 唤醒词/按钮 +------------+ | +------------+
| IDLE | -----------> | CONNECTING | --+-> | LISTENING |
+------+ +------------+ +------------+
^ |
| | 语音识别完成
| +------------+ v
+--------- | SPEAKING | <-----------------+
完成播放 +------------+
欢迎提交问题报告和代码贡献。请确保遵循以下规范:
排名不分前后