#!/bin/bash echo "==========================================" echo " 启动 AI Chat 平台 (前端 + 后端) " echo "==========================================" # 设置清理函数,在收到 Ctrl+C 时关闭所有子进程 cleanup() { echo "" echo "正在关闭所有服务..." kill $(jobs -p) 2>/dev/null exit } # 捕获退出信号 trap cleanup SIGINT SIGTERM EXIT # 启动后端 echo "[系统] 正在启动后端服务器..." cd /home/mt/project/ai-chat-ui/server if [ -d ".venv" ]; then source .venv/bin/activate # 使用 -u 参数强制不缓冲输出,实时显示日志 python3 -u main.py & else echo "[错误] 未找到虚拟环境 (.venv)。请先创建。" fi # 等待一小段时间确保后端启动 sleep 2 # 启动前端 echo "[系统] 正在启动前端服务器..." cd /home/mt/project/ai-chat-ui # 启动 vite 开发服务器 npm run dev & echo "==========================================" echo " 服务已启动,按 Ctrl+C 停止 " echo "==========================================" # 使用 wait 阻塞主进程,保持脚本运行,这样可以看到调试打印信息 wait