# 会会虚拟用户 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。