Installer macht alles: Modell, Selbsttest, Start, Browser
Vorher endete die Installation mit drei Befehlen zum Abtippen. Es gibt keinen Grund dafuer - der Installer laedt jetzt das Sprachmodell, laeuft den Selbsttest, startet den Daemon, wartet auf /health und oeffnet die Einrichtungsseite. Ein fehlgeschlagener Modell-Download bricht nichts ab: das Toolkit laeuft auch ohne, es entstehen dann Clips ohne Untertitel. Schalter -OhneModell und -KeinBrowser fuer den Fall, dass man das nicht will. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01AhVSfMFdWnXKCv5JfLnArZ
This commit is contained in:
1 parent
92f14eaa62
commit
56af15cf3f
1 file changed
+58
-11
+58
-11
@@ -21,7 +21,10 @@ param(
|
||||
# installiert wird. Dort liegen abdulive.json und die ZIP-Datei.
|
||||
[string]$Quelle = 'https://git.zeasy.dev/ZeasyAlex/abdulive/releases/download/latest',
|
||||
[string]$Ziel = (Join-Path $env:LOCALAPPDATA 'Programs\abdulive'),
|
||||
[switch]$KeinAutostart
|
||||
[switch]$KeinAutostart,
|
||||
# Das Sprachmodell ist 465 MB. Ohne es entstehen Clips ohne Untertitel.
|
||||
[switch]$OhneModell,
|
||||
[switch]$KeinBrowser
|
||||
)
|
||||
|
||||
$ErrorActionPreference = 'Stop'
|
||||
@@ -158,18 +161,62 @@ if (-not $KeinAutostart) {
|
||||
Hinweis 'Aufgabe "abdulive-update" sieht taeglich um 05:00 nach.'
|
||||
}
|
||||
|
||||
# ---------------------------------------------------------------- Einrichten
|
||||
|
||||
$cmd = Join-Path $Ziel 'abdulive.cmd'
|
||||
$version = (Get-Content (Join-Path $Ziel 'version.json') -Raw | ConvertFrom-Json).version
|
||||
|
||||
if (-not $OhneModell) {
|
||||
Schritt 'Sprachmodell laden (einmalig, ca. 465 MB)'
|
||||
# Nicht abbrechen, wenn das schiefgeht: das Toolkit laeuft auch ohne
|
||||
# Modell, es entstehen dann nur Clips ohne Untertitel.
|
||||
& $cmd fetch-model
|
||||
if ($LASTEXITCODE -ne 0) {
|
||||
Hinweis 'Fehlgeschlagen. Spaeter nachholen mit: abdulive fetch-model'
|
||||
}
|
||||
}
|
||||
|
||||
Schritt 'Selbsttest'
|
||||
& $cmd check-env
|
||||
$selbsttest = $LASTEXITCODE
|
||||
|
||||
if (-not $KeinAutostart) {
|
||||
Schritt 'Starten'
|
||||
Start-ScheduledTask -TaskName 'abdulive'
|
||||
|
||||
# Warten, bis die Weboberflaeche antwortet - sonst oeffnet der Browser
|
||||
# ins Leere. Der Daemon braucht ein paar Sekunden fuer Datenbank und
|
||||
# erste Verbindungen.
|
||||
$bereit = $false
|
||||
foreach ($i in 1..30) {
|
||||
Start-Sleep -Seconds 1
|
||||
try {
|
||||
$null = Invoke-WebRequest 'http://localhost:4792/health' -UseBasicParsing -TimeoutSec 2
|
||||
$bereit = $true
|
||||
break
|
||||
} catch { }
|
||||
}
|
||||
if ($bereit) {
|
||||
Hinweis 'Laeuft, die Oberflaeche antwortet.'
|
||||
if (-not $KeinBrowser) { Start-Process 'http://localhost:4792/setup' }
|
||||
} else {
|
||||
Hinweis 'Antwortet nach 30 s noch nicht. Protokoll:'
|
||||
Hinweis " $env:LOCALAPPDATA\abdulive\logs\abdulive.log"
|
||||
}
|
||||
}
|
||||
|
||||
# ---------------------------------------------------------------- Fertig
|
||||
|
||||
$version = (Get-Content (Join-Path $Ziel 'version.json') -Raw | ConvertFrom-Json).version
|
||||
Write-Host ''
|
||||
Write-Host "abdulive $version ist installiert." -ForegroundColor Green
|
||||
if ($selbsttest -eq 0) {
|
||||
Write-Host "abdulive $version laeuft." -ForegroundColor Green
|
||||
} else {
|
||||
Write-Host "abdulive $version ist installiert, der Selbsttest meldet aber Fehler." -ForegroundColor Yellow
|
||||
}
|
||||
Write-Host ''
|
||||
Write-Host 'Naechste Schritte:'
|
||||
Write-Host " 1. Sprachmodell laden (einmalig, ca. 465 MB):"
|
||||
Write-Host " & '$Ziel\abdulive.cmd' fetch-model"
|
||||
Write-Host " 2. Umgebung pruefen:"
|
||||
Write-Host " & '$Ziel\abdulive.cmd' check-env"
|
||||
Write-Host ' 3. Starten und einrichten:'
|
||||
Write-Host ' Start-ScheduledTask -TaskName abdulive'
|
||||
Write-Host ' dann http://localhost:4792/setup im Browser oeffnen'
|
||||
Write-Host 'Im Browser ist jetzt die Einrichtungsseite offen:'
|
||||
Write-Host ' http://localhost:4792/setup'
|
||||
Write-Host ''
|
||||
Write-Host 'Dort eintragen: die beiden Twitch-Apps und das OBS-Passwort.'
|
||||
Write-Host 'Danach ist alles beisammen.'
|
||||
Write-Host ''
|
||||
Reference in new issue
Block a user