Mac下小智AI本地环境部署

可以进行聊天、编写程序、播放歌曲等等的小智语音聊天小助手,在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.参考资料

1miniconda配置,创建虚拟环境

3小智AI聊天机器人百科全书

2小智官方文档服务器端配置

9.声明

本篇文章在小智官方文档的学习下,Mac系统上配置,将踩过的坑进行总结、经验分享。

相关推荐
TaoMetrix7 小时前
AI Micro:TaoMetrix 已生产的 Codex 兼容型智能控制器
人工智能
遇码7 小时前
侧边栏一开,AI 画的东西就被挡住了:给白板画布加「真实可见区」计算和相机补偿
人工智能·ai·rust
Sammyyyyy7 小时前
Claude Haiku 5.5 与 GPT-6.1 Sol 选型拆解:20 倍价差不等于 20 倍总成本,附网关分流思路
人工智能·gpt
LaughingZhu7 小时前
Product Hunt 热榜 2026-10-10:Busabase、Zernio、Playground by Google Labs
人工智能·深度学习·神经网络·搜索引擎·百度
JWASX7 小时前
【agent 开发】Agent 智能体
大数据·人工智能·python
智购科技无人售货机工厂店7 小时前
玻璃瓶饮料破损率突然上升,排查发现是取货口缓冲垫老化了~YH
java·开发语言·人工智能·python·eclipse
骇客野人7 小时前
业务系统接入AI方案及全流程实施过程
人工智能
一木 之林7 小时前
Dify学习笔记 00 · 总览:56集四模块学习地图(从低代码平台到检索底座)
人工智能·计算机视觉·langchain
镜象科技7 小时前
中小学AI心理健康解决方案服务商怎么选?2026年选型参考
android·java·人工智能