mirror of
https://github.com/xinnan-tech/xiaozhi-esp32-server.git
synced 2026-07-22 23:23:55 +08:00
* function call功能完善,增加天气查询,支持插件式扩展 * 增加角色切换功能,通过切换system提示词,修改角色认知 * 增加插件管理系统,可以通过语音加载和卸载插件 * docs: 添加命令操作 (#329) * docs: 添加命令操作 * feat: 添加 docker-setup.sh 脚本以简化服务端部署 - 新增 docker-setup.sh 脚本,自动创建目录结构、下载语音识别模型和配置文件,并检查文件完整性。 - 更新 Deployment.md 文档,提供一键执行脚本的说明和使用示例。 * docs: 更新 Deployment.md,添加环境访问 GitHub 的注意事项 * refactor: 更新 docker-setup.sh 脚本以支持多操作系统下载命令 - 修改脚本以检测操作系统类型,并根据不同系统选择合适的下载命令(curl 或 wget)。 - 优化错误处理,确保在下载失败时提供清晰的提示信息。 - 更新 Deployment.md 文档,调整懒人脚本的使用说明,增加手动部署的步骤。 * Update docker-setup.sh * Update docker-setup.sh --------- Co-authored-by: 欣南科技 <huangrongzhuang@xin-nan.com> * update:优化插件加载的配置提示 * update:增加自动安装脚本的操作说明 * update:优化插件配置,去掉旧版本的时间设定 --------- Co-authored-by: 玄凤科技 <eric230308@gmail.com> Co-authored-by: TinsFox <fox@tinsfox.com> Co-authored-by: hrz <1710360675@qq.com>
106 lines
3.9 KiB
Bash
Executable File
106 lines
3.9 KiB
Bash
Executable File
#!/bin/sh
|
|
# 本文件是用于一键自动下载本项目所需文件,自动创建好目录
|
|
# 所需条件(否则无法使用):
|
|
# 1、请确保你的环境可以正常访问 GitHub 否则无法下载脚本
|
|
#
|
|
# 检测操作系统类型
|
|
case "$(uname -s)" in
|
|
Linux*) OS=Linux;;
|
|
Darwin*) OS=Mac;;
|
|
CYGWIN*) OS=Windows;;
|
|
MINGW*) OS=Windows;;
|
|
MSYS*) OS=Windows;;
|
|
*) OS=UNKNOWN;;
|
|
esac
|
|
|
|
# 设置颜色(Windows CMD 不支持,但不影响使用)
|
|
if [ "$OS" = "Windows" ]; then
|
|
GREEN=""
|
|
RED=""
|
|
NC=""
|
|
else
|
|
GREEN='\033[0;32m'
|
|
RED='\033[0;31m'
|
|
NC='\033[0m'
|
|
fi
|
|
|
|
echo "${GREEN}开始安装小智服务端...${NC}"
|
|
|
|
# 创建必要的目录
|
|
echo "创建目录结构..."
|
|
mkdir -p xiaozhi-server/data xiaozhi-server/models/SenseVoiceSmall
|
|
cd xiaozhi-server || exit
|
|
|
|
# 根据操作系统选择下载命令
|
|
if [ "$OS" = "Windows" ]; then
|
|
DOWNLOAD_CMD="curl -L -o"
|
|
if ! command -v curl >/dev/null 2>&1; then
|
|
DOWNLOAD_CMD="powershell -Command Invoke-WebRequest -Uri"
|
|
DOWNLOAD_CMD_SUFFIX="-OutFile"
|
|
fi
|
|
else
|
|
if command -v curl >/dev/null 2>&1; then
|
|
DOWNLOAD_CMD="curl -L -o"
|
|
elif command -v wget >/dev/null 2>&1; then
|
|
DOWNLOAD_CMD="wget -O"
|
|
else
|
|
echo "${RED}错误: 需要安装 curl 或 wget${NC}"
|
|
exit 1
|
|
fi
|
|
fi
|
|
|
|
# 下载语音识别模型
|
|
echo "下载语音识别模型..."
|
|
if [ "$DOWNLOAD_CMD" = "powershell -Command Invoke-WebRequest -Uri" ]; then
|
|
$DOWNLOAD_CMD "https://modelscope.cn/models/iic/SenseVoiceSmall/resolve/master/model.pt" $DOWNLOAD_CMD_SUFFIX "models/SenseVoiceSmall/model.pt"
|
|
else
|
|
$DOWNLOAD_CMD "models/SenseVoiceSmall/model.pt" "https://modelscope.cn/models/iic/SenseVoiceSmall/resolve/master/model.pt"
|
|
fi
|
|
|
|
if [ $? -ne 0 ]; then
|
|
echo "${RED}模型下载失败。请手动从以下地址下载:${NC}"
|
|
echo "1. https://modelscope.cn/models/iic/SenseVoiceSmall/resolve/master/model.pt"
|
|
echo "2. 百度网盘: https://pan.baidu.com/share/init?surl=QlgM58FHhYv1tFnUT_A8Sg (提取码: qvna)"
|
|
echo "下载后请将文件放置在 models/SenseVoiceSmall/model.pt"
|
|
fi
|
|
|
|
# 下载配置文件
|
|
echo "下载配置文件..."
|
|
if [ "$DOWNLOAD_CMD" = "powershell -Command Invoke-WebRequest -Uri" ]; then
|
|
$DOWNLOAD_CMD "https://raw.githubusercontent.com/xinnan-tech/xiaozhi-esp32-server/main/main/xiaozhi-server/docker-compose.yml" $DOWNLOAD_CMD_SUFFIX "docker-compose.yml"
|
|
$DOWNLOAD_CMD "https://raw.githubusercontent.com/xinnan-tech/xiaozhi-esp32-server/main/main/xiaozhi-server/config.yaml" $DOWNLOAD_CMD_SUFFIX "data/.config.yaml"
|
|
else
|
|
$DOWNLOAD_CMD "docker-compose.yml" "https://raw.githubusercontent.com/xinnan-tech/xiaozhi-esp32-server/main/main/xiaozhi-server/docker-compose.yml"
|
|
$DOWNLOAD_CMD "data/.config.yaml" "https://raw.githubusercontent.com/xinnan-tech/xiaozhi-esp32-server/main/main/xiaozhi-server/config.yaml"
|
|
fi
|
|
|
|
# 检查文件是否存在
|
|
echo "检查文件完整性..."
|
|
FILES_TO_CHECK="docker-compose.yml data/.config.yaml models/SenseVoiceSmall/model.pt"
|
|
ALL_FILES_EXIST=true
|
|
|
|
for FILE in $FILES_TO_CHECK; do
|
|
if [ ! -f "$FILE" ]; then
|
|
echo "${RED}错误: $FILE 不存在${NC}"
|
|
ALL_FILES_EXIST=false
|
|
fi
|
|
done
|
|
|
|
if [ "$ALL_FILES_EXIST" = false ]; then
|
|
echo "${RED}某些文件下载失败,请检查上述错误信息并手动下载缺失的文件。${NC}"
|
|
exit 1
|
|
fi
|
|
|
|
echo "${GREEN}文件下载完成!${NC}"
|
|
echo "请编辑 data/.config.yaml 文件配置你的API密钥。"
|
|
echo "配置完成后,运行以下命令启动服务:"
|
|
echo "${GREEN}docker-compose up -d${NC}"
|
|
echo "查看日志请运行:"
|
|
echo "${GREEN}docker logs -f xiaozhi-esp32-server${NC}"
|
|
|
|
# 提示用户编辑配置文件
|
|
echo "\n${RED}重要提示:${NC}"
|
|
echo "1. 请确保编辑 data/.config.yaml 文件,配置必要的API密钥"
|
|
echo "2. 特别是 ChatGLM 和 mem0ai 的密钥必须配置"
|
|
echo "3. 配置完成后再启动 docker 服务"
|