新功能: - 创建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助手体验!
111 lines
3.8 KiB
Bash
Executable File
111 lines
3.8 KiB
Bash
Executable File
#!/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 |