gongxiangp2/yedir/deploy-docker.sh
chenpei d0dc94e36d feat: 将弹幕功能替换为AI聊天助手
新功能:
- 创建AI聊天助手组件(AIChatWidget)
- 支持文字+图片多模态对话
- 集成Gemini AI API
- 支持图片编辑和内容生成
- 实时对话历史管理
- 优雅的UI设计,支持黑夜模式

技术实现:
- 后端API代理Gemini API(/api/ai-chat)
- 支持最多5张图片上传
- 流式响应处理
- 对话历史管理
- Base64图片处理

配置:
- 在.env中添加Gemini API配置
- GEMINI_API_KEY
- GEMINI_API_BASE_URL
- GEMINI_MODEL

替换原弹幕功能,提供更强大的AI助手体验!
2025-10-27 17:45:37 +08:00

111 lines
3.8 KiB
Bash
Executable File
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

#!/bin/bash
# 部署前检查必要文件
echo "=========================================="
echo "部署前检查 - 确保所有必要文件存在"
echo "=========================================="
# 检查AI分析器路由文件
if [ -f "server/routes/api/ai-analyzer.js" ]; then
echo "✅ AI分析器路由文件存在"
else
echo "❌ 错误: AI分析器路由文件不存在! 这将导致Docker部署后AI分析功能失效。"
read -p "是否继续部署? (y/n) " -n 1 -r
echo
if [[ ! $REPLY =~ ^[Yy]$ ]]; then
echo "部署已取消"
exit 1
fi
fi
# 检查云存储路由文件
if [ -f "routes/cloud-storage.js" ]; then
echo "✅ 云存储路由文件存在"
else
echo "❌ 错误: 云存储路由文件不存在! 这将导致Docker部署后云存储功能失效。"
read -p "是否继续部署? (y/n) " -n 1 -r
echo
if [[ ! $REPLY =~ ^[Yy]$ ]]; then
echo "部署已取消"
exit 1
fi
fi
# 检查S3配置文件
if [ -f "routes/s3-config.js" ]; then
echo "✅ S3配置文件存在"
else
echo "❌ 错误: S3配置文件不存在! 这将导致Docker部署后云存储功能失效。"
read -p "是否继续部署? (y/n) " -n 1 -r
echo
if [[ ! $REPLY =~ ^[Yy]$ ]]; then
echo "部署已取消"
exit 1
fi
fi
# 检查.env文件中是否包含GENERATE_BG_API_KEY
if [ -f ".env" ]; then
if grep -q "GENERATE_BG_API_KEY" .env; then
echo "✅ .env文件中已包含GENERATE_BG_API_KEY"
else
echo "⚠️ 警告: .env文件中缺少GENERATE_BG_API_KEY配置,这将导致AI分析功能不可用"
echo " 请确认环境变量已在其他地方设置,或现在添加到.env文件中"
fi
# 检查云存储S3配置
if grep -q "MINIO_ACCESS_KEY" .env && grep -q "MINIO_SECRET_KEY" .env; then
echo "✅ .env文件中已包含S3存储配置"
else
echo "⚠️ 警告: .env文件中缺少S3存储配置,这将导致云存储功能不可用"
echo " 必需配置: MINIO_ACCESS_KEY, MINIO_SECRET_KEY, MINIO_ENDPOINT, MINIO_BUCKET_NAME"
echo " 详细配置请参考: env-cloud-storage-config.md"
fi
else
echo "⚠️ 警告: .env文件不存在,将使用环境变量或默认值"
echo " 请确保Docker环境中已设置必要的S3配置变量"
fi
echo "=========================================="
# 停止并删除现有容器
echo "停止并移除现有容器..."
docker-compose down
# 构建新镜像
echo "构建Docker镜像..."
docker-compose build
# 启动服务
echo "启动Docker服务..."
docker-compose up -d
# 检查容器状态
echo "检查容器状态..."
docker-compose ps
echo "部署完成! 应用现在可以通过 http://localhost:3231 访问"
echo ""
echo "=========================================="
echo "新功能说明 - 用户数据自动云端保存"
echo "=========================================="
echo "✅ 用户上传数据并拆词分析后,会自动保存为云端模板"
echo "✅ 重复品类名时会提示用户是否更新替换"
echo "✅ 模板列表会显示数据来源(官方模板 vs 用户共享)"
echo "✅ 支持自动分词结果的真实分类保存"
echo ""
echo "功能验证步骤:"
echo "1. 上传关键词Excel文件并设置品类大词"
echo "2. 点击'开始拆词'完成分析"
echo "3. 查看右上角是否出现'数据已自动保存为云端模板'提示"
echo "4. 进入云数据模板区域验证新模板是否出现"
echo "=========================================="
# 检查是否需要手动复制AI分析器文件
if [ ! -f "server/routes/api/ai-analyzer.js" ]; then
echo ""
echo "⚠️ 提示: 由于AI分析器文件在部署前不存在,您可能需要手动将其复制到容器中:"
echo "docker cp server/routes/api/ai-analyzer.js xiaogongju:/app/server/routes/api/"
echo "docker restart xiaogongju"
fi