上传文件至「/」
This commit is contained in:
375
DEPLOYMENT.md
Normal file
375
DEPLOYMENT.md
Normal file
@@ -0,0 +1,375 @@
|
||||
# 会会虚拟用户 AI 互动系统 - 部署与使用指南
|
||||
|
||||
## 一、项目概述
|
||||
|
||||
本项目是一个基于 AI 大模型的虚拟用户自动化互动系统,主要功能包括:
|
||||
|
||||
### 核心功能
|
||||
1. **虚拟用户管理** - 批量生成、Excel 导入、人格配置
|
||||
2. **AI 内容生成** - 支持 OpenAI、智谱等主流大模型
|
||||
3. **自动化互动** - 评论、回复、点赞、收藏、转发
|
||||
4. **定时任务调度** - 随机时间、活跃度控制、限额管理
|
||||
5. **数据可视化** - 控制台仪表盘、Token 消耗统计
|
||||
|
||||
## 二、快速部署
|
||||
|
||||
### 方法一:一键启动脚本(推荐)
|
||||
|
||||
```bash
|
||||
# 进入项目目录
|
||||
cd /Users/yqq/Works/Projects/会会广场机器人
|
||||
|
||||
# 执行启动脚本
|
||||
./start.sh
|
||||
```
|
||||
|
||||
脚本会自动完成:
|
||||
- 检查 Docker 环境
|
||||
- 创建必要目录
|
||||
- 配置文件初始化
|
||||
- 启动所有服务
|
||||
|
||||
### 方法二:手动 Docker Compose 部署
|
||||
|
||||
```bash
|
||||
# 1. 配置环境变量
|
||||
cd backend
|
||||
cp .env.example .env
|
||||
# 编辑 .env 文件,配置 AI 模型 API Key
|
||||
|
||||
# 2. 启动服务
|
||||
cd ..
|
||||
docker-compose up -d
|
||||
|
||||
# 3. 查看日志
|
||||
docker-compose logs -f backend
|
||||
|
||||
# 4. 访问服务
|
||||
# 前端:http://localhost
|
||||
# 后端 API: http://localhost:8000
|
||||
# API 文档:http://localhost:8000/docs
|
||||
```
|
||||
|
||||
## 三、配置说明
|
||||
|
||||
### 1. 环境变量配置(backend/.env)
|
||||
|
||||
```bash
|
||||
# 必选:AI 模型配置(至少配置一个)
|
||||
OPENAI_API_KEY=sk-your-api-key-here
|
||||
# 或
|
||||
ZHIPU_API_KEY=your-zhipu-api-key-here
|
||||
|
||||
# 可选:调整系统限制
|
||||
MAX_TOKENS_PER_DAY=10000 # 每日 Token 上限
|
||||
MAX_COMMENTS_PER_USER_PER_DAY=20 # 单用户日评论上限
|
||||
TASK_START_HOUR=9 # 活动开始时间
|
||||
TASK_END_HOUR=22 # 活动结束时间
|
||||
```
|
||||
|
||||
### 2. 数据库配置
|
||||
|
||||
默认配置即可,Docker Compose 会自动创建 MySQL 容器:
|
||||
- 主机:mysql
|
||||
- 端口:3306
|
||||
- 用户:huihui_user
|
||||
- 密码:huihui_password
|
||||
- 数据库:huihui_ai_bot
|
||||
|
||||
### 3. 会会接口配置
|
||||
|
||||
默认已配置为:`http://192.168.1.200:63120`
|
||||
|
||||
如需修改,在 `.env` 文件中调整:
|
||||
```bash
|
||||
HUIHUI_API_BASE=http://your-huihui-api-address
|
||||
```
|
||||
|
||||
## 四、使用流程
|
||||
|
||||
### 第一步:AI 模型配置
|
||||
|
||||
1. 访问前端界面:http://localhost
|
||||
2. 进入"AI 模型配置"页面
|
||||
3. 点击"添加模型"
|
||||
4. 选择提供商(OpenAI / 智谱等)
|
||||
5. 填写 API Key 和其他参数
|
||||
6. 点击"测试"验证配置
|
||||
7. 设为默认模型
|
||||
|
||||
**支持的 AI 模型:**
|
||||
- OpenAI: gpt-3.5-turbo, gpt-4
|
||||
- 智谱 AI: glm-4
|
||||
- 百度文心:ERNIE-Bot(待实现)
|
||||
- 阿里通义:Qwen(待实现)
|
||||
|
||||
### 第二步:虚拟用户管理
|
||||
|
||||
#### 方式一:批量生成
|
||||
|
||||
1. 进入"虚拟用户管理"页面
|
||||
2. 点击"批量生成"
|
||||
3. 设置生成数量(1-100)
|
||||
4. 选择写作风格(可不选,随机分配)
|
||||
5. 选择活跃度级别
|
||||
6. 勾选"AI 人格描述"(推荐)
|
||||
7. 点击"生成"
|
||||
|
||||
#### 方式二:Excel 导入
|
||||
|
||||
准备 Excel 文件,包含以下列:
|
||||
- `username`(必填)- 用户名/账号
|
||||
- `password`(必填)- 密码
|
||||
- `nickname`(可选)- 昵称
|
||||
- `writing_style`(可选)- 写作风格
|
||||
- `activity_level`(可选)- 活跃度(low/medium/high)
|
||||
|
||||
导入步骤:
|
||||
1. 点击"Excel 导入"
|
||||
2. 选择 Excel 文件
|
||||
3. 勾选"生成 AI 人格描述"
|
||||
4. 确认导入
|
||||
|
||||
### 第三步:系统设置
|
||||
|
||||
1. 进入"系统设置"页面
|
||||
2. 配置活动时间段(如 9:00-22:00)
|
||||
3. 配置互动频率(如 10-30 分钟)
|
||||
4. 配置限额(Token 上限、评论上限等)
|
||||
5. 保存配置
|
||||
|
||||
### 第四步:启动定时任务
|
||||
|
||||
1. 在"系统设置"页面
|
||||
2. 点击"启动任务"按钮
|
||||
3. 系统开始自动执行互动任务
|
||||
|
||||
### 第五步:监控与调整
|
||||
|
||||
1. **控制台** - 查看实时统计数据
|
||||
- 虚拟用户总数
|
||||
- 今日互动次数
|
||||
- Token 消耗情况
|
||||
- 最近互动记录
|
||||
|
||||
2. **互动记录** - 查看详细执行日志
|
||||
- 成功/失败状态
|
||||
- Token 消耗
|
||||
- 错误信息
|
||||
|
||||
3. **调整策略**
|
||||
- 根据 Token 消耗调整互动频率
|
||||
- 根据效果调整写作风格
|
||||
- 根据需求调整限额配置
|
||||
|
||||
## 五、高级配置
|
||||
|
||||
### 1. 自定义写作风格
|
||||
|
||||
在生成虚拟用户时,可以指定写作风格:
|
||||
- 幽默风趣
|
||||
- 严肃理性
|
||||
- 文艺清新
|
||||
- 吐槽犀利
|
||||
- 感性温暖
|
||||
- 客观中立
|
||||
- 激情澎湃
|
||||
- 冷静分析
|
||||
- 活泼可爱
|
||||
- 深沉内敛
|
||||
|
||||
也可在 `.env` 中添加自定义风格。
|
||||
|
||||
### 2. 活跃度分级
|
||||
|
||||
- **高活跃度**:每日互动 5-10 次(80% 概率执行)
|
||||
- **中活跃度**:每日互动 2-5 次(50% 概率执行)
|
||||
- **低活跃度**:每日互动 1-2 次(30% 概率执行)
|
||||
|
||||
### 3. 互动概率配置
|
||||
|
||||
默认概率:
|
||||
- 点赞:80%
|
||||
- 收藏:50%
|
||||
- 转发:30%
|
||||
- 评论:剩余概率
|
||||
|
||||
可在"系统设置"页面调整。
|
||||
|
||||
### 4. Token 限额策略
|
||||
|
||||
建议配置:
|
||||
- 开发测试:1000-5000 tokens/天
|
||||
- 小规模使用:5000-20000 tokens/天
|
||||
- 大规模使用:20000+ tokens/天
|
||||
|
||||
根据实际 AI 模型价格计算成本。
|
||||
|
||||
## 六、运维管理
|
||||
|
||||
### 查看日志
|
||||
|
||||
```bash
|
||||
# 查看所有服务日志
|
||||
docker-compose logs -f
|
||||
|
||||
# 查看后端日志
|
||||
docker-compose logs -f backend
|
||||
|
||||
# 查看数据库日志
|
||||
docker-compose logs -f mysql
|
||||
|
||||
# 查看最近 100 行
|
||||
docker-compose logs --tail=100 backend
|
||||
```
|
||||
|
||||
### 备份数据
|
||||
|
||||
```bash
|
||||
# 备份 MySQL 数据库
|
||||
docker exec huihui_mysql mysqldump -uhuihui_user -phuihui_password huihui_ai_bot > backup_$(date +%Y%m%d).sql
|
||||
|
||||
# 恢复数据库
|
||||
docker exec -i huihui_mysql mysql -uhuihui_user -phuihui_password huihui_ai_bot < backup_20260323.sql
|
||||
```
|
||||
|
||||
### 服务重启
|
||||
|
||||
```bash
|
||||
# 重启所有服务
|
||||
docker-compose restart
|
||||
|
||||
# 重启单个服务
|
||||
docker-compose restart backend
|
||||
|
||||
# 停止所有服务
|
||||
docker-compose down
|
||||
|
||||
# 停止并删除容器(保留数据)
|
||||
docker-compose down
|
||||
|
||||
# 完全清理(删除数据和容器)
|
||||
docker-compose down -v
|
||||
```
|
||||
|
||||
### 更新升级
|
||||
|
||||
```bash
|
||||
# 拉取最新代码
|
||||
git pull
|
||||
|
||||
# 重新构建并启动
|
||||
docker-compose build
|
||||
docker-compose up -d
|
||||
```
|
||||
|
||||
## 七、故障排查
|
||||
|
||||
### 1. 后端服务无法启动
|
||||
|
||||
```bash
|
||||
# 查看日志
|
||||
docker-compose logs backend
|
||||
|
||||
# 常见问题:
|
||||
# - 数据库连接失败:检查 MySQL 是否启动
|
||||
# - 端口冲突:修改 docker-compose.yml 中的端口映射
|
||||
# - 环境变量错误:检查 .env 文件格式
|
||||
```
|
||||
|
||||
### 2. 数据库连接失败
|
||||
|
||||
```bash
|
||||
# 检查 MySQL 容器状态
|
||||
docker-compose ps mysql
|
||||
|
||||
# 查看 MySQL 日志
|
||||
docker-compose logs mysql
|
||||
|
||||
# 手动连接测试
|
||||
docker exec -it huihui_mysql mysql -uroot -proot123456
|
||||
```
|
||||
|
||||
### 3. AI 模型调用失败
|
||||
|
||||
- 检查 API Key 是否正确
|
||||
- 检查网络连接
|
||||
- 查看 Token 余额
|
||||
- 检查 API 地址是否正确
|
||||
- 查看后端日志中的详细错误信息
|
||||
|
||||
### 4. 定时任务未执行
|
||||
|
||||
- 检查调度器状态(系统设置页面)
|
||||
- 查看后端日志中的调度信息
|
||||
- 确认活动时间段配置
|
||||
- 检查虚拟用户状态(需为启用且已登录)
|
||||
|
||||
## 八、性能优化
|
||||
|
||||
### 1. 数据库优化
|
||||
|
||||
```sql
|
||||
-- 添加索引(已自动创建)
|
||||
CREATE INDEX idx_user_status ON virtual_users(status);
|
||||
CREATE INDEX idx_interaction_time ON interaction_records(execution_time);
|
||||
```
|
||||
|
||||
### 2. 并发控制
|
||||
|
||||
修改 `.env` 配置:
|
||||
```bash
|
||||
# 增加数据库连接池大小
|
||||
DATABASE_POOL_SIZE=30
|
||||
DATABASE_MAX_OVERFLOW=60
|
||||
```
|
||||
|
||||
### 3. 缓存策略
|
||||
|
||||
- 新闻数据缓存到数据库
|
||||
- 避免重复调用会会接口
|
||||
- 定期清理过期缓存
|
||||
|
||||
## 九、安全建议
|
||||
|
||||
1. **修改默认密码**
|
||||
- 数据库 root 密码
|
||||
- 应用 JWT_SECRET_KEY
|
||||
|
||||
2. **API Key 保护**
|
||||
- 不要将 .env 文件提交到 Git
|
||||
- 使用环境变量或密钥管理服务
|
||||
|
||||
3. **网络隔离**
|
||||
- 生产环境配置防火墙规则
|
||||
- 限制数据库访问
|
||||
|
||||
4. **定期备份**
|
||||
- 每日备份数据库
|
||||
- 备份重要配置文件
|
||||
|
||||
## 十、技术支持
|
||||
|
||||
### 常见问题
|
||||
|
||||
**Q: 如何重置系统配置?**
|
||||
A: 删除 system_configs 表数据,重启服务后会自动创建默认配置。
|
||||
|
||||
**Q: 如何批量删除虚拟用户?**
|
||||
A: 暂时需要通过 API 或数据库操作,后续版本会添加批量删除功能。
|
||||
|
||||
**Q: Token 消耗过快怎么办?**
|
||||
A: 降低 MAX_TOKENS_PER_DAY,减少虚拟用户数量,或调低互动频率。
|
||||
|
||||
**Q: 如何查看会会接口的详细文档?**
|
||||
A: 访问 http://192.168.1.200:63120/doc.html 查看完整接口文档。
|
||||
|
||||
### 版本更新
|
||||
|
||||
关注项目更新日志,及时升级到最新版本获取新功能和安全修复。
|
||||
|
||||
---
|
||||
|
||||
**祝您使用愉快!**
|
||||
|
||||
如有问题,请联系开发团队或提交 Issue。
|
||||
Reference in New Issue
Block a user