可以进行聊天、编写程序、播放歌曲等等的小智语音聊天小助手,在Mac环境下修改源代码,值得拥有。本篇内容主要讲解Mac下环境的搭建,WebSocket的修改。注:环境python3.12.0、ESP-IDF5.4.0、开发板ESP32S3。
目录
- 1.Git安装
- 2.Python安装
- 3.VSCode安装
-
- 3.1 简体中文
- 3.2 ESP-IDF配置
- 4.环境变量配置
- 5.参数配置与编译
-
- 5.1 源代码下载
- 5.2 VSCode加载项目
- 5.3 硬件参数配置
- 6.服务端配置
-
- 6.1 MiniConda安装
- 6.2 服务端源代码下载
- 6.3 添加清华源通道
-
- 6.3 配置API Key
- 7.测试
- 8.参考资料
- 9.声明
1.Git安装
Git
官网下载
安装Mac系统的Git软件。

2.Python安装
Python环境:
国内高速下载
版本要求Python3.10以上,建议选择Python3.12版本。
3.VSCode安装
VSCode
官网下载
可下载通用版,Intel和M系列芯片支持安装。
3.1 简体中文
中文语言包安装,安装简体中文,然后重启VSCode。
3.2 ESP-IDF配置
ESP-IDF插件安装
ESP-IDF下载与配置
选择ADVENCED,自定义选择安装。
选择国内高速下载、版本可以选择5.4.0或5.4.1。
受网络的影响,需要先进行下载,下载过程尽量不要中止,下载包含所需要的ESP环境、编译工具等等。
4.环境变量配置
esp-idf本地下载所在位置
"Command+Shift+.",显示隐藏的文件或文件夹
添加系统环境变量,方便后续命令行操作。
cpp
sudo vim ~/.zshrc
cpp
export IDF_PATH=~/esp/v5.4/esp-idf
export PATH="$PATH:$HOME/.espressif/tools/xtensa-esp-elf/esp-14.2.0_20241119/xtensa-esp-elf/bin"
export PATH="$PATH:$HOME/.espressif/tools/esp32ulp-elf/2.38_20240113/esp32ulp-elf/bin"
export PATH="$PATH:$HOME/.espressif/tools/openocd-esp32/v0.12.0-esp32-20241016/openocd-esp32/bin"
export PATH="$PATH:$HOME/.espressif/python_env/idf5.4_py3.12_env/bin"
配置完成后,执行以下命令生效。
cpp
source ~/.zshrc
检查配置
cpp
echo $IDF_PATH # 输出 ESP-IDF 路径
cpp
xtensa-esp32-elf-gcc --version # 检查编译器是否识别
cpp
python --version # 确认 Python 3.12.0
进入esp-idf目录,第一次操作,执行安装命令:
cpp
./install.sh
然后执行export.sh脚本,显示以下内容表示成功。
cpp
. ./export.sh

5.参数配置与编译
5.1 源代码下载
打开terminal终端执行git命令:
cpp
git clone https://github.com/78/xiaozhi-esp32.git
5.2 VSCode加载项目
打开下载的XIAOZHI-ESP32源代码文件夹,VSCode加载过程中,会提示安装C++扩展选择安装,ESP-IDF加载等,中途不要取消。
5.3 硬件参数配置
idf.py命令操作,进入esp-idf文件夹,再次执行export.sh脚本。
cpp
. ./export.sh
进入源代码目录下
cpp
cd /xxx/xx/xiaozhi-esp32

项目构建
cpp
idf.py build
芯片类型设置
cpp
idf.py set-target esp32s3
菜单配置
cpp
idf.py menuconfig
上下键控制移动,回车键确认
连接类型Connection Type选择WebSocket。
修改websockt地址可以为自己本地的或个人部署的,后面加上/xiaozhi/v1。
Board Type可以根据自己的版型选择。
屏幕分辨率根据自己的OLED尺寸选择。
按"S"保存配置,然后按ESC回到上一级。
唤醒词的修改。
保存后退出。
6.服务端配置
6.1 MiniConda安装
Intel芯片下载安装脚本
cpp
curl -O https://repo.anaconda.com/miniconda/Miniconda3-latest-MacOSX-x86_64.sh
M系列芯片下载安装脚本
cpp
curl -O https://repo.anaconda.com/miniconda/Miniconda3-latest-MacOSX-arm64.sh
找到下载脚本的位置,安装脚本
Intel芯片
cpp
bash Miniconda3-latest-MacOSX-x86------64.sh
或者M系列芯片
cpp
bash Miniconda3-latest-MacOSX-arm64.sh
按提示阅读许可协议,输入 yes 同意。
安装路径(默认在 ~/miniconda3)。
安装完后,执行
cpp
source ~/miniconda3/bin/activate
然后执行初始化
cpp
conda init --all
6.2 服务端源代码下载
下载xiaozhi-esp32-server
github访问
创建虚拟环境,如何之前创建过,通过conda命令移除。
cpp
conda remove -n xiaozhi-esp32-server --all -y
创建虚拟环境,名称为esp32-server。
cpp
conda create -n esp32-server python=3.12 -y
激活虚拟环境
cpp
conda activate esp32-server
退出虚拟环境(非必需)
cpp
conda deactivate
6.3 添加清华源通道
cpp
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main
cpp
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free
cpp
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge
安装libopus和ffmpeg
cpp
conda install libopus -y
cpp
conda install ffmpeg -y
6.3 配置API Key
没有data文件夹需要创建并拷贝config.yaml,通过termial终端命令行修改为.config.yaml
cpp
mv config.yaml .config.yaml
修改配置文件,添加API Key。
model.pt下载可以选择阿里魔塔下载,速度较快。
models文件夹下需要放置model.pt文件。
7.测试
构建项目
cpp
idf.py build
连接硬件esp32s3
烧录
cpp
idf.py flash
python app.py启动websocket,不要关闭终端。
cpp
python app.py

8.参考资料
1\][miniconda配置,创建虚拟环境](https://www.anaconda.com/docs/getting-started/miniconda/install#quickstart-install-instructions) \[3\][小智AI聊天机器人百科全书](https://ccnphfhqs21z.feishu.cn/wiki/F5krwD16viZoF0kKkvDcrZNYnhb) \[2\][小智官方文档服务器端配置](https://github.com/xinnan-tech/xiaozhi-esp32-server/blob/main/docs/Deployment.md#%E6%96%B9%E5%BC%8F%E4%B8%89%E6%9C%AC%E5%9C%B0%E6%BA%90%E7%A0%81%E8%BF%90%E8%A1%8C) ## 9.声明 **本篇文章在小智官方文档的学习下,Mac系统上配置,将踩过的坑进行总结、经验分享。**