Some checks failed
Release Binaries / release (push) Has been cancelled
Features: - Binary-Free Mode: No OpenCode binary required - NomadArch Native mode with free Zen models - Native session management - Provider routing (Zen, Qwen, Z.AI) - Fixed MCP connection with explicit connectAll() - Updated installers and launchers for all platforms - UI binary selector with Native option Free Models Available: - GPT-5 Nano (400K context) - Grok Code Fast 1 (256K context) - GLM-4.7 (205K context) - Doubao Seed Code (256K context) - Big Pickle (200K context)
296 lines
10 KiB
Plaintext
296 lines
10 KiB
Plaintext
@echo off
|
|
title NomadArch Installer
|
|
color 0A
|
|
setlocal enabledelayedexpansion
|
|
|
|
echo.
|
|
echo ███╗ ██╗ ██████╗ ███╗ ███╗ █████╗ ██████╗ █████╗ ██████╗ ██████╗██╗ ██╗
|
|
echo ████╗ ██║██╔═══██╗████╗ ████║██╔══██╗██╔══██╗██╔══██╗██╔════╝██║ ██║
|
|
echo ██╔██╗ ██║██║ ██║██╔████╔██║███████║██║ ██║███████║██████╔╝██║ ███████║
|
|
echo ██║╚██╗██║██║ ██║██║╚██╔╝██║██╔══██║██║ ██║██╔══██║██╔══██╗██║ ██╔══██║
|
|
echo ██║ ╚████║╚██████╔╝██║ ╚═╝ ██║██║ ██║██████╔╝██║ ██║██║ ██║╚██████╗██║ ██║
|
|
echo ╚═╝ ╚═══╝ ╚═════╝ ╚═╝ ╚═╝╚═╝ ╚═╝╚═════╝ ╚═╝ ╚═╝╚═╝ ╚═╝ ╚═════╝╚═╝ ╚═╝
|
|
echo.
|
|
echo INSTALLER - Enhanced with Auto-Dependency Resolution
|
|
echo ═══════════════════════════════════════════════════════════════════════════════
|
|
echo.
|
|
|
|
set ERRORS=0
|
|
set WARNINGS=0
|
|
|
|
cd /d "%~dp0"
|
|
|
|
echo [STEP 1/6] Checking System Requirements...
|
|
echo.
|
|
|
|
:: Check for Administrator privileges
|
|
net session >nul 2>&1
|
|
if %ERRORLEVEL% neq 0 (
|
|
echo [WARN] Not running as Administrator. Some operations may fail.
|
|
set /a WARNINGS+=1
|
|
echo.
|
|
)
|
|
|
|
:: Check for Node.js
|
|
echo [INFO] Checking Node.js...
|
|
where node >nul 2>&1
|
|
if %ERRORLEVEL% neq 0 (
|
|
echo [ERROR] Node.js not found!
|
|
echo.
|
|
echo NomadArch requires Node.js to run.
|
|
echo.
|
|
echo Download from: https://nodejs.org/
|
|
echo Recommended: Node.js 18.x LTS or 20.x LTS
|
|
echo.
|
|
echo Opening download page...
|
|
start "" "https://nodejs.org/"
|
|
echo.
|
|
echo Please install Node.js and run this installer again.
|
|
echo.
|
|
pause
|
|
exit /b 1
|
|
)
|
|
for /f "tokens=*" %%i in ('node --version') do set NODE_VERSION=%%i
|
|
echo [OK] Node.js detected: %NODE_VERSION%
|
|
|
|
:: Check Node.js version (require 18+)
|
|
for /f "tokens=1,2 delims=." %%a in ("%NODE_VERSION:v=%") do (
|
|
set MAJOR=%%a
|
|
set MINOR=%%b
|
|
)
|
|
if %MAJOR% lss 18 (
|
|
echo [WARN] Node.js version is too old (found v%MAJOR%.%MINOR%, required 18+)
|
|
echo [INFO] Please update Node.js from: https://nodejs.org/
|
|
set /a WARNINGS+=1
|
|
)
|
|
|
|
:: Check for npm
|
|
echo [INFO] Checking npm...
|
|
where npm >nul 2>&1
|
|
if %ERRORLEVEL% neq 0 (
|
|
echo [ERROR] npm not found! This should come with Node.js.
|
|
echo Please reinstall Node.js from: https://nodejs.org/
|
|
set /a ERRORS+=1
|
|
)
|
|
for /f "tokens=*" %%i in ('npm --version') do set NPM_VERSION=%%i
|
|
echo [OK] npm detected: %NPM_VERSION%
|
|
|
|
:: Check for Git (optional but recommended)
|
|
echo [INFO] Checking Git...
|
|
where git >nul 2>&1
|
|
if %ERRORLEVEL% neq 0 (
|
|
echo [WARN] Git not found (optional but recommended)
|
|
echo [INFO] Install from: https://git-scm.com/
|
|
set /a WARNINGS+=1
|
|
) else (
|
|
for /f "tokens=*" %%i in ('git --version') do set GIT_VERSION=%%i
|
|
echo [OK] Git detected: %GIT_VERSION%
|
|
)
|
|
|
|
:: Check for Python (optional, for some tools)
|
|
echo [INFO] Checking Python...
|
|
where python >nul 2>&1
|
|
if %ERRORLEVEL% neq 0 (
|
|
where python3 >nul 2>&1
|
|
if %ERRORLEVEL% neq 0 (
|
|
echo [WARN] Python not found (optional, required for some build tools)
|
|
echo [INFO] Install from: https://www.python.org/downloads/
|
|
set /a WARNINGS+=1
|
|
) else (
|
|
echo [OK] Python3 detected
|
|
)
|
|
) else (
|
|
for /f "tokens=2" %%i in ('python --version') do set PY_VERSION=%%i
|
|
echo [OK] Python detected: %PY_VERSION%
|
|
)
|
|
|
|
:: Check disk space (at least 2GB free)
|
|
for /f "tokens=3" %%a in ('dir /-c "%~dp0" ^| find "bytes free"') do set FREE_SPACE=%%a
|
|
set /a FREE_SPACE_GB=!FREE_SPACE!/1024/1024/1024
|
|
if !FREE_SPACE_GB! lss 2 (
|
|
echo [WARN] Low disk space (!FREE_SPACE_GB! GB free, recommended 2GB+)
|
|
set /a WARNINGS+=1
|
|
) else (
|
|
echo [OK] Disk space: !FREE_SPACE_GB! GB free
|
|
)
|
|
|
|
echo.
|
|
echo [STEP 2/6] Cleaning Previous Installation...
|
|
echo.
|
|
|
|
if exist "node_modules" (
|
|
echo [INFO] Found existing node_modules, cleaning...
|
|
if exist "node_modules\.package-lock.json" (
|
|
del /f /q "node_modules\.package-lock.json" 2>nul
|
|
)
|
|
echo [OK] Cleaned previous installation artifacts
|
|
) else (
|
|
echo [OK] No previous installation found
|
|
)
|
|
|
|
echo.
|
|
echo [STEP 3/6] Downloading OpenCode Binary...
|
|
echo.
|
|
|
|
if not exist "bin" mkdir bin
|
|
if not exist "bin\opencode.exe" (
|
|
echo [SETUP] Downloading opencode.exe from GitHub releases...
|
|
echo [INFO] This is required for workspace functionality.
|
|
curl -L -o "bin\opencode.exe" "https://github.com/NeuralNomadsAI/NomadArch/releases/latest/download/opencode.exe"
|
|
if %ERRORLEVEL% neq 0 (
|
|
echo [WARN] Failed to download opencode.exe automatically.
|
|
echo [INFO] You can install OpenCode CLI manually from: https://opencode.ai/
|
|
echo [INFO] Or download opencode.exe and place it in bin/ folder
|
|
echo [INFO] Without opencode.exe, workspace creation will fail.
|
|
set /a WARNINGS+=1
|
|
) else (
|
|
echo [OK] opencode.exe downloaded successfully
|
|
)
|
|
) else (
|
|
echo [OK] opencode.exe already exists
|
|
)
|
|
|
|
echo.
|
|
echo [STEP 4/6] Installing Dependencies...
|
|
echo.
|
|
echo This may take 3-10 minutes depending on your internet speed.
|
|
echo Please be patient and do not close this window.
|
|
echo.
|
|
|
|
call npm install
|
|
if %ERRORLEVEL% neq 0 (
|
|
echo.
|
|
echo [ERROR] npm install failed!
|
|
echo.
|
|
echo Common solutions:
|
|
echo 1. Check your internet connection
|
|
echo 2. Try running as Administrator
|
|
echo 3. Clear npm cache: npm cache clean --force
|
|
echo 4. Delete node_modules and try again
|
|
echo.
|
|
echo Attempting to clear npm cache and retry...
|
|
call npm cache clean --force
|
|
echo Retrying installation...
|
|
call npm install
|
|
if %ERRORLEVEL% neq 0 (
|
|
echo [ERROR] Installation failed after retry.
|
|
set /a ERRORS+=1
|
|
)
|
|
) else (
|
|
echo [OK] Dependencies installed successfully
|
|
)
|
|
|
|
echo.
|
|
echo [STEP 5/6] Building NomadArch...
|
|
echo.
|
|
echo This may take 2-5 minutes depending on your system.
|
|
echo.
|
|
|
|
call npm run build
|
|
if %ERRORLEVEL% neq 0 (
|
|
echo.
|
|
echo [ERROR] Build failed!
|
|
echo.
|
|
echo Common solutions:
|
|
echo 1. Check that Node.js version is 18+ (node --version)
|
|
echo 2. Clear npm cache: npm cache clean --force
|
|
echo 3. Delete node_modules and reinstall: rm -rf node_modules ^&^& npm install
|
|
echo 4. Check the error messages above for specific issues
|
|
echo.
|
|
set /a ERRORS+=1
|
|
) else (
|
|
echo [OK] Build completed successfully
|
|
)
|
|
|
|
echo.
|
|
echo [STEP 6/6] Verifying Installation...
|
|
echo.
|
|
|
|
:: Check UI build
|
|
if not exist "packages\ui\dist" (
|
|
echo [WARN] UI build not found
|
|
set /a WARNINGS+=1
|
|
) else (
|
|
echo [OK] UI build verified
|
|
)
|
|
|
|
:: Check Server build
|
|
if not exist "packages\server\dist\bin.js" (
|
|
echo [WARN] Server build not found
|
|
set /a WARNINGS+=1
|
|
) else (
|
|
echo [OK] Server build verified
|
|
)
|
|
|
|
:: Check Electron build
|
|
if not exist "packages\electron-app\dist\main\main.js" (
|
|
echo [WARN] Electron build not found
|
|
set /a WARNINGS+=1
|
|
) else (
|
|
echo [OK] Electron build verified
|
|
)
|
|
|
|
:: Check opencode.exe
|
|
if not exist "bin\opencode.exe" (
|
|
echo [WARN] opencode.exe not found. Workspace creation will fail.
|
|
echo [INFO] Download from: https://github.com/NeuralNomadsAI/NomadArch/releases/latest/download/opencode.exe
|
|
echo [INFO] Or install OpenCode CLI from: https://opencode.ai/
|
|
set /a WARNINGS+=1
|
|
) else (
|
|
echo [OK] opencode.exe verified
|
|
)
|
|
|
|
echo.
|
|
echo [STEP 7/7] Installation Summary
|
|
echo.
|
|
|
|
if %ERRORS% gtr 0 (
|
|
echo.
|
|
echo ═══════════════════════════════════════════════════════════════════════════════
|
|
echo [FAILED] Installation encountered %ERRORS% error^(s^)!
|
|
echo.
|
|
echo Please review the error messages above and try again.
|
|
echo For help, see: https://github.com/NeuralNomadsAI/NomadArch/issues
|
|
echo ═══════════════════════════════════════════════════════════════════════════════
|
|
echo.
|
|
pause
|
|
exit /b 1
|
|
)
|
|
|
|
echo.
|
|
echo ═══════════════════════════════════════════════════════════════════════════════
|
|
echo [SUCCESS] Installation Complete!
|
|
echo.
|
|
if %WARNINGS% gtr 0 (
|
|
echo [WARN] There were %WARNINGS% warning^(s^) during installation.
|
|
echo Review the warnings above. Most warnings are non-critical.
|
|
echo.
|
|
)
|
|
echo You can now run NomadArch using:
|
|
echo - Launch-Windows.bat ^(Production mode^)
|
|
echo - Launch-Dev-Windows.bat ^(Developer mode with hot reload^)
|
|
echo - NomadArch.vbs ^(Silent mode, no console window^)
|
|
echo.
|
|
echo For help and documentation, see: README.md
|
|
echo For troubleshooting, see: TROUBLESHOOTING.md
|
|
echo ═══════════════════════════════════════════════════════════════════════════════
|
|
echo.
|
|
echo Press any key to start NomadArch now, or close this window to start later...
|
|
pause >nul
|
|
|
|
:: Offer to start the app
|
|
echo.
|
|
echo [OPTION] Would you like to start NomadArch now? ^(Y/N^)
|
|
set /p START_APP="> "
|
|
if /i "%START_APP%"=="Y" (
|
|
echo.
|
|
echo [INFO] Starting NomadArch...
|
|
call Launch-Windows.bat
|
|
) else (
|
|
echo.
|
|
echo [INFO] You can start NomadArch later by running Launch-Windows.bat
|
|
echo.
|
|
)
|
|
|
|
exit /b 0
|