首次推出xiaozhi-esp32-server-mini、xiaozhi-esp32-server、xiaozhi-esp32-webui;

This commit is contained in:
waxgourd
2025-04-24 20:01:52 +08:00
parent 3d99d2296d
commit 065e754376
26 changed files with 907 additions and 0 deletions

View File

@@ -0,0 +1,35 @@
# 更新日志
## 0.3.4
- 版本升级
## 1.0.3
- 添加 ASR语音识别配置选项到 Home Assistant 界面
- 支持选择不同的语音识别模型FunASR、SherpaASR、DoubaoASR、TencentASR
- 为在线语音识别服务添加 API 凭据配置
- 修复音乐目录递归软链接的问题
- 优化脚本代码结构,删除冗余注释,提高可读性
- 修复唤醒词配置保存时出现的空行累积问题
## 1.0.2
- 添加 LLM 模型名称配置选项,允许用户自定义模型名称
- 修复翻译文件格式问题
- 优化配置文件更新逻辑,避免文件格式损坏
- 改进文件管理方式,使用软链接减少存储空间占用
## 1.0.1
- 修复 Home Assistant 加载项配置同步功能
- 添加自动将加载项配置应用到.config.yaml 的功能
- 完善配置同步机制,支持所有加载项配置参数
- 更新文档,详细说明配置方法和故障排除
## 1.0.0
- 首次发布
- 支持小智 ESP32 语音识别服务
- 自动下载模型和配置
- 使用 S6 Overlay 进行服务管理

View File

@@ -0,0 +1,52 @@
# 小智 AI Server 极速版
本加载项提供虾哥小智AI音箱的HA本地服务器功能让大家简单玩转AI语音设备控制。
## 安装
1. 安装"小智 AI Server 极速版"加载项
3. 配置加载项
## 使用说明(快速入门)
使用之前先做如下的准备:
1. 更换成小智AI音箱HA专用固件
1烧录专用固件固件烧录地址https://xzfw.wghaos.com/
2配置网络
2. 火山引擎
1注册并认证火山引擎https://www.volcengine.com/
2LLM大语言模型服务模型名称及API密钥的获取
- 打开以下网址开通的服务搜索Doubao-pro-32k开通它
开通改地址https://console.volcengine.com/ark/region:ark+cn-beijing/openManagement?LLM=%7B%7D&OpenTokenDrawer=false
- 免费额度500000token
- 开通后进入这里获取密钥https://console.volcengine.com/ark/region:ark+cn-beijing/apiKey?apikey=%7B%7D
3TTS文本转语音和语音识别模型ASR的语音识别APPID和语音合成令牌的获取
TTS和ASR可以使用同一个。
- 在后面链接申请相关Key等信息https://console.volcengine.com/speech/app
- 填写相应的appid和access_token
- 语音合成音色,可以填"BV001_streaming"
3. 填写homeassistant令牌
点击左下角的用户头像,选择**安全**,向下滚动到长期访问令牌部分,点击创建令牌,生成后复制并保存(关闭后无法再次查看)
4. 启动体验
### 支持
详细错做说明请查看www.wghaos.com或者https://bbs.hassbian.com查看

View File

@@ -0,0 +1,23 @@
# 冬瓜甄选addons小智 AI Server 极速版
小智 AI Server是home assistant中专用的小智AI服务器免搭建让小智快速在HA中使用。
## 关于
此系列共有三个版本旨在满足不同需求的用户快速玩转小智AI
- 小智 AI Server 极速版在addons配置进行优化介绍以豆包平台为主可以在10分钟内建好小智AI控制。
- 小智 AI Server 简化版:原汁原味官方简化版,可方便对照网上教程调整配置。
- 小智 AI OTA管理: 官方的全模块版主要是OTA管理可研究通讯方式等。
另提供小智AI的固件在线刷机支持免激活版。
链接https://xzfw.wghaos.com
## 支持与反馈
本项目基于[xinnan-tech/xiaozhi-esp32-server](https://github.com/xinnan-tech/xiaozhi-esp32-server) 开发。

View File

@@ -0,0 +1,61 @@
name: "小智 AI Server 极速版"
version: "0.3.4"
slug: "xiaozhi_esp32_server_mini"
description: "小智 AI Server 极速版 - 提供语音识别、对话和控制功能支持与ESP32设备通信"
url: "https://gitcode.com/waxgourd/addons"
arch:
- aarch64
- amd64
startup: application
boot: manual
translations: true
ports:
8000/tcp: 8000
ports_description:
8000/tcp: "WebSocket服务端口"
map:
- addon_config:rw
host_network: false
init: false
watchdog: "tcp://[HOST]:[PORT:8000]"
journald: true
options:
plugins.home_assistant.base_url: http://homeassistant.local:8123
plugins.home_assistant.api_key: ""
plugins.home_assistant.devices: [ ]
llm.type: DoubaoLLM
model_name: "doubao-1-5-pro-32k-250115"
llm.api_key: ""
tts.type: DoubaoTTS
tts.appid: ""
tts.access_token: ""
tts.voice: ""
asr.type: DoubaoASR
asr.appid: ""
asr.access_token: ""
asr.secret_key: ""
plugins.get_weather.api_key: a861d0d5e7bf4ee1a83d9a9e4f96d4da
plugins.get_weather.default_location: 广州
log_level: INFO
timezone: Asia/Shanghai
schema:
plugins.home_assistant.base_url: url
plugins.home_assistant.api_key: str
plugins.home_assistant.devices:
- str
llm.type: list(DoubaoLLM|ChatGLMLLM|DeepSeekLLM)
model_name: str
llm.api_key: str
tts.type: list(DoubaoTTS|EdgeTTS)
tts.appid: str?
tts.access_token: str?
tts.voice: str?
asr.type: list(DoubaoASR|TencentASR|FunASR)
asr.appid: str?
asr.access_token: str?
asr.secret_key: str?
plugins.get_weather.api_key: str
plugins.get_weather.default_location: str
log_level: list(INFO|DEBUG)
timezone: str
image: r.hassbus.com/wghaos/xiaozhi-esp32-server-mini

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 33 KiB

View File

@@ -0,0 +1,59 @@
---
configuration:
timezone:
name: "Timezone"
description: "Set the server timezone"
log_level:
name: "Log Level"
description: "Set the verbosity of logs"
llm.type:
name: "LLM Type"
description: "Choose which Large Language Model service to use"
model_name:
name: "LLM Model Name"
description: "Specific model name for the LLM"
llm.api_key:
name: "LLM API Key"
description: "API key for the selected Large Language Model service"
tts.type:
name: "TTS Type"
description: "Choose which Text-to-Speech service to use"
tts.appid:
name: "TTS AppID"
description: "Application ID for text-to-speech service (required for DoubaoTTS only)"
tts.access_token:
name: "TTS Access Token"
description: "Access token for text-to-speech service (required for DoubaoTTS only)"
tts.voice:
name: "TTS Voice"
description: "Voice setting for text-to-speech service (optional, defaults to BV001_streaming)"
asr.type:
name: "Speech Recognition Model"
description: "Choose which speech recognition model to use, different models support different languages"
asr.appid:
name: "Speech Recognition AppID"
description: "Application ID for speech recognition service (required for online services only)"
asr.access_token:
name: "Speech Recognition Token/Secret ID"
description: "Access token or secret ID for speech recognition service (required for online services only)"
asr.secret_key:
name: "Speech Recognition Secret Key"
description: "Secret key for speech recognition service (required for Tencent ASR only)"
plugins.get_weather.api_key:
name: "Weather API Key"
description: "QWeather API key"
plugins.get_weather.default_location:
name: "Default Location"
description: "Default location for weather queries"
plugins.home_assistant.base_url:
name: "Home Assistant URL"
description: "URL of your Home Assistant instance"
plugins.home_assistant.api_key:
name: "Home Assistant Token"
description: "Long-lived access token for Home Assistant"
plugins.home_assistant.devices:
name: "Home Assistant Devices"
description: "List of Home Assistant devices to control"
network:
8000/tcp: "WebSocket server port for ESP32 device communication"

View File

@@ -0,0 +1,59 @@
---
configuration:
timezone:
name: "时区"
description: "设置服务器时区"
log_level:
name: "日志级别"
description: "设置日志详细程度"
llm.type:
name: "大语言模型LLM"
description: "选择使用哪个大语言模型LLM DoubaoLLM豆包大语言模型 ChatGLMLLM智谱 AI 大语言模型, DeepSeekLLMDeepSeek 大语言模型"
model_name:
name: "LLM模型名称"
description: "大语言模型的具体模型名称"
llm.api_key:
name: "LLM API密钥"
description: "所选大语言模型服务的API密钥"
tts.type:
name: "文本转语音TTS"
description: "选择使用哪个文本转语音服务TTSDoubaoTTS豆包/火山引擎 文本转语音EdgeTTS微软 Edge 浏览器 文本转语音"
tts.appid:
name: "语音合成AppID"
description: "语音合成服务的应用ID仅DoubaoTTS需要"
tts.access_token:
name: "语音合成访问令牌"
description: "语音合成服务的访问令牌仅DoubaoTTS需要"
tts.voice:
name: "语音合成音色"
description: "语音合成服务的音色设置可选默认为BV001_streaming"
asr.type:
name: "语音识别模型ASR"
description: "选择使用哪种语音识别模型不同模型支持不同语言DoubaoASR豆包语音识别TencentASR腾讯云语音识别FunASRFun语音识别"
asr.appid:
name: "语音识别AppID"
description: "语音识别服务的应用ID仅在线服务需要"
asr.access_token:
name: "语音识别Token/Secret ID"
description: "语音识别服务的访问令牌或密钥ID仅在线服务需要"
asr.secret_key:
name: "语音识别Secret Key"
description: "语音识别服务的密钥仅腾讯ASR需要"
plugins.get_weather.api_key:
name: "天气API密钥"
description: "和风天气API密钥"
plugins.get_weather.default_location:
name: "默认位置"
description: "天气查询的默认位置"
plugins.home_assistant.base_url:
name: "Home Assistant地址"
description: "您的Home Assistant实例地址"
plugins.home_assistant.api_key:
name: "Home Assistant令牌"
description: "Home Assistant的长期访问令牌"
plugins.home_assistant.devices:
name: "Home Assistant设备"
description: "要控制的Home Assistant设备列表"
network:
8000/tcp: "ESP32设备通信的WebSocket服务器端口"