384 lines
7.2 KiB
Markdown
384 lines
7.2 KiB
Markdown
# 📋 项目配置总结
|
||
|
||
## ✅ 已完成的配置
|
||
|
||
### 1. 数据库配置
|
||
|
||
**数据库信息:**
|
||
```
|
||
主机: localhost
|
||
端口: 3306
|
||
数据库名: ai_friend
|
||
用户名: root
|
||
密码: rootx77
|
||
字符集: utf8mb4
|
||
表前缀: nf_
|
||
```
|
||
|
||
**数据表状态:** ✅ 已导入(30+ 张表)
|
||
|
||
包含的核心表:
|
||
- nf_user (用户)
|
||
- nf_lovers (虚拟恋人)
|
||
- nf_chat_session (聊天会话)
|
||
- nf_chat_message (聊天消息)
|
||
- nf_chat_fact (长期记忆)
|
||
- nf_outfit_items (服装)
|
||
- nf_voice_library (声音库)
|
||
- nf_song_library (歌曲库)
|
||
- nf_generation_tasks (AI任务)
|
||
- nf_friend_relations (好友关系)
|
||
- nf_dynamics (动态)
|
||
- ... 等
|
||
|
||
---
|
||
|
||
### 2. 环境变量配置
|
||
|
||
#### 根目录 `.env` ✅
|
||
```env
|
||
# 应用环境
|
||
APP_ENV=development
|
||
DEBUG=True
|
||
|
||
# 数据库
|
||
DATABASE_URL=mysql+pymysql://root:rootx77@localhost:3306/ai_friend?charset=utf8mb4
|
||
|
||
# PHP 后台地址
|
||
USER_INFO_API=http://127.0.0.1:30100/api/user_basic/get_user_basic
|
||
|
||
# 阿里云 DashScope API
|
||
DASHSCOPE_API_KEY=sk-2473385fd6d54a58a703ce6b92a62074
|
||
|
||
# 阿里云 OSS
|
||
ALIYUN_OSS_ACCESS_KEY_ID=LTAI5tBzjogJDx4JzRYoDyEM
|
||
ALIYUN_OSS_ACCESS_KEY_SECRET=43euicRkkzlLjGTYzFYkTupcW7N5w3
|
||
ALIYUN_OSS_BUCKET_NAME=hello12312312
|
||
ALIYUN_OSS_ENDPOINT=https://oss-cn-hangzhou.aliyuncs.com
|
||
```
|
||
|
||
#### `lover/.env` ✅
|
||
```env
|
||
DATABASE_URL=mysql+pymysql://root:rootx77@localhost:3306/ai_friend?charset=utf8mb4
|
||
USER_INFO_API=http://127.0.0.1:30100/api/user_basic/get_user_basic
|
||
```
|
||
|
||
#### `xunifriend_RaeeC/.env` ✅
|
||
```env
|
||
app_debug = true
|
||
|
||
[database]
|
||
type = mysql
|
||
hostname = localhost
|
||
database = ai_friend
|
||
username = root
|
||
password = rootx77
|
||
hostport = 3306
|
||
charset = utf8mb4
|
||
prefix = nf_
|
||
debug = true
|
||
```
|
||
|
||
---
|
||
|
||
### 3. 服务端口配置
|
||
|
||
| 服务 | 端口 | 访问地址 |
|
||
|------|------|----------|
|
||
| PHP 后台 | 30100 | http://127.0.0.1:30100 |
|
||
| Python API | 30101 | http://127.0.0.1:30101 |
|
||
| API 文档 | 30101 | http://127.0.0.1:30101/docs |
|
||
| 管理后台 | 30100 | http://127.0.0.1:30100/admin |
|
||
|
||
---
|
||
|
||
## 🔧 待完成的配置
|
||
|
||
### 1. 安装 PHP ⏳
|
||
|
||
**推荐版本:** PHP 8.5.3 (VS17 x64 Non Thread Safe)
|
||
|
||
**下载地址:** https://windows.php.net/download/
|
||
|
||
**安装步骤:**
|
||
1. 下载 Zip 包(33.32MB)
|
||
2. 解压到目录(如 `D:\php-8.5.3\`)
|
||
3. 复制 `php.ini-development` 为 `php.ini`
|
||
4. 编辑 `php.ini`,启用扩展:
|
||
```ini
|
||
extension=curl
|
||
extension=fileinfo
|
||
extension=gd
|
||
extension=mbstring
|
||
extension=mysqli
|
||
extension=openssl
|
||
extension=pdo_mysql
|
||
extension=zip
|
||
|
||
date.timezone = Asia/Shanghai
|
||
upload_max_filesize = 100M
|
||
post_max_size = 100M
|
||
```
|
||
|
||
5. 修改 `启动项目.bat` 第 6 行:
|
||
```batch
|
||
set PHP_PATH=D:\php-8.5.3\php.exe
|
||
```
|
||
|
||
---
|
||
|
||
### 2. 安装 Python 依赖 ⏳
|
||
|
||
```cmd
|
||
pip install -r lover/requirements.txt
|
||
```
|
||
|
||
**如果速度慢,使用国内镜像:**
|
||
```cmd
|
||
pip install -r lover/requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple
|
||
```
|
||
|
||
**依赖包列表:**
|
||
- fastapi (Web框架)
|
||
- uvicorn (ASGI服务器)
|
||
- sqlalchemy (ORM)
|
||
- pymysql (MySQL驱动)
|
||
- pydantic (数据验证)
|
||
- requests (HTTP客户端)
|
||
- oss2 (阿里云OSS)
|
||
- dashscope (阿里云AI)
|
||
- pyyaml (YAML解析)
|
||
- imageio-ffmpeg (视频处理)
|
||
|
||
---
|
||
|
||
### 3. 安装 PHP 依赖 ⏳
|
||
|
||
```cmd
|
||
cd xunifriend_RaeeC
|
||
composer install
|
||
```
|
||
|
||
**如果速度慢,使用国内镜像:**
|
||
```cmd
|
||
composer config -g repo.packagist composer https://mirrors.aliyun.com/composer/
|
||
composer install
|
||
```
|
||
|
||
---
|
||
|
||
## 🎯 启动流程
|
||
|
||
### 完整启动步骤
|
||
|
||
1. **确保 MySQL 服务运行**
|
||
```cmd
|
||
net start MySQL80
|
||
```
|
||
|
||
2. **验证数据库连接**
|
||
```cmd
|
||
mysql -u root -prootx77 -e "USE ai_friend; SHOW TABLES;"
|
||
```
|
||
|
||
3. **安装依赖**(如果还没安装)
|
||
```cmd
|
||
# Python 依赖
|
||
pip install -r lover/requirements.txt
|
||
|
||
# PHP 依赖
|
||
cd xunifriend_RaeeC
|
||
composer install
|
||
cd ..
|
||
```
|
||
|
||
4. **修改启动脚本**
|
||
编辑 `启动项目.bat`,设置正确的 PHP 路径
|
||
|
||
5. **启动项目**
|
||
```cmd
|
||
启动项目.bat
|
||
```
|
||
|
||
6. **验证服务**
|
||
- PHP: http://127.0.0.1:30100
|
||
- Python: http://127.0.0.1:30101/docs
|
||
- 健康检查: http://127.0.0.1:30101/health
|
||
|
||
---
|
||
|
||
## 🔍 配置验证清单
|
||
|
||
### 数据库验证
|
||
```cmd
|
||
mysql -u root -prootx77 -e "SELECT COUNT(*) FROM ai_friend.nf_user;"
|
||
```
|
||
✅ 应该返回用户数量(不报错)
|
||
|
||
### Python 环境验证
|
||
```cmd
|
||
python --version
|
||
pip show fastapi uvicorn sqlalchemy pymysql
|
||
```
|
||
✅ 应该显示版本信息
|
||
|
||
### PHP 环境验证
|
||
```cmd
|
||
php -v
|
||
php -m | findstr mysqli
|
||
```
|
||
✅ 应该显示 PHP 版本和 mysqli 扩展
|
||
|
||
### 端口验证
|
||
```cmd
|
||
netstat -ano | findstr :30100
|
||
netstat -ano | findstr :30101
|
||
```
|
||
✅ 应该无输出(端口未被占用)
|
||
|
||
---
|
||
|
||
## 📊 AI 服务配置
|
||
|
||
### 阿里云 DashScope
|
||
|
||
**API Key:** `sk-2473385fd6d54a58a703ce6b92a62074`
|
||
|
||
**已配置的模型:**
|
||
- **对话模型:** qwen-plus
|
||
- **图像生成:** wan2.6-t2i (960*1280)
|
||
- **视频生成:** wan2.6-i2v-flash (720P, 5秒)
|
||
- **语音识别:** paraformer-realtime-v2
|
||
- **语音合成:** cosyvoice-v2 (longxiaochun_v2)
|
||
- **视觉理解:** qwen3-vl-flash
|
||
|
||
**控制台地址:** https://dashscope.console.aliyun.com/
|
||
|
||
---
|
||
|
||
### 阿里云 OSS
|
||
|
||
**Bucket 信息:**
|
||
- **名称:** hello12312312
|
||
- **区域:** 华东1(杭州)
|
||
- **Endpoint:** oss-cn-hangzhou.aliyuncs.com
|
||
- **CDN 域名:** hello12312312.oss-cn-hangzhou.aliyuncs.com
|
||
|
||
**用途:**
|
||
- 用户上传的图片
|
||
- AI 生成的图片
|
||
- TTS 语音文件
|
||
- 视频文件
|
||
|
||
**控制台地址:** https://oss.console.aliyun.com/
|
||
|
||
---
|
||
|
||
## 🛠️ 开发工具推荐
|
||
|
||
### 数据库管理
|
||
- **Navicat** (商业)
|
||
- **DBeaver** (免费)
|
||
- **phpMyAdmin** (Web)
|
||
|
||
### API 测试
|
||
- **Postman**
|
||
- **FastAPI Docs** (内置,推荐)
|
||
- **Apifox**
|
||
|
||
### 代码编辑
|
||
- **VS Code** (推荐)
|
||
- **PyCharm**
|
||
- **PhpStorm**
|
||
|
||
---
|
||
|
||
## 📝 开发模式说明
|
||
|
||
当前为开发模式,具有以下特性:
|
||
|
||
### 1. 认证宽松
|
||
- 可使用 `X-User-Id` Header 跳过 Token 验证
|
||
- Token 验证失败时自动使用测试用户
|
||
|
||
### 2. 详细日志
|
||
- 显示完整的错误堆栈
|
||
- 输出 SQL 查询语句
|
||
- 记录 API 调用详情
|
||
|
||
### 3. 热重载
|
||
- Python 代码修改自动生效
|
||
- 无需重启服务
|
||
|
||
### 4. 调试接口
|
||
- `/debug/auth` - 查看认证信息
|
||
- `/health` - 健康检查
|
||
|
||
---
|
||
|
||
## ⚠️ 生产环境注意事项
|
||
|
||
如果要部署到生产环境,需要修改:
|
||
|
||
### 1. 环境变量
|
||
```env
|
||
APP_ENV=production
|
||
DEBUG=False
|
||
```
|
||
|
||
### 2. 数据库
|
||
- 使用独立的生产数据库
|
||
- 配置主从复制
|
||
- 定期备份
|
||
|
||
### 3. 安全配置
|
||
- 修改默认密码
|
||
- 启用 HTTPS
|
||
- 配置防火墙
|
||
- 限制 CORS 来源
|
||
|
||
### 4. 性能优化
|
||
- 启用 Redis 缓存
|
||
- 配置 CDN
|
||
- 使用 Nginx 反向代理
|
||
- 配置进程管理器(Supervisor)
|
||
|
||
---
|
||
|
||
## 📞 技术支持
|
||
|
||
### 相关文档
|
||
- `快速启动指南.md` - 快速上手
|
||
- `运行指南.md` - 详细教程
|
||
- `启动前检查清单.md` - 检查清单
|
||
|
||
### 在线资源
|
||
- FastAPI 文档: https://fastapi.tiangolo.com/
|
||
- ThinkPHP 文档: https://www.thinkphp.cn/
|
||
- 阿里云 DashScope: https://help.aliyun.com/zh/dashscope/
|
||
|
||
---
|
||
|
||
## ✨ 配置完成后的下一步
|
||
|
||
1. **启动项目**
|
||
```cmd
|
||
启动项目.bat
|
||
```
|
||
|
||
2. **访问 API 文档**
|
||
http://127.0.0.1:30101/docs
|
||
|
||
3. **测试接口**
|
||
在 API 文档中测试各个功能
|
||
|
||
4. **访问管理后台**
|
||
http://127.0.0.1:30100/admin
|
||
|
||
5. **开始开发**
|
||
根据需求修改代码和配置
|
||
|
||
---
|
||
|
||
**配置总结完成!祝开发顺利!** 🎉
|