Repository navigation
Expand file tree
/
Copy pathstart.bat
More file actions
88 lines (76 loc) · 2.44 KB
/
Copy pathstart.bat
File metadata and controls
88 lines (76 loc) · 2.44 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
<
8000
div data-line-number="28" class="react-line-number react-code-text" style="padding-right:16px">2829
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
@echo off
chcp 65001 >nul
title Omnididact - Study and Research Engine
setlocal enabledelayedexpansion
REM 切换到当前脚本所在目录
cd /d "%~dp0"
echo ========================================================
echo Omnididact - 深度研学引擎 (Windows 启动器)
echo ========================================================
REM 1. 如果存在 .env 文件,则逐行读取并加载环境变量
if exist ".env" (
echo [INFO] 正在加载 .env 配置文件...
for /f "usebackq tokens=1* delims==" %%A in (".env") do (
set "KEY=%%A"
set "VAL=%%B"
REM 过滤空行与以 # 开头的注释行
if not "!KEY:~0,1!"=="#" (
if not "!KEY!"=="" (
set "!KEY!=!VAL!"
)
)
)
)
REM 2. 设置默认回退值(如果 .env 未配置则使用默认值)
if "%HOST%"=="" set "HOST=0.0.0.0"
if "%PORT%"=="" set "PORT=8000"
if "%RELOAD%"=="" set "RELOAD=false"
if "%NO_PROXY%"=="" set "NO_PROXY=localhost,127.0.0.1,::1"
REM 3. 安全 Token 校验提示
if "%OMNIDIDACT_API_TOKEN%"=="" (
if "%API_TOKEN%"=="" (
echo [WARNING] 未检测到 OMNIDIDACT_API_TOKEN,当前为匿名无密模式。
echo 生产部署强烈建议在 .env 中设置安全令牌。
echo --------------------------------------------------------
) else (
echo [SECURITY] 安全认证已开启 (API Token 保护)
)
) else (
echo [SECURITY] 安全认证已开启 (API Token 保护)
)
echo [INFO] 监听地址: http://%HOST%:%PORT%
echo [INFO] 代码重载: %RELOAD%
echo --------------------------------------------------------
REM 4. 优先使用 uv 运行环境,其次激活虚拟环境,最后使用系统 Python
where uv >nul 2>&1
if not errorlevel 1 (
echo [INFO] 使用 uv 运行环境启动...
uv run python proxy.py
goto :end
)
if exist ".venv\Scripts\activate.bat" (
echo [INFO] 正在激活虚拟环境: .venv
call .venv\Scripts\activate.bat
python proxy.py
goto :end
)
if exist "venv\Scripts\activate.bat" (
echo [INFO] 正在激活虚拟环境: venv
call venv\Scripts\activate.bat
python proxy.py
goto :end
)
python --version >nul 2>&1
if errorlevel 1 (
echo [ERROR] 未找到 Python 环境,请确保已安装 Python 并已将其添加到 PATH 中!
pause
exit /b 1
)
python proxy.py
:end
if errorlevel 1 (
echo.
echo [ERROR] 程序异常退出,退出代码: %errorlevel%
)
echo.
pause