45 lines
1.4 KiB
Batchfile
45 lines
1.4 KiB
Batchfile
@echo off
|
||
rem 启动入口(Windows 版 start.sh):
|
||
rem 1. 确保 Python venv 与依赖就绪(缺失才安装)
|
||
rem 2. 确保 Node 依赖就绪(缺失才安装)
|
||
rem 3. 若没有 .env(首次启动),自动运行配置向导
|
||
rem 4. 启动 python -m server.app
|
||
rem
|
||
rem 端口/监听地址/模式等由 .env 决定(见 config/server.py、config/paths.py)。
|
||
rem 透传的命令行参数会传给 server.app(如 --port / --path / --thinking-mode)。
|
||
rem
|
||
rem 用法:
|
||
rem start.bat 正常启动(首次会自动初始化)
|
||
rem start.bat --thinking-mode 透传参数给 server.app
|
||
|
||
rem 控制台切到 UTF-8,保证中文提示与日志正常显示。
|
||
chcp 65001 >nul
|
||
setlocal
|
||
|
||
set "ROOT=%~dp0"
|
||
if "%ROOT:~-1%"=="\" set "ROOT=%ROOT:~0,-1%"
|
||
set "VENV_PY=%ROOT%\.venv\Scripts\python.exe"
|
||
|
||
call "%ROOT%\_bootstrap.bat" ensure_python_env
|
||
if errorlevel 1 exit /b 1
|
||
call "%ROOT%\_bootstrap.bat" ensure_node_env
|
||
if errorlevel 1 exit /b 1
|
||
|
||
call "%ROOT%\_bootstrap.bat" has_env_file
|
||
if not errorlevel 1 goto :start_server
|
||
|
||
echo.
|
||
echo [start] 未检测到 .env,进入首次初始化向导...
|
||
"%VENV_PY%" -m scripts.setup
|
||
call "%ROOT%\_bootstrap.bat" has_env_file
|
||
if not errorlevel 1 goto :start_server
|
||
echo [start] 初始化未完成(未生成 .env),已退出。 1>&2
|
||
exit /b 1
|
||
|
||
:start_server
|
||
echo.
|
||
echo [start] 启动 Web 服务...
|
||
cd /d "%ROOT%"
|
||
"%VENV_PY%" -m server.app %*
|
||
exit /b %errorlevel%
|