Skip to main content

xiaozhi-esp32-server

前言​

Github上优秀的项目实在太多了,让人眼花缭乱,每天都有很多高星项目,恨不得全部都塞进自己的大脑里,在AI时代会有一种感觉:学不完,根本学不完。

而我选择记录这个是因为我在抖音评论中看过的一句话,印象特别深刻: 挑对自己强相关的去学,不太相关的保持理解就好。

真的,这句话让我感觉醍醐灌顶,感觉之前的迷茫感在这一瞬间烟消云散了。

快速启动​

我选择的是智控台版本的全模块安装,通过Docker启动,如果不知道Docker怎么安装可以看我的另外一篇笔记:

Docker 安装指南

克隆项目​

git clone https://github.com/litterbear520/xiaozhi-esp32-server.git

创建配置目录​

在项目根目录下直接输入命令创建配置目录,并复制.yaml文件到目录下:

mkdir -p main/xiaozhi-server/data
cp main/xiaozhi-server/config_from_api.yaml xiaozhi-server/data/.config.yaml

构建镜像​

cd main/xiaozhi-server
docker compose -f ./docker-compose_all.yml up -d

如果能够访问http://localhost:8002/xiaozhi/doc.html,说明构建成功了。

必要配置​

1.访问智控台 http://127.0.0.1:8002 注册第一个用户(超级管理员)

2.配置server.secret:

  • 智控台 → 参数管理 → 找到server.secret,复制参数值
  • 编辑xiaozhi-server/data/.config.yaml:
manager-api:
url: http://xiaozhi-esp32-server-web:8002/xiaozhi
secret: 你复制的值
注意

注意如果是docker部署,url应该替换成上面的配置,而不是默认复制的url

3.配置模型密钥: 智控台 → 模型配置 → 大语言模型 → 修改智谱AI的API密钥

ChatGLM配置说明:

如果你选择了全API方案,但智控台里的ASR配置还是 FunASR(本地),需要去智控台改成在线API:

  • 登录智控台 http://127.0.0.1:8002
  • 模型配置 → 语音识别(ASR)
  • 把 FunASR(本地)改成在线API
  • 保存并重启Server:
docker restart xiaozhi-esp32-server

下载本地ASR模型(可选)​

从阿里魔搭下载model.pt文件并放到models/SenseVoiceSmall/目录:

查看状态日志​

查看实时日志:

docker logs -f xiaozhi-esp32-server

配置测试页面地址​

查看自己的ip地址

ifconfig | grep "inet " | grep -v 127.0.0.1 # Mac
ipconfig # window

测试页面的ota填http://你的IP地址/xiaozhi/ota/

去智控台 → 参数管理 → 找到server.websocket,改成:ws://你的IP:8000/xiaozhi/v1/

然后重启服务即可:

docker restart xiaozhi-esp32-server

访问测试页​

先进入这个目录: main\xiaozhi-server\test

python3 -m http.server 8080

访问http://localhost:8080/test_page.html进入测试页面。

首次连接需要绑定设备,复制测试页面的绑定码,到智控台添加智能体并点击六位验证码绑定进行验证。

快速查询​

测试页面:http://localhost:8080/test_page.html

智控台:http://你的IP地址:8002

ota:http://你的IP地址:8002/xiaozhi/ota/

WebSocket连接地址:ws://你的IP地址:8000/xiaozhi/v1/

如果是本地的用localhost或者127.0.0.1替换IP地址即可。