feat: DevTools调试工具 + 前端样式修复 + 管理员登录系统
DevTools (新增): - 进程管理器: 启动/停止/重启/编译 + 端口自动释放 - 服务接管 (tryAdopt): 检测已运行服务,健康检查通过则直接接管 - 一键启动 (startAllSequential): 按 ai-core→gateway→frontend 顺序启动 - 日志布局切换: 标签页模式 ↔ 三栏并列模式 - 性能监控: CPU/内存采样 + SVG 折线图 - Web UI + WebSocket 实时推送 前端修复: - tailwind.config.ts: 修复空配置导致 CSS 不加载 (增加 content/colors/fontFamily) - postcss.config.js: 新建缺失的 PostCSS 配置 - App.tsx: 移除注册功能,仅保留管理员登录 (admin / cyrene-dev-admin) 后端新增: - config.go: AdminUsername/AdminPassword/RegistrationEnabled 环境变量 - auth_handler.go: 管理员登录 + 注册邮箱验证码 + 注册开关控制 - 管理员凭据: admin / cyrene-dev-admin (默认) 其他: - .gitignore: 新增 devtools/node_modules/ devtools/logs/ devtools/package-lock.json - devtools.sh: DevTools 一键启动脚本
This commit is contained in:
+66
@@ -0,0 +1,66 @@
|
||||
#!/bin/bash
|
||||
# ========================================
|
||||
# Cyrene DevTools 启动脚本
|
||||
# 自动处理端口冲突、依赖安装和服务管理
|
||||
# ========================================
|
||||
set -e
|
||||
|
||||
SCRIPT_DIR="$(cd "$(dirname "$0")" && pwd)"
|
||||
DEVTOOLS_DIR="$SCRIPT_DIR/devtools"
|
||||
PORT="${DEVTOOLS_PORT:-9090}"
|
||||
|
||||
# 颜色输出
|
||||
RED='\033[0;31m'
|
||||
GREEN='\033[0;32m'
|
||||
YELLOW='\033[1;33m'
|
||||
CYAN='\033[0;36m'
|
||||
NC='\033[0m' # No Color
|
||||
|
||||
echo -e "${CYAN}━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━${NC}"
|
||||
echo -e "${CYAN} 🛠️ Cyrene DevTools${NC}"
|
||||
echo -e "${CYAN}━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━${NC}"
|
||||
|
||||
# 切换到 devtools 目录
|
||||
cd "$DEVTOOLS_DIR"
|
||||
|
||||
# 确保 Node.js 可用
|
||||
if ! command -v node &> /dev/null; then
|
||||
if [ -x /usr/local/node/bin/node ]; then
|
||||
export PATH="/usr/local/node/bin:$PATH"
|
||||
else
|
||||
echo -e "${RED}❌ 未找到 Node.js,请先安装 Node.js${NC}"
|
||||
exit 1
|
||||
fi
|
||||
fi
|
||||
|
||||
echo -e "${YELLOW}Node.js:${NC} $(node --version)"
|
||||
echo -e "${YELLOW}npm:${NC} $(npm --version)"
|
||||
|
||||
# 检查并释放端口
|
||||
if ss -tlnp 2>/dev/null | grep -q ":$PORT "; then
|
||||
echo -e "${YELLOW}⚠ 端口 $PORT 已被占用,正在释放...${NC}"
|
||||
fuser -k "$PORT/tcp" 2>/dev/null || true
|
||||
sleep 1
|
||||
echo -e "${GREEN}✅ 端口 $PORT 已释放${NC}"
|
||||
fi
|
||||
|
||||
# 安装依赖 (如有需要)
|
||||
if [ ! -d "node_modules" ] || [ ! -f "node_modules/.package-lock.json" ]; then
|
||||
echo -e "${YELLOW}📦 安装依赖...${NC}"
|
||||
npm install --silent
|
||||
fi
|
||||
|
||||
# 确保日志目录存在
|
||||
mkdir -p logs
|
||||
|
||||
echo ""
|
||||
echo -e "${GREEN}🚀 启动 DevTools 服务器 (端口: $PORT)...${NC}"
|
||||
echo -e "${CYAN} Web 控制台: http://localhost:$PORT${NC}"
|
||||
echo -e "${CYAN} API: http://localhost:$PORT/api/health${NC}"
|
||||
echo -e "${CYAN} WebSocket: ws://localhost:$PORT/ws${NC}"
|
||||
echo ""
|
||||
echo -e "${YELLOW} 按 Ctrl+C 退出 (将自动停止所有托管服务)${NC}"
|
||||
echo ""
|
||||
|
||||
# 启动 DevTools
|
||||
exec node src/index.js
|
||||
Reference in New Issue
Block a user