#!/bin/bash

# Coze智能体聊天系统启动脚本

echo "🚀 启动Coze智能体聊天系统..."

# 检查是否安装了必要工具
check_command() {
    if ! command -v $1 &> /dev/null; then
        echo "❌ $1 未安装，请先安装 $1"
        exit 1
    fi
}

echo "🔍 检查环境..."
check_command python3
check_command node
check_command npm

# 关闭可能影响 coze.cn 访问的系统代理，并设置直连白名单
echo "🛡️  配置网络直连(禁用代理，放行 *.coze.cn)..."
unset http_proxy https_proxy all_proxy HTTP_PROXY HTTPS_PROXY ALL_PROXY || true
export NO_PROXY=localhost,127.0.0.1,api.coze.cn,.coze.cn

# 启动后端
echo "🐍 启动Python后端..."
cd coze-chat-backend

# 检查虚拟环境
if [ ! -d "venv" ]; then
    echo "📦 创建Python虚拟环境..."
    python3 -m venv venv
fi

# 激活虚拟环境
source venv/bin/activate

# 安装依赖
echo "📦 安装Python依赖..."
pip install -r requirements.txt

# 检查配置文件
if [ ! -f "local_config.py" ]; then
    echo "⚠️  local_config.py文件不存在，请先配置API认证"
    echo "📋 可以参考 local_config.py.example 创建配置文件"
    exit 1
fi

# 后台启动Python服务
echo "🚀 启动后端服务..."
python main.py &
BACKEND_PID=$!

cd ..

# 启动前端
echo "⚛️  启动React前端..."
cd coze-chat-frontend

# 安装依赖
echo "📦 安装前端依赖..."
npm install

# 启动前端开发服务器
echo "🚀 启动前端服务..."
npm run dev &
FRONTEND_PID=$!

# 显示启动信息
echo ""
echo "✅ 系统启动完成！"
echo "🔗 前端地址: http://localhost:3001"
echo "🔗 后端地址: http://localhost:8010"
echo "📖 API文档: http://localhost:8010/docs"
echo ""
echo "按 Ctrl+C 停止所有服务"

# 等待用户中断
wait

# 清理进程
echo "🧹 清理进程..."
kill $BACKEND_PID 2>/dev/null
kill $FRONTEND_PID 2>/dev/null

echo "👋 系统已停止"
