Ai_GirlFriend/快速启动指南.md
2026-02-28 09:40:18 +08:00

386 lines
7.4 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 🚀 快速启动指南
## ✅ 已完成的配置
### 1. 数据库配置 ✓
- **数据库名**: ai_friend
- **主机**: localhost:3306
- **用户名**: root
- **密码**: rootx77
- **数据表**: 已导入30+ 张表,包含 nf_user, nf_lovers, nf_chat_message 等)
### 2. 环境变量配置 ✓
已配置三个 .env 文件:
- ✓ 根目录 `.env`
-`lover/.env`
-`xunifriend_RaeeC/.env`
所有文件已统一使用本地数据库配置。
---
## 📋 启动前最后检查
### 1. 安装 PHP
- [ ] 下载 PHP 8.5.3 (VS17 x64 Non Thread Safe)
- [ ] 解压到目录(如 `D:\php-8.5.3\`
- [ ] 配置 php.ini启用扩展
- [ ] 修改 `启动项目.bat` 中的 PHP_PATH
### 2. 安装 Python 依赖
```cmd
pip install -r lover/requirements.txt
```
如果速度慢,使用国内镜像:
```cmd
pip install -r lover/requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple
```
### 3. 安装 PHP 依赖
```cmd
cd xunifriend_RaeeC
composer install
```
如果速度慢,使用国内镜像:
```cmd
composer config -g repo.packagist composer https://mirrors.aliyun.com/composer/
composer install
```
### 4. 验证数据库连接
```cmd
mysql -u root -prootx77 -e "USE ai_friend; SHOW TABLES;"
```
应该看到 30+ 张数据表。
---
## 🎯 启动项目
### 方式一:使用启动脚本(推荐)
1. **修改 PHP 路径**
打开 `启动项目.bat`,修改第 6 行:
```batch
set PHP_PATH=D:\php-8.5.3\php.exe
```
改为你的 PHP 实际路径
2. **双击运行**
```
启动项目.bat
```
3. **等待启动完成**
- 会自动打开两个命令行窗口
- PHP 服务器窗口
- Python 后端窗口
4. **访问服务**
- PHP 后台: http://127.0.0.1:30100
- Python API: http://127.0.0.1:30101
- API 文档: http://127.0.0.1:30101/docs
### 方式二:手动启动
#### 终端 1 - 启动 PHP 服务
```cmd
cd xunifriend_RaeeC\public
php -S 0.0.0.0:30100 router.php
```
#### 终端 2 - 启动 Python 服务
```cmd
python -m uvicorn lover.main:app --host 0.0.0.0 --port 30101 --reload
```
---
## 🧪 测试服务
### 1. 测试 PHP 后台
浏览器访问: http://127.0.0.1:30100
应该看到网站首页或登录页面。
### 2. 测试 Python API
浏览器访问: http://127.0.0.1:30101/docs
应该看到 FastAPI 自动生成的 API 文档页面。
### 3. 测试健康检查
浏览器访问: http://127.0.0.1:30101/health
应该返回:
```json
{
"code": 1,
"msg": "ok",
"data": {
"status": "ok"
}
}
```
### 4. 测试数据库连接
在 API 文档页面 (http://127.0.0.1:30101/docs)
- 找到任意 GET 接口
- 点击 "Try it out"
- 点击 "Execute"
- 如果返回数据(不是 500 错误),说明数据库连接成功
---
## 🔧 PHP 配置清单
### 必需的 PHP 扩展
编辑 `php.ini` 文件,确保以下扩展已启用(删除前面的分号):
```ini
extension=curl
extension=fileinfo
extension=gd
extension=mbstring
extension=mysqli
extension=openssl
extension=pdo_mysql
extension=zip
```
### 其他重要配置
```ini
; 时区设置
date.timezone = Asia/Shanghai
; 上传限制
upload_max_filesize = 100M
post_max_size = 100M
max_execution_time = 300
; 内存限制
memory_limit = 256M
```
---
## 📦 Python 依赖列表
项目需要以下 Python 包(已在 requirements.txt 中):
```
fastapi>=0.110 # Web 框架
uvicorn[standard]>=0.24 # ASGI 服务器
sqlalchemy>=2.0 # ORM
pymysql>=1.1 # MySQL 驱动
pydantic>=2.6 # 数据验证
pydantic-settings>=2.1 # 配置管理
python-dotenv>=1.0 # 环境变量
requests>=2.31 # HTTP 客户端
oss2>=2.18 # 阿里云 OSS
dashscope>=1.20 # 阿里云 AI
pyyaml>=6.0 # YAML 解析
imageio-ffmpeg>=0.4 # 视频处理
```
---
## ⚠️ 常见问题快速解决
### 问题 1: 端口被占用
```cmd
# 查看占用进程
netstat -ano | findstr :30100
netstat -ano | findstr :30101
# 终止进程
taskkill /F /PID 进程号
```
### 问题 2: 数据库连接失败
检查:
1. MySQL 服务是否启动
2. 用户名密码是否正确root / rootx77
3. 数据库名称是否正确ai_friend
```cmd
# 启动 MySQL 服务
net start MySQL80
# 测试连接
mysql -u root -prootx77
```
### 问题 3: Python 模块未找到
```cmd
# 重新安装依赖
pip install -r lover/requirements.txt --force-reinstall
```
### 问题 4: PHP 扩展缺失
```cmd
# 查看已加载的扩展
php -m
# 如果缺少扩展,编辑 php.ini 启用
```
### 问题 5: Composer 安装失败
```cmd
# 清理缓存
composer clear-cache
# 使用国内镜像
composer config -g repo.packagist composer https://mirrors.aliyun.com/composer/
# 重新安装
cd xunifriend_RaeeC
composer install
```
---
## 🎨 管理后台登录
### 默认管理员账号
查看数据库获取管理员账号:
```sql
SELECT username, password FROM nf_admin LIMIT 1;
```
如果没有管理员账号,可以手动创建:
```sql
INSERT INTO nf_admin (username, password, nickname, email, status)
VALUES ('admin', MD5('admin123'), '管理员', 'admin@example.com', 'normal');
```
然后访问: http://127.0.0.1:30100/admin
---
## 📱 API 接口测试
### 使用 API 文档测试
1. 访问: http://127.0.0.1:30101/docs
2. 展开任意接口
3. 点击 "Try it out"
4. 填写参数
5. 点击 "Execute"
6. 查看响应结果
### 主要接口分类
- **/api/user** - 用户管理
- **/api/lover** - 虚拟恋人
- **/api/chat** - AI 对话
- **/api/voice_call** - 语音通话
- **/api/outfit** - 服装系统
- **/api/dance** - 舞蹈视频
- **/api/sing** - AI 唱歌
- **/api/dynamic** - 动态朋友圈
- **/api/friend** - 好友系统
---
## 🔐 开发模式说明
当前配置为开发模式:
```env
APP_ENV=development
DEBUG=True
```
开发模式特性:
- ✅ 详细的错误信息
- ✅ 自动跳过部分认证(方便测试)
- ✅ 热重载(代码修改自动生效)
- ✅ 可使用测试用户 ID
### 测试用户
在开发模式下,可以使用 Header 传递用户 ID
```
X-User-Id: 70
```
这样可以跳过 Token 验证,直接测试接口。
---
## 📊 数据库表说明
### 核心表
- `nf_user` - 用户基础信息
- `nf_lovers` - 虚拟恋人档案
- `nf_chat_session` - 聊天会话
- `nf_chat_message` - 聊天消息
- `nf_chat_fact` - 长期记忆
### 功能表
- `nf_outfit_items` - 服装商品
- `nf_voice_library` - 声音库
- `nf_song_library` - 歌曲库
- `nf_motion_templates` - 舞蹈模板
- `nf_generation_tasks` - AI 生成任务
### 社交表
- `nf_friend_relations` - 好友关系
- `nf_dynamics` - 动态内容
- `nf_dynamic_likes` - 点赞
- `nf_dynamic_comments` - 评论
---
## 🎯 下一步操作
启动成功后,建议按以下顺序测试:
1. **访问 API 文档**
http://127.0.0.1:30101/docs
2. **测试健康检查**
http://127.0.0.1:30101/health
3. **访问 PHP 后台**
http://127.0.0.1:30100/admin
4. **测试用户接口**
在 API 文档中测试 `/api/user` 相关接口
5. **测试 AI 功能**
测试聊天、图像生成等 AI 接口
---
## 📞 需要帮助?
如果遇到问题:
1. **查看日志**
- Python 日志:启动窗口的控制台输出
- PHP 日志:`xunifriend_RaeeC/runtime/log/`
2. **检查配置**
- 数据库连接是否正确
- PHP 扩展是否启用
- Python 依赖是否安装
3. **参考文档**
- `运行指南.md` - 详细安装教程
- `启动前检查清单.md` - 逐项检查清单
---
**准备好了吗?开始启动项目吧!** 🚀
```cmd
启动项目.bat
```