Files
abdulive/scripts
ZeasyAlexandClaude Opus 5 3b606e36fb Hub: der Dienst laeuft zentral statt auf dem Stream-PC
Zwei Dinge, die Reichweite bringen sollen, hingen bisher daran, dass jemand
vor seinem Rechner sitzt: der Discord-Rollen-Knopf und die Go-Live-
Ankuendigung. Beide brauchen nur Internet.

Der Schnitt verlaeuft entlang einer Frage: braucht die Aufgabe eine Datei
oder ein Programm, das nur auf dem Stream-PC existiert?

  Hub (LXC)                    Ingest (Abdus PC)
  ---------                    -----------------
  Chat, Zuschauerzahlen        OBS-Wiedergabepuffer
  Discord: Knopf und Go-Live   !clip, Rendern, Untertitel
  Overlay-Seiten fuer OBS

Beide schreiben in ihre eigene Datenbank. Eine gemeinsame waere eine
Netzwerkfreigabe fuer SQLite - der zuverlaessigste bekannte Weg zu einer
beschaedigten Datei.

Das kostet ADR-0005 seine Hauptbegruendung: "bindet nur auf 127.0.0.1" gilt
fuer den Hub nicht mehr. An die Stelle treten ein Passwort mit signiertem
Sitzungs-Cookie fuer alles, was ein Mensch bedient, und ein zufaelliger
Schluessel in der Adresse fuer die Browser-Sources. Der Schluessel ist kein
schoenes Verfahren - er steht in jedem OBS-Profil -, aber eine Browser-Source
kann kein Formular ausfuellen und keinen Login durchhalten.

`publicUrl` haengt der OAuth-Rueckruf daran. Twitch vergleicht die
Redirect-URI zeichengenau, und ein fehlender Schraegstrich sieht im Fehlertext
aus wie ein falsches Client-Secret.

Die Routen der Einrichtungsseite sind aus ingest/server.ts herausgeloest,
weil sie jetzt an zwei Servern haengen.

Begruendung und Konsequenzen in ADR-0008.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-09-18 00:12:58 +02:00
..
2026-09-09 20:05:12 +02:00
2026-09-09 20:05:12 +02:00
2026-09-09 20:05:12 +02:00
2026-09-09 20:05:12 +02:00
2026-09-09 20:05:12 +02:00

scripts

Befehle der Anwendung ruft man ueber abdulive.cmd <name> auf (im Repo: node apps/cli/main.ts <name>). Daneben stehen hier die Skripte fuer Paketbau, Installation und Start.

Skript Wo Zweck
build-package.ts Entwicklungsrechner / CI Baut dist/abdulive-<version>-win-x64.zip samt Updater-Manifest
install.ps1 Stream-PC Installiert Programm, Daten und Autostart. Ohne Administratorrechte
uninstall.ps1 Stream-PC Entfernt Programm und Autostart. -AuchDaten loescht auch Datenbank, Clips und Modell
uninstall.ps1 Stream-PC Entfernt Programm und Autostart. -AuchDaten loescht auch Datenbank, Clips und Modell
launcher.ps1 Stream-PC Vom Aufgabenplaner gestartet: Update anwenden, dann Daemon starten
check-env Stream-PC Prueft ffmpeg, whisper-cli, Schriften, Sprachmodell, Verzeichnisse, OBS
auth Stream-PC OAuth-Flow fuer Broadcaster- und Bot-Token
db:migrate Stream-PC Migrationen anwenden
calibrate Stream-PC Facecam-Crop einmessen, schreibt config/layout.yaml
sources Stream-PC Listet die OBS-Quellen der laufenden Szene und sagt, welche im 9:16-Ausschnitt landen
backup.ps1 Stream-PC VACUUM INTO aus %LOCALAPPDATA%\abdulive\db, 30 Generationen
update Stream-PC Neue Fassung pruefen und bereitlegen; eingespielt wird beim naechsten Start