ai-chat-ui/start.sh

47 lines
1.2 KiB
Bash

#!/bin/bash
echo "=========================================="
echo " 启动 AI Chat 平台 (前端 + 后端) "
echo "=========================================="
# 设置清理函数,在收到 Ctrl+C 时关闭所有子进程
cleanup() {
echo ""
echo "正在关闭所有服务..."
kill $(jobs -p) 2>/dev/null
exit
}
# 清除旧进程
lsof -i :8000 -t | xargs -r kill -9; lsof -i :5173 -t | xargs -r kill -9;
# 捕获退出信号
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