新功能: - 创建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助手体验!
288 lines
5.0 KiB
Markdown
Executable File
288 lines
5.0 KiB
Markdown
Executable File
# 环境配置与部署指南
|
||
|
||
本文档提供图片背景处理工具的环境配置和部署步骤。
|
||
|
||
## 开发环境配置
|
||
|
||
### 系统要求
|
||
|
||
- Node.js v12.0.0 或更高版本
|
||
- MongoDB v4.0.0 或更高版本
|
||
- MinIO 对象存储服务
|
||
- Git
|
||
|
||
### 步骤一:克隆代码库
|
||
|
||
```bash
|
||
git clone https://github.com/your-username/xiaogongju.git
|
||
cd xiaogongju
|
||
```
|
||
|
||
### 步骤二:安装依赖
|
||
|
||
```bash
|
||
npm install
|
||
```
|
||
|
||
### 步骤三:配置环境变量
|
||
|
||
1. 复制环境变量示例文件:
|
||
|
||
```bash
|
||
cp .env.example .env
|
||
```
|
||
|
||
2. 编辑 `.env` 文件,配置以下必要参数:
|
||
|
||
```
|
||
# 服务器配置
|
||
PORT=3000
|
||
NODE_ENV=development
|
||
|
||
# 用户认证相关配置
|
||
JWT_SECRET=your_jwt_secret_key_here
|
||
|
||
# 数据库配置
|
||
MONGODB_URI=mongodb://localhost:27017/xiaogongju
|
||
|
||
# MinIO配置
|
||
MINIO_ENDPOINT=localhost
|
||
MINIO_PORT=9000
|
||
MINIO_USE_SSL=false
|
||
MINIO_ACCESS_KEY=minioadmin
|
||
MINIO_SECRET_KEY=minioadmin
|
||
MINIO_BUCKET_NAME=xiaogongju
|
||
|
||
# API密钥
|
||
REMOVE_BG_API_KEY=your_remove_bg_api_key
|
||
GENERATE_BG_API_KEY=your_generate_bg_api_key
|
||
REPAINT_API_KEY=your_repaint_api_key
|
||
```
|
||
|
||
### 步骤四:设置 MongoDB
|
||
|
||
如果您尚未安装 MongoDB,可以使用我们提供的脚本进行安装:
|
||
|
||
```bash
|
||
bash setup-mongodb.sh
|
||
```
|
||
|
||
或者手动安装 MongoDB 并创建数据库:
|
||
|
||
```bash
|
||
# MacOS (使用Homebrew)
|
||
brew tap mongodb/brew
|
||
brew install mongodb-community
|
||
brew services start mongodb-community
|
||
|
||
# Ubuntu
|
||
sudo apt update
|
||
sudo apt install -y mongodb
|
||
sudo systemctl start mongodb
|
||
```
|
||
|
||
### 步骤五:初始化数据库
|
||
|
||
运行初始化脚本创建默认管理员账户:
|
||
|
||
```bash
|
||
node init-db.js
|
||
```
|
||
|
||
### 步骤六:启动开发服务器
|
||
|
||
```bash
|
||
npm run dev
|
||
```
|
||
|
||
服务器将在 http://localhost:3000 启动。
|
||
|
||
## 生产环境部署
|
||
|
||
### 方法一:使用 PM2 和 Nginx
|
||
|
||
#### 步骤一:准备服务器
|
||
|
||
确保服务器已安装以下组件:
|
||
|
||
- Node.js v12.0.0+
|
||
- MongoDB v4.0.0+
|
||
- MinIO 服务
|
||
- Nginx
|
||
- PM2
|
||
|
||
#### 步骤二:部署代码
|
||
|
||
1. 克隆代码库到服务器:
|
||
|
||
```bash
|
||
git clone https://github.com/your-username/xiaogongju.git
|
||
cd xiaogongju
|
||
```
|
||
|
||
2. 安装依赖:
|
||
|
||
```bash
|
||
npm install --production
|
||
```
|
||
|
||
3. 配置环境变量:
|
||
|
||
```bash
|
||
cp .env.example .env
|
||
# 编辑.env文件,设置生产环境配置
|
||
```
|
||
|
||
4. 初始化数据库:
|
||
|
||
```bash
|
||
node init-db.js
|
||
```
|
||
|
||
#### 步骤三:使用 PM2 管理应用
|
||
|
||
安装 PM2(如果尚未安装):
|
||
|
||
```bash
|
||
npm install -g pm2
|
||
```
|
||
|
||
启动应用:
|
||
|
||
```bash
|
||
pm2 start ecosystem.config.js --env production
|
||
```
|
||
|
||
设置开机自启:
|
||
|
||
```bash
|
||
pm2 startup
|
||
pm2 save
|
||
```
|
||
|
||
#### 步骤四:配置 Nginx
|
||
|
||
1. 复制 Nginx 配置文件:
|
||
|
||
```bash
|
||
sudo cp config/nginx.conf /etc/nginx/sites-available/xiaogongju
|
||
```
|
||
|
||
2. 创建符号链接到已启用站点:
|
||
|
||
```bash
|
||
sudo ln -s /etc/nginx/sites-available/xiaogongju /etc/nginx/sites-enabled/
|
||
```
|
||
|
||
3. 测试配置并重启 Nginx:
|
||
|
||
```bash
|
||
sudo nginx -t
|
||
sudo systemctl restart nginx
|
||
```
|
||
|
||
### 方法二:使用 Docker (可选)
|
||
|
||
#### 步骤一:准备 Docker 环境
|
||
|
||
确保服务器已安装 Docker 和 Docker Compose。
|
||
|
||
#### 步骤二:构建 Docker 镜像
|
||
|
||
```bash
|
||
docker build -t xiaogongju .
|
||
```
|
||
|
||
#### 步骤三:启动容器
|
||
|
||
```bash
|
||
docker-compose up -d
|
||
```
|
||
|
||
## MinIO 配置
|
||
|
||
### 步骤一:安装 MinIO
|
||
|
||
```bash
|
||
# MacOS
|
||
brew install minio/stable/minio
|
||
|
||
# Ubuntu
|
||
wget https://dl.min.io/server/minio/release/linux-amd64/minio
|
||
chmod +x minio
|
||
sudo mv minio /usr/local/bin/
|
||
```
|
||
|
||
### 步骤二:启动 MinIO 服务
|
||
|
||
```bash
|
||
minio server /path/to/data
|
||
```
|
||
|
||
### 步骤三:创建存储桶
|
||
|
||
1. 访问 MinIO 控制台(默认地址: http://localhost:9000)
|
||
2. 使用默认凭据登录(minioadmin/minioadmin)
|
||
3. 创建名为 `xiaogongju` 的存储桶
|
||
|
||
## 外部 API 配置
|
||
|
||
### Remove.bg API
|
||
|
||
1. 注册 [Remove.bg](https://www.remove.bg/api) 账户
|
||
2. 获取 API 密钥
|
||
3. 将 API 密钥填入 `.env` 文件的 `REMOVE_BG_API_KEY` 字段
|
||
|
||
### 阿里云智能 API
|
||
|
||
1. 注册 [阿里云](https://www.aliyun.com/) 账户
|
||
2. 开通智能API服务
|
||
3. 获取 API 密钥并填入相应的环境变量
|
||
|
||
### Tripo3D API
|
||
|
||
1. 注册 [Tripo3D](https://www.tripo3d.ai/) 账户
|
||
2. 获取 API 密钥
|
||
3. 将 API 密钥填入 `.env` 文件的 `TRIPO3D_API_KEY` 字段
|
||
|
||
## 故障排除
|
||
|
||
### 数据库连接问题
|
||
|
||
如果遇到数据库连接错误,请检查:
|
||
|
||
1. MongoDB 服务是否正在运行
|
||
2. `.env` 文件中的 `MONGODB_URI` 是否正确
|
||
3. 网络连接是否畅通
|
||
|
||
运行数据库连接测试脚本:
|
||
|
||
```bash
|
||
node test-db-connection.js
|
||
```
|
||
|
||
### MinIO 存储问题
|
||
|
||
如果遇到文件上传或访问错误,请检查:
|
||
|
||
1. MinIO 服务是否正在运行
|
||
2. `.env` 文件中的 MinIO 配置是否正确
|
||
3. 存储桶权限是否配置正确
|
||
|
||
### API 调用失败
|
||
|
||
如果外部 API 调用失败,请检查:
|
||
|
||
1. API 密钥是否有效
|
||
2. 账户余额或配额是否足够
|
||
3. 网络连接是否畅通
|
||
4. 请求参数是否正确
|
||
|
||
## 性能优化建议
|
||
|
||
1. 增加服务器内存,特别是处理大型图片时
|
||
2. 配置 Nginx 缓存静态资源
|
||
3. 使用 CDN 加速图片传输
|
||
4. 考虑使用集群部署,增加系统吞吐量
|
||
5. 定期清理临时文件和过期数据
|
||
6. 对 MongoDB 添加适当的索引优化查询性能 |