Ai_GirlFriend/完整启动指南.md
2026-03-05 17:18:04 +08:00

7.0 KiB
Raw Blame History

AI 女友项目 - 完整启动指南

📋 项目架构

AI 女友项目
├── PHP 后端 (FastAdmin)     - 端口 30100
│   ├── 用户管理
│   ├── 后台管理
│   └── 基础 API
│
├── Python 后端 (FastAPI)    - 端口 30101
│   ├── AI 对话 (LLM)
│   ├── 语音识别 (ASR)
│   ├── 语音合成 (TTS)
│   ├── 图像生成
│   ├── 视频生成
│   └── 其他 AI 功能
│
└── 前端 (uni-app)
    ├── 小程序
    └── APP

🚀 启动步骤

方法 1使用启动脚本推荐

  1. 双击运行 启动项目.bat

  2. 等待启动完成

    • 会自动打开两个命令行窗口
    • PHP 服务器窗口
    • Python 后端窗口
  3. 验证启动成功

方法 2手动启动

启动 PHP 服务器

cd xunifriend_RaeeC/public
php -S 0.0.0.0:30100 router.php

启动 Python 后端

# 在项目根目录
python -m uvicorn lover.main:app --host 0.0.0.0 --port 30101 --reload

验证服务状态

1. 检查端口占用

# Windows
netstat -ano | findstr :30100
netstat -ano | findstr :30101

应该看到:

TCP    0.0.0.0:30100    0.0.0.0:0    LISTENING    [PID]
TCP    0.0.0.0:30101    0.0.0.0:0    LISTENING    [PID]

2. 访问 API 文档

打开浏览器访问:

Python API 文档http://127.0.0.1:30101/docs

应该看到 FastAPI 的 Swagger 文档界面,包含:

  • /voice/call/asr - ASR 语音识别
  • /voice/call/conversation - 完整语音对话
  • /chat/send - 文字聊天
  • 其他 AI 功能端点

PHP 后台http://127.0.0.1:30100/admin

3. 测试健康检查

# Python 后端健康检查
curl http://127.0.0.1:30101/health

应该返回:

{
  "code": 1,
  "msg": "ok",
  "data": {
    "status": "ok"
  }
}

🎯 测试语音对话功能

1. 在前端测试

  1. 打开 uni-app 应用(小程序或 APP
  2. 进入语音通话页面
  3. 按住"按住说话"按钮
  4. 说话 2-3 秒:"你好,今天天气怎么样?"
  5. 松开按钮
  6. 等待处理(约 5-10 秒)
  7. 看到提示:"你说: 你好,今天天气怎么样?"
  8. 听到 AI 的语音回复

2. 查看日志

Python 后端窗口应该显示:

INFO - 收到语音对话请求,用户: XXX, 格式: wav
INFO - 音频数据大小: XXX 字节
INFO - 开始 ASR 识别...
INFO - 音频已上传: https://...
INFO - ASR 识别结果: 你好,今天天气怎么样?
INFO - 开始 LLM 对话生成...
INFO - LLM 回复: 今天天气很好哦...
INFO - 开始 TTS 语音合成...
INFO - TTS 合成完成,音频大小: XXX 字节

🔧 常见问题

问题 1端口被占用

症状

[错误] 端口 30100 或 30101 已被占用

解决方案

  1. 使用启动脚本(会自动清理端口)
  2. 或手动清理:
# 查找占用端口的进程
netstat -ano | findstr :30100
netstat -ano | findstr :30101

# 终止进程(替换 [PID] 为实际的进程 ID
taskkill /F /PID [PID]

问题 2Python 依赖缺失

症状

ModuleNotFoundError: No module named 'xxx'

解决方案

cd lover
pip install -r requirements.txt

问题 3PHP 路径错误

症状

[错误] PHP 未找到

解决方案

编辑 启动项目.bat,修改 PHP 路径:

set PHP_PATH=D:\你的PHP路径\php.exe

问题 4前端连接失败

症状 前端显示"连接失败"或"网络错误"

解决方案

  1. 检查前端配置 xuniYou/utils/request.js
export const baseURL = 'http://192.168.1.141:30100'      // PHP
export const baseURLPy = 'http://192.168.1.141:30101'    // Python
  1. 确保 IP 地址正确(局域网 IP 或 127.0.0.1

  2. 如果使用真机测试,确保手机和电脑在同一局域网

📱 前端配置

本地开发(电脑测试)

// xuniYou/utils/request.js
export const baseURL = 'http://127.0.0.1:30100'
export const baseURLPy = 'http://127.0.0.1:30101'

局域网测试(手机测试)

// xuniYou/utils/request.js
export const baseURL = 'http://192.168.1.141:30100'      // 替换为你的电脑 IP
export const baseURLPy = 'http://192.168.1.141:30101'

生产环境

// xuniYou/utils/request.js
export const baseURL = 'http://你的域名:30100'
export const baseURLPy = 'http://你的域名:30101'

🔒 安全提示

开发环境

  • 使用 0.0.0.0 监听所有网络接口
  • 允许局域网访问
  • 开启 CORS
  • 开启调试日志

生产环境

  • ⚠️ 使用 Nginx 反向代理
  • ⚠️ 配置 HTTPS
  • ⚠️ 限制 CORS 来源
  • ⚠️ 关闭调试日志
  • ⚠️ 使用环境变量管理敏感信息

📊 服务监控

查看服务状态

# Windows
tasklist | findstr php.exe
tasklist | findstr python.exe

# 查看端口
netstat -ano | findstr :30100
netstat -ano | findstr :30101

查看日志

  • PHP 日志:在 PHP 服务器窗口查看
  • Python 日志:在 Python 后端窗口查看
  • 前端日志:在浏览器控制台或 HBuilderX 控制台查看

🛑 停止服务

使用启动脚本启动的

直接关闭对应的命令行窗口即可:

  • 关闭"PHP 服务器"窗口 → 停止 PHP 服务
  • 关闭"Python 后端"窗口 → 停止 Python 服务

手动启动的

在对应的命令行窗口按 Ctrl + C

强制停止

# 停止所有 PHP 进程
taskkill /F /IM php.exe

# 停止所有 Python 进程(谨慎使用)
taskkill /F /IM python.exe

📝 启动检查清单

启动前确认:

  • PHP 已安装并配置正确
  • Python 已安装并配置正确
  • Python 依赖已安装(pip install -r lover/requirements.txt
  • 环境变量已配置(.env 文件)
  • 数据库已配置并可连接
  • OSS 已配置(如需使用语音功能)
  • DashScope API Key 已配置(如需使用 AI 功能)

启动后验证:

🎉 启动成功!

如果以上步骤都完成,你应该看到:

╔════════════════════════════════════╗
║         启动成功!                 ║
╚════════════════════════════════════╝

[PHP 服务器] ✓ 已启动
→ http://127.0.0.1:30100
→ http://127.0.0.1:30100/admin

[Python 后端] ✓ 已启动
→ http://127.0.0.1:30101
→ http://127.0.0.1:30101/docs

现在可以开始使用 AI 女友的所有功能了!💕


最后更新: 2026-03-05 版本: v2.0