Initial Release: OpenQode Public Alpha v1.3
This commit is contained in:
71
start-web-gui.ps1
Normal file
71
start-web-gui.ps1
Normal file
@@ -0,0 +1,71 @@
|
||||
# OpenQode Web GUI Launcher with Authentication Check
|
||||
# This script starts the web server and handles authentication if needed
|
||||
|
||||
$OpenQodeDir = Split-Path -Parent $MyInvocation.MyCommand.Path
|
||||
$ServerPath = "$OpenQodeDir\server.js"
|
||||
|
||||
Write-Host "OpenQode Web GUI v1.01" -ForegroundColor Cyan
|
||||
Write-Host "=========================" -ForegroundColor Cyan
|
||||
Write-Host ""
|
||||
|
||||
# Ask user for port
|
||||
$Port = Read-Host "Enter port for Web GUI (default: 3000)"
|
||||
if ([string]::IsNullOrWhiteSpace($Port)) {
|
||||
$Port = 3000
|
||||
} elseif (-not [int]::TryParse($Port, [ref][int]$null)) {
|
||||
Write-Host "Invalid port number. Using default port 3000." -ForegroundColor Yellow
|
||||
$Port = 3000
|
||||
}
|
||||
|
||||
Write-Host "Starting web server on port $Port..." -ForegroundColor Green
|
||||
Write-Host ""
|
||||
|
||||
# Check if Node.js is available
|
||||
try {
|
||||
node --version 2>$null | Out-Null
|
||||
if ($LASTEXITCODE -ne 0) {
|
||||
throw "Node.js not found"
|
||||
}
|
||||
} catch {
|
||||
Write-Host "[ERROR] Node.js is required but not found." -ForegroundColor Red
|
||||
Write-Host "Please install Node.js from https://nodejs.org/" -ForegroundColor Yellow
|
||||
pause
|
||||
exit 1
|
||||
}
|
||||
|
||||
# Start the server in a background job
|
||||
$ServerJob = Start-Job -ScriptBlock {
|
||||
param($ServerPath)
|
||||
Set-Location (Split-Path $ServerPath -Parent)
|
||||
node $ServerPath
|
||||
} -ArgumentList $ServerPath
|
||||
|
||||
Write-Host "Web server starting in background..." -ForegroundColor Yellow
|
||||
Write-Host "Opening browser at http://localhost:$Port" -ForegroundColor Green
|
||||
Write-Host ""
|
||||
|
||||
# Wait a bit for server to start, then open browser
|
||||
Start-Sleep -Seconds 3
|
||||
|
||||
try {
|
||||
# Open the browser
|
||||
Start-Process "http://localhost:$Port"
|
||||
|
||||
Write-Host "Browser opened. The Web GUI will guide you through authentication if needed." -ForegroundColor Cyan
|
||||
Write-Host "Press Ctrl+C in this window to stop the server." -ForegroundColor Gray
|
||||
Write-Host ""
|
||||
|
||||
# Wait for the server job (this will block until the job is stopped)
|
||||
Wait-Job $ServerJob
|
||||
} catch {
|
||||
Write-Host "Error occurred: $($_.Exception.Message)" -ForegroundColor Red
|
||||
}
|
||||
|
||||
# Clean up the job
|
||||
if ($ServerJob) {
|
||||
Stop-Job $ServerJob -ErrorAction SilentlyContinue
|
||||
Remove-Job $ServerJob -ErrorAction SilentlyContinue
|
||||
}
|
||||
|
||||
Write-Host ""
|
||||
Write-Host "OpenQode Web Server stopped." -ForegroundColor Cyan
|
||||
Reference in New Issue
Block a user