Files
vf_react/start-all.sh
2025-11-22 09:10:13 +08:00

122 lines
3.6 KiB
Bash

#!/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 "========================================="