#!/bin/bash # 一键启动所有服务 echo "=========================================" echo "启动 ValueFrontier 全栈服务" echo "=========================================" # 颜色定义 RED='\033[0;31m' GREEN='\033[0;32m' YELLOW='\033[1;33m' NC='\033[0m' # No Color # 1. 检查 MCP 服务器 echo -e "${YELLOW}[1/4] 检查 MCP 服务器 (端口 8900)...${NC}" if lsof -Pi :8900 -sTCP:LISTEN -t >/dev/null ; then echo -e "${GREEN}✓ MCP 服务器已运行${NC}" else echo -e "${YELLOW}启动 MCP 服务器...${NC}" cd /home/ubuntu/vf_react python3 mcp_server.py > mcp_server.log 2>&1 & sleep 3 if lsof -Pi :8900 -sTCP:LISTEN -t >/dev/null ; then echo -e "${GREEN}✓ MCP 服务器启动成功${NC}" else echo -e "${RED}✗ MCP 服务器启动失败,请检查日志${NC}" fi fi # 2. 检查 Flask 主应用 echo -e "${YELLOW}[2/4] 检查 Flask 主应用 (端口 5001)...${NC}" if lsof -Pi :5001 -sTCP:LISTEN -t >/dev/null ; then echo -e "${GREEN}✓ Flask 应用已运行${NC}" else echo -e "${YELLOW}启动 Flask 应用...${NC}" cd /home/ubuntu/vf_react python3 app.py > flask_app.log 2>&1 & sleep 5 if lsof -Pi :5001 -sTCP:LISTEN -t >/dev/null ; then echo -e "${GREEN}✓ Flask 应用启动成功${NC}" else echo -e "${RED}✗ Flask 应用启动失败,请检查日志${NC}" fi fi # 3. 检查 Next.js AgentChat echo -e "${YELLOW}[3/4] 检查 AgentChat (端口 3000)...${NC}" if lsof -Pi :3000 -sTCP:LISTEN -t >/dev/null ; then echo -e "${GREEN}✓ AgentChat 已运行${NC}" else echo -e "${YELLOW}启动 AgentChat...${NC}" cd /home/ubuntu/vf_react/src/views/AgentChat/neuratalk # 检查是否已安装依赖 if [ ! -d "node_modules" ]; then echo -e "${YELLOW}安装依赖...${NC}" npm install fi # 检查环境配置 if [ ! -f ".env.local" ]; then echo -e "${YELLOW}创建环境配置...${NC}" cat > .env.local << EOL NEXT_PUBLIC_API_URL=http://localhost:5001 NEXT_PUBLIC_MAIN_APP_URL=https://valuefrontier.cn SESSION_COOKIE_NAME=session PORT=3000 MCP_SERVER_URL=http://localhost:8900 EOL fi # 启动 Next.js npm run dev > agentchat.log 2>&1 & sleep 5 if lsof -Pi :3000 -sTCP:LISTEN -t >/dev/null ; then echo -e "${GREEN}✓ AgentChat 启动成功${NC}" else echo -e "${RED}✗ AgentChat 启动失败,请检查日志${NC}" fi fi # 4. 验证服务 echo -e "${YELLOW}[4/4] 验证服务状态...${NC}" echo "" echo "服务状态检查:" echo "----------------------------------------" # MCP 工具列表 echo -n "MCP 工具接口: " if curl -s http://localhost:8900/tools > /dev/null 2>&1; then echo -e "${GREEN}✓ 正常${NC}" else echo -e "${RED}✗ 异常${NC}" fi # Flask Session echo -n "Flask 认证接口: " if curl -s http://localhost:5001/api/auth/session > /dev/null 2>&1; then echo -e "${GREEN}✓ 正常${NC}" else echo -e "${RED}✗ 异常${NC}" fi # Next.js echo -n "AgentChat 应用: " if curl -s http://localhost:3000/ai-chat > /dev/null 2>&1; then echo -e "${GREEN}✓ 正常${NC}" else echo -e "${RED}✗ 异常${NC}" fi echo "" echo "=========================================" echo -e "${GREEN}访问地址:${NC}" echo "- 本地测试: http://localhost:3000/ai-chat" echo "- 生产环境: https://valuefrontier.cn/ai-chat" echo "" echo -e "${YELLOW}查看日志:${NC}" echo "- MCP: tail -f mcp_server.log" echo "- Flask: tail -f flask_app.log" echo "- AgentChat: tail -f src/views/AgentChat/neuratalk/agentchat.log" echo "========================================="