@echo off title ZCode AI engine (chengtao-baojia) - keep this window open to keep the engine running rem ============================================================ rem ZCode AI engine launcher (open-source zai-org/ZCode build) rem Runs a local chat web server: node zcode\bin\zcode.mjs --web rem Port/token : %USERPROFILE%\.zcode\chengtao\port.txt + token.txt rem (written by the app's AI settings; fallback 18789) rem Data dir : %~dp0zcode数据 (isolated via ZCODE_DATA_BASE_DIR rem + HOME/USERPROFILE override -- the agent's session rem store (~/.zcode/cli) is hardcoded to os.homedir(), rem so redirecting USERPROFILE is the ONLY way to keep rem conversations fully isolated from the desktop app) rem Log : engine-console.log in this directory (取证用) rem ============================================================ setlocal cd /d "%~dp0" set "PORT=18789" set "TOKEN=" rem ★ 先读真实用户目录下的参数文件,再切 HOME(切换后路径解析到数据目录) if exist "%USERPROFILE%\.zcode\chengtao\port.txt" set /p PORT=<"%USERPROFILE%\.zcode\chengtao\port.txt" if exist "%USERPROFILE%\.zcode\chengtao\token.txt" set /p TOKEN=<"%USERPROFILE%\.zcode\chengtao\token.txt" set "ZCODE_DATA_BASE_DIR=%~dp0zcode数据" set "HOME=%~dp0zcode数据" set "USERPROFILE=%~dp0zcode数据" rem 数据目录侧同名参数文件优先(两处 C# 都会写,这里兜底) if exist "%~dp0zcode数据\.zcode\chengtao\port.txt" set /p PORT=<"%~dp0zcode数据\.zcode\chengtao\port.txt" if exist "%~dp0zcode数据\.zcode\chengtao\token.txt" set /p TOKEN=<"%~dp0zcode数据\.zcode\chengtao\token.txt" if not exist "%ZCODE_DATA_BASE_DIR%\workspace" mkdir "%ZCODE_DATA_BASE_DIR%\workspace" >nul 2>&1 if not exist "%~dp0zcode\node\node.exe" ( echo [%date% %time%] ERROR: zcode\node\node.exe not found - maybe quarantined by antivirus. >> "%~dp0engine-console.log" echo Reinstall this package to restore the engine runtime. >> "%~dp0engine-console.log" pause exit /b 1 ) if not exist "%~dp0zcode\bin\zcode.mjs" ( echo [%date% %time%] ERROR: zcode\bin\zcode.mjs not found - engine package broken. >> "%~dp0engine-console.log" pause exit /b 1 ) echo [%date% %time%] ===== zcode --web start (port=%PORT%) ===== >> "%~dp0engine-console.log" "%~dp0zcode\node\node.exe" "%~dp0zcode\bin\zcode.mjs" --web --host 127.0.0.1 --port %PORT% --no-open --token %TOKEN% --workspace "%ZCODE_DATA_BASE_DIR%\workspace" >> "%~dp0engine-console.log" 2>&1