新增 start-all.bat 和 start-all.sh 用于一键启动所有服务 Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
91 lines
2.6 KiB
Batchfile
91 lines
2.6 KiB
Batchfile
@echo off
|
|
chcp 65001 >nul
|
|
color 0a
|
|
|
|
echo ========================================
|
|
echo X-Agents 一键启动
|
|
echo ========================================
|
|
echo.
|
|
|
|
REM 使用绝对路径
|
|
set "PROJECT_ROOT=D:\Code\Project\X-Agents"
|
|
set "AGENTS_DIR=%PROJECT_ROOT%\core\agents"
|
|
set "VENV_DIR=%AGENTS_DIR%\venv"
|
|
|
|
echo 项目根目录: %PROJECT_ROOT%
|
|
echo.
|
|
|
|
REM ========================================
|
|
REM 第一步:杀死所有占用端口的进程
|
|
REM ========================================
|
|
echo.
|
|
echo [0/4] 清理占用端口的进程...
|
|
|
|
REM 查找并杀死占用 8082 端口的进程 (Go)
|
|
for /f "tokens=5" %%a in ('netstat -ano ^| findstr ":8082.*LISTENING"') do (
|
|
echo 杀死进程 %%a (端口 8082)
|
|
taskkill //F //PID %%a >nul 2>&1
|
|
)
|
|
|
|
REM 查找并杀死占用 8001 端口的进程 (Python)
|
|
for /f "tokens=5" %%a in ('netstat -ano ^| findstr ":8001.*LISTENING"') do (
|
|
echo 杀死进程 %%a (端口 8001)
|
|
taskkill //F //PID %%a >nul 2>&1
|
|
)
|
|
|
|
REM 查找并杀死占用 5173 端口的进程 (Web)
|
|
for /f "tokens=5" %%a in ('netstat -ano ^| findstr ":5173.*LISTENING"') do (
|
|
echo 杀死进程 %%a (端口 5173)
|
|
taskkill //F //PID %%a >nul 2>&1
|
|
)
|
|
|
|
echo 端口清理完成
|
|
echo.
|
|
|
|
REM 等待端口释放
|
|
timeout /t 2 /nobreak >nul
|
|
|
|
REM 检查并创建虚拟环境
|
|
echo [1/4] 检查虚拟环境...
|
|
if not exist "%VENV_DIR%\Scripts\python.exe" (
|
|
echo 创建虚拟环境...
|
|
python -m venv "%VENV_DIR%"
|
|
echo 安装依赖...
|
|
"%VENV_DIR%\Scripts\pip.exe" install --upgrade pip
|
|
"%VENV_DIR%\Scripts\pip.exe" install -r "%AGENTS_DIR%\requirements.txt"
|
|
) else (
|
|
echo 虚拟环境已存在,跳过创建
|
|
)
|
|
|
|
REM 启动 Go 后端
|
|
echo [2/4] 启动 Go 后端服务...
|
|
start "Go Backend" cmd /k "cd /d "%PROJECT_ROOT%\server\cmd\api" && go run main.go"
|
|
|
|
REM 等待
|
|
timeout /t 3 /nobreak >nul
|
|
|
|
REM 启动 Python Agent (使用虚拟环境)
|
|
echo [3/4] 启动 Python Agent 服务...
|
|
start "Python Agent" cmd /k "cd /d "%PROJECT_ROOT%\core" && set "PYTHONPATH=%PROJECT_ROOT%\core" && "%VENV_DIR%\Scripts\python.exe" -m agents.main"
|
|
|
|
REM 等待
|
|
timeout /t 3 /nobreak >nul
|
|
|
|
REM 启动 Web 前端
|
|
echo [4/4] 启动 Web 前端...
|
|
start "Web Frontend" cmd /k "cd /d "%PROJECT_ROOT%\web" && npm run dev"
|
|
|
|
echo.
|
|
echo ========================================
|
|
echo 所有服务已启动!
|
|
echo ========================================
|
|
echo.
|
|
echo 请检查各终端窗口是否正常启动
|
|
echo.
|
|
echo Web 前端: http://localhost:5173
|
|
echo Go 后端: http://localhost:8082
|
|
echo Python: http://localhost:8001
|
|
echo.
|
|
echo 按任意键退出(服务继续在后台运行)...
|
|
pause >nul
|