ZeasyAlexandClaude Opus 5 18421a1af0 Starter brachte den Daemon bei seiner ersten Logzeile um
Die Aufgabe scheiterte mit Code 1, abdulive.log gab es gar nicht. Ursache:

  & $node $main ingest 2>&1 | ForEach-Object { ... }

Windows PowerShell 5.1 verpackt jede stderr-Zeile eines nativen Programms
in einen ErrorRecord. Zusammen mit $ErrorActionPreference = Stop beendet
das sofort das ganze Skript - und der Daemon schreibt im Normalbetrieb
Warnungen auf stderr ("Kein Broadcaster-Token ..."). Er starb also an
seiner eigenen ersten Meldung, bevor irgendetwas ins Protokoll kam.

- launcher.ps1 startet jetzt ueber Start-Process mit getrennten
  Umleitungen fuer stdout und stderr, je Lauf rotiert
- install.ps1 ruft native Programme ueber eine Hilfsfunktion auf, die
  ErrorActionPreference kurz zurueckstellt
- NODE_OPTIONS=--disable-warning=ExperimentalWarning fehlte im Paket; im
  Container stand es in der Dockerfile

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01AhVSfMFdWnXKCv5JfLnArZ
2026-09-09 18:13:00 +02:00
2026-09-09 18:01:50 +02:00
2026-09-09 18:01:50 +02:00

abdulive-toolkit

Werkzeugkasten für den Twitch-Kanal abdulive_. Ein Monorepo mit mehreren kleinen Diensten, die sich einen gemeinsamen Kern teilen: Twitch-Auth, Helix-Client, EventSub/IRC-Ingest und eine SQLite-Datenbank.

TypeScript auf Node 24, ohne Laufzeitabhängigkeiten und ohne Build-Schritt — Node führt die .ts-Dateien direkt aus, SQLite und WebSocket sind eingebaut. Betrieb über Docker Compose.

Zielgröße des Kanals: ~5–30 gleichzeitige Zuschauer. Alles hier ist auf diese Phase optimiert — nicht auf Skalierung, sondern auf Wachstum und Bindung.

Die neun Tools

# Tool Ordner Zweck Status
1 Clip-to-Shorts apps/clipper Clips → 9:16 mit Untertiteln, Upload-fertig geplant
2 Go-Live-Broadcaster apps/broadcaster Stream-Start → Discord/Bluesky/Instagram geplant
3 Raid- & Netzwerk-Tool apps/raid-scout Raid-Ziele finden, Raid-Historie führen geplant
4 Analytics-Dashboard apps/dashboard Viewer vs. Chat, Titel-Performance, Retention geplant
5 VOD-Kapitel apps/vod-chapters Szenen-/Kategoriewechsel → Timestamps geplant
6 Community-Gedächtnis apps/community Chatter-Profile, Begrüßungen, Overlay-Hinweise geplant
7 Chat steuert Dinge apps/overlay-server + apps/overlay-web Overlay, Soundboard, Minigames, Umfragen geplant
8 Punktesystem + Shop apps/loyalty Punkte mit echten Konsequenzen geplant
9 Stream-Recap apps/recap Zusammenfassung nach Streamende in Discord geplant

Dazu der Dienst, der unter allen anderen liegt:

| — | Ingest-Daemon | apps/ingest | IRC + Helix → DB, Einrichtungsseite | läuft |

Doku

Auf dem Stream-PC installieren

Eine native Windows-Anwendung. Node, ffmpeg, whisper.cpp und die Schriften sind mitgeliefert — vorausgesetzt wird nur OBS. Kein Docker, kein WSL2, nichts zu übersetzen (ADR-0007).

Ein Befehl, ohne Administratorrechte. Programm und Daten landen im Benutzerprofil.

irm https://git.zeasy.dev/ZeasyAlex/abdulive/raw/branch/main/scripts/install.ps1 | iex

Kein Netz auf dem Stream-PC? Dann das Paket von der Releases-Seite laden, entpacken und darin install.ps1 ausführen.

Danach einmalig:

abdulive fetch-model     # Sprachmodell, ca. 465 MB
abdulive check-env       # Selbsttest
Start-ScheduledTask -TaskName abdulive

Dann http://localhost:4792/setup öffnen und die Twitch-Zugangsdaten eintragen. Sie werden verschlüsselt abgelegt, nicht in einer Datei im Projekt (ADR-0005).

Ausführlich: docs/05-setup.md.

Paket bauen und ausliefern

node scripts/build-package.ts --version 0.5.0

Lädt Node, ffmpeg und whisper.cpp bei ihren Herausgebern, packt alles nach dist/ und schreibt abdulive.json — das Manifest, das der Updater auf Abdus Rechner abfragt. Läuft auch in der CI unter Linux.

Auf dem Stream-PC sieht abdulive update täglich nach und legt eine neue Fassung bereit; eingespielt wird sie beim nächsten Start, nie mitten im Stream.

Aktueller Stand

Vier von sieben Scheiben des MVP „Clip-Knopf" sind gebaut: Toolchain, Einrichtung im Browser, Twitch-Auth, Datenbank, Chat-Aufnahme, OBS-Anbindung mit !clip, 9:16-Render und Untertitel. Dazu die native Auslieferung mit Installer und Updater. 79 Tests grün.

Offen: die Abnahme der OBS-Anbindung an einem laufenden OBS, dann S5 — Onboarding-Assistent und Sichtungsseite.

Details: docs/handoff.md

Tests

node --test "packages/**/*.test.ts" "apps/**/*.test.ts"
S
Description
No description provided
Readme
2.3 MiB
0 Stars 1 Watchers 0 Forks
2026-10-26 12:04:25 +00:00
Languages
TypeScript 73.9%
JavaScript 11%
HTML 8.3%
CSS 3.3%
PowerShell 2.4%
Other 1.1%