system-prompts-and-models-o.../unified-ai-platform/deploy.ps1
dopeuni444 ae726301f8 KI
KJ
2025-08-06 11:08:49 +04:00

147 lines
5.3 KiB
PowerShell

# Unified AI Platform Deployment Script
# This script helps deploy and manage the Unified AI Platform
param(
[string]$Action = "start",
[int]$Port = 3000
)
Write-Host "🚀 Unified AI Platform Deployment Script" -ForegroundColor Cyan
Write-Host "===============================================" -ForegroundColor Cyan
function Start-Platform {
Write-Host "Starting Unified AI Platform..." -ForegroundColor Green
# Kill any existing node processes
try {
Get-Process -Name "node" -ErrorAction SilentlyContinue | Stop-Process -Force
Write-Host "✓ Stopped existing processes" -ForegroundColor Green
} catch {
Write-Host "No existing processes found" -ForegroundColor Yellow
}
# Start the platform
Start-Process -FilePath "node" -ArgumentList "src/simple-server.js" -WindowStyle Hidden
# Wait for startup
Start-Sleep -Seconds 3
# Test the platform
try {
$response = Invoke-WebRequest -Uri "http://localhost:$Port/health" -Method GET -TimeoutSec 5
if ($response.StatusCode -eq 200) {
Write-Host "✅ Platform started successfully!" -ForegroundColor Green
Write-Host "🌐 Web Interface: http://localhost:$Port" -ForegroundColor Cyan
Write-Host "📊 Health Check: http://localhost:$Port/health" -ForegroundColor Cyan
Write-Host "🎯 Demo: http://localhost:$Port/api/v1/demo" -ForegroundColor Cyan
Write-Host "🔧 API Docs: http://localhost:$Port/api/v1/capabilities" -ForegroundColor Cyan
}
} catch {
Write-Host "❌ Failed to start platform" -ForegroundColor Red
Write-Host "Error: $($_.Exception.Message)" -ForegroundColor Red
}
}
function Stop-Platform {
Write-Host "Stopping Unified AI Platform..." -ForegroundColor Yellow
try {
Get-Process -Name "node" -ErrorAction SilentlyContinue | Stop-Process -Force
Write-Host "✅ Platform stopped successfully!" -ForegroundColor Green
} catch {
Write-Host "❌ Failed to stop platform" -ForegroundColor Red
Write-Host "Error: $($_.Exception.Message)" -ForegroundColor Red
}
}
function Test-Platform {
Write-Host "Testing Unified AI Platform..." -ForegroundColor Blue
$endpoints = @(
@{Name="Health Check"; URL="/health"},
@{Name="Demo"; URL="/api/v1/demo"},
@{Name="Tools"; URL="/api/v1/tools"},
@{Name="Capabilities"; URL="/api/v1/capabilities"}
)
foreach ($endpoint in $endpoints) {
try {
$response = Invoke-WebRequest -Uri "http://localhost:$Port$($endpoint.URL)" -Method GET -TimeoutSec 5
Write-Host "$($endpoint.Name): $($response.StatusCode)" -ForegroundColor Green
} catch {
Write-Host "$($endpoint.Name): Failed" -ForegroundColor Red
}
}
}
function Show-Status {
Write-Host "Platform Status:" -ForegroundColor Blue
try {
$processes = Get-Process -Name "node" -ErrorAction SilentlyContinue
if ($processes) {
Write-Host "✅ Platform is running" -ForegroundColor Green
Write-Host "Processes: $($processes.Count)" -ForegroundColor Cyan
# Test health endpoint
try {
$response = Invoke-WebRequest -Uri "http://localhost:$Port/health" -Method GET -TimeoutSec 5
$health = $response.Content | ConvertFrom-Json
Write-Host "Status: $($health.status)" -ForegroundColor Green
Write-Host "Uptime: $([math]::Round($health.uptime, 2)) seconds" -ForegroundColor Cyan
} catch {
Write-Host "❌ Health check failed" -ForegroundColor Red
}
} else {
Write-Host "❌ Platform is not running" -ForegroundColor Red
}
} catch {
Write-Host "❌ Error checking status" -ForegroundColor Red
}
}
function Show-Help {
Write-Host "Usage: .\deploy.ps1 [-Action action] [-Port port]" -ForegroundColor Yellow
Write-Host ""
Write-Host "Actions:" -ForegroundColor Cyan
Write-Host " start - Start the platform" -ForegroundColor White
Write-Host " stop - Stop the platform" -ForegroundColor White
Write-Host " restart - Restart the platform" -ForegroundColor White
Write-Host " test - Test all endpoints" -ForegroundColor White
Write-Host " status - Show platform status" -ForegroundColor White
Write-Host " help - Show this help message" -ForegroundColor White
Write-Host ""
Write-Host "Examples:" -ForegroundColor Cyan
Write-Host " .\deploy.ps1 start" -ForegroundColor White
Write-Host " .\deploy.ps1 stop" -ForegroundColor White
Write-Host " .\deploy.ps1 test" -ForegroundColor White
Write-Host " .\deploy.ps1 -Action start -Port 3001" -ForegroundColor White
}
# Main execution
switch ($Action.ToLower()) {
"start" {
Start-Platform
}
"stop" {
Stop-Platform
}
"restart" {
Stop-Platform
Start-Sleep -Seconds 2
Start-Platform
}
"test" {
Test-Platform
}
"status" {
Show-Status
}
"help" {
Show-Help
}
default {
Write-Host "❌ Unknown action: $Action" -ForegroundColor Red
Write-Host "Use 'help' action to see available options" -ForegroundColor Yellow
}
}