@echo off chcp 65001 >nul setlocal enabledelayedexpansion title SenSu Server cd /d "%~dp0" echo 🐱 SenSu 依赖检测... echo. set PASS=0 set FAIL=0 :: ── Python ── python --version >nul 2>&1 if %errorlevel% equ 0 ( echo [OK] Python set /a PASS+=1 ) else ( echo [FAIL] Python 未安装 set /a FAIL+=1 ) :: ── Python 依赖 ── python -c "import aiohttp" >nul 2>&1 if %errorlevel% equ 0 (echo [OK] aiohttp& set /a PASS+=1) else (echo [FAIL] aiohttp 缺失& set /a FAIL+=1) python -c "import yaml" >nul 2>&1 if %errorlevel% equ 0 (echo [OK] PyYAML& set /a PASS+=1) else (echo [FAIL] PyYAML 缺失& set /a FAIL+=1) python -c "import textual" >nul 2>&1 if %errorlevel% equ 0 (echo [OK] Textual& set /a PASS+=1) else (echo [FAIL] Textual 缺失& set /a FAIL+=1) python -c "import watchdog" >nul 2>&1 if %errorlevel% equ 0 (echo [OK] watchdog& set /a PASS+=1) else (echo [FAIL] watchdog 缺失& set /a FAIL+=1) python -c "import psutil" >nul 2>&1 if %errorlevel% equ 0 (echo [OK] psutil& set /a PASS+=1) else (echo [FAIL] psutil 缺失& set /a FAIL+=1) python -c "import rich" >nul 2>&1 if %errorlevel% equ 0 (echo [OK] rich& set /a PASS+=1) else (echo [FAIL] rich 缺失& set /a FAIL+=1) :: ── 配置文件 ── if exist "config\framework\base_config.yaml" ( echo [OK] base_config.yaml set /a PASS+=1 ) else if exist "config\framework\base_config.yaml.example" ( copy "config\framework\base_config.yaml.example" "config\framework\base_config.yaml" >nul echo [OK] 从模板创建 base_config.yaml set /a PASS+=1 ) else ( echo [FAIL] 配置文件缺失 set /a FAIL+=1 ) echo. if %FAIL% gtr 0 ( echo [FAIL] %FAIL% 项缺失,请先安装: pip install -r requirements.txt pause exit /b 1 ) echo [OK] 所有依赖就绪 (%PASS% 项) echo. echo 🚀 启动 SenSu (无头模式)... echo Web 面板: http://0.0.0.0:4200/SenSu echo. python main.py --headless pause