194 lines
4.8 KiB
Markdown
194 lines
4.8 KiB
Markdown
# 会会虚拟用户 AI 互动系统
|
||
|
||
基于 AI 大模型的虚拟用户自动化互动系统,支持对接会会平台接口,实现虚拟用户的自动登录、评论、回复、点赞、收藏、转发等功能。
|
||
|
||
## 功能特性
|
||
|
||
### 核心功能
|
||
- ✅ **虚拟用户管理**:批量生成、Excel 导入、人格配置
|
||
- ✅ **AI 内容生成**:支持 OpenAI、智谱、百度文心、阿里通义等大模型
|
||
- ✅ **自动化互动**:定时任务、随机策略、限额控制
|
||
- ✅ **数据可视化**:控制台仪表盘、Token 消耗统计
|
||
- ✅ **Docker 部署**:支持 1Panel 一键部署
|
||
|
||
### 互动类型
|
||
- 评论(AI 生成)
|
||
- 回复(AI 生成)
|
||
- 点赞
|
||
- 收藏
|
||
- 转发
|
||
|
||
### 技术栈
|
||
- **后端**:Python 3.11 + FastAPI
|
||
- **前端**:Vue 3 + Element Plus
|
||
- **数据库**:MySQL 8.0
|
||
- **AI 对接**:OpenAI / 智谱 / 百度 / 阿里
|
||
- **部署**:Docker + Docker Compose
|
||
|
||
## 快速开始
|
||
|
||
### 1. 环境要求
|
||
- Docker 20.10+
|
||
- Docker Compose 2.0+
|
||
- 1Panel 面板(可选)
|
||
|
||
### 2. 配置环境变量
|
||
|
||
```bash
|
||
cd backend
|
||
cp .env.example .env
|
||
```
|
||
|
||
编辑 `.env` 文件,配置必要参数:
|
||
- 数据库配置(默认即可)
|
||
- AI 模型 API Key(至少配置一个)
|
||
- 会会接口地址(默认:http://192.168.1.200:63120)
|
||
|
||
### 3. 启动服务
|
||
|
||
```bash
|
||
# 启动所有服务
|
||
docker-compose up -d
|
||
|
||
# 查看日志
|
||
docker-compose logs -f backend
|
||
|
||
# 停止服务
|
||
docker-compose down
|
||
```
|
||
|
||
### 4. 访问服务
|
||
- 前端界面:http://localhost
|
||
- 后端 API:http://localhost:8000
|
||
- API 文档:http://localhost:8000/docs
|
||
|
||
## 项目结构
|
||
|
||
```
|
||
会会广场机器人/
|
||
├── backend/ # 后端服务
|
||
│ ├── app/
|
||
│ │ ├── api/ # API 路由
|
||
│ │ ├── core/ # 核心配置
|
||
│ │ ├── models/ # 数据库模型
|
||
│ │ ├── schemas/ # Pydantic Schema
|
||
│ │ ├── services/ # 业务服务
|
||
│ │ └── main.py # 应用入口
|
||
│ ├── requirements.txt # Python 依赖
|
||
│ └── Dockerfile
|
||
├── frontend/ # 前端服务
|
||
│ └── src/
|
||
├── docker/ # Docker 配置
|
||
│ ├── mysql/
|
||
│ └── nginx/
|
||
├── data/ # 数据持久化
|
||
│ ├── mysql/
|
||
│ └── logs/
|
||
├── docker-compose.yml
|
||
└── README.md
|
||
```
|
||
|
||
## API 接口
|
||
|
||
### 虚拟用户管理
|
||
- `GET /api/v1/virtual-users` - 获取用户列表
|
||
- `POST /api/v1/virtual-users` - 创建用户
|
||
- `POST /api/v1/virtual-users/generate` - 批量生成用户
|
||
- `POST /api/v1/virtual-users/import` - Excel 导入用户
|
||
- `PUT /api/v1/virtual-users/{id}` - 更新用户
|
||
- `DELETE /api/v1/virtual-users/{id}` - 删除用户
|
||
|
||
### 互动管理
|
||
- `POST /api/v1/interactions/execute` - 执行互动
|
||
- `GET /api/v1/interactions` - 获取互动记录
|
||
|
||
### AI 模型配置
|
||
- `GET /api/v1/ai-models` - 获取模型列表
|
||
- `POST /api/v1/ai-models` - 创建模型配置
|
||
- `POST /api/v1/ai-models/test` - 测试模型
|
||
|
||
### 控制台
|
||
- `GET /api/v1/dashboard` - 获取统计数据
|
||
- `GET /api/v1/dashboard/token/stats` - Token 统计
|
||
- `GET /api/v1/dashboard/token/daily` - 每日 Token 使用
|
||
|
||
## 系统配置
|
||
|
||
### 默认限额
|
||
- 每日 Token 上限:10,000
|
||
- 单用户日评论上限:20
|
||
- 单用户日回复上限:10
|
||
|
||
### 活动时间段
|
||
- 开始时间:09:00
|
||
- 结束时间:22:00
|
||
- 互动间隔:10-30 分钟(随机)
|
||
|
||
### 互动概率
|
||
- 点赞:80%
|
||
- 收藏:50%
|
||
- 转发:30%
|
||
|
||
## 开发指南
|
||
|
||
### 添加新的 AI 模型
|
||
1. 在 `app/services/ai_service.py` 添加对应的调用方法
|
||
2. 在 `app/models/ai_model.py` 添加提供商枚举
|
||
3. 通过 API 配置新模型
|
||
|
||
### 自定义互动策略
|
||
修改 `app/services/interaction_service.py` 中的互动逻辑
|
||
|
||
### 调整定时任务
|
||
修改 `app/services/scheduler_service.py` 中的调度配置
|
||
|
||
## 常见问题
|
||
|
||
### 1. 数据库连接失败
|
||
检查 MySQL 服务是否启动:
|
||
```bash
|
||
docker-compose ps mysql
|
||
```
|
||
|
||
### 2. AI 模型调用失败
|
||
- 检查 API Key 是否正确
|
||
- 检查网络连接
|
||
- 查看后端日志:`docker-compose logs backend`
|
||
|
||
### 3. Token 消耗过快
|
||
- 调整 `MAX_TOKENS_PER_DAY` 配置
|
||
- 降低互动频率
|
||
- 减少虚拟用户数量
|
||
|
||
## 1Panel 部署
|
||
|
||
### 通过 1Panel 部署 Docker Compose
|
||
1. 登录 1Panel 面板
|
||
2. 进入"容器管理" -> "Compose"
|
||
3. 点击"创建",上传 `docker-compose.yml`
|
||
4. 配置环境变量
|
||
5. 点击"创建"启动服务
|
||
|
||
### 开放端口
|
||
在 1Panel 防火墙中开放:
|
||
- 80 (前端)
|
||
- 8000 (后端 API)
|
||
- 3306 (数据库,可选)
|
||
|
||
## 更新日志
|
||
|
||
### v1.0.0 (2026-03-23)
|
||
- 初始版本发布
|
||
- 支持虚拟用户生成和管理
|
||
- 支持 AI 自动生成评论和回复
|
||
- 支持多种互动类型
|
||
- 完整的 Docker 部署方案
|
||
|
||
## License
|
||
|
||
MIT License
|
||
|
||
## 联系方式
|
||
|
||
如有问题,请提交 Issue 或联系开发团队。
|