Getestet wie Abdu es tippt, in frischer Umgebung: laedt, prueft die Pruefsumme, installiert, legt die Aufgaben an. check-env danach ohne harte Fehler. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01AhVSfMFdWnXKCv5JfLnArZ
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
docs/00-overview.md— Was hier gebaut wird und warumdocs/01-architecture.md— Aufbau, Datenfluss, Prozessedocs/02-twitch-integration.md— Auth, Scopes, EventSub, Rate Limitsdocs/03-data-model.md— Datenbankschemadocs/04-roadmap.md— Reihenfolge und Meilensteinedocs/05-setup.md— Lokal einrichtendocs/06-hebel-analyse.md— Womit anfangen und warumdocs/07-mvp-plan.md— MVP „Clip-Knopf": Umfang, Scheiben, Zeitplandocs/handoff.md— Übergabe: Stand, Fallstricke, wo weitermachendocs/offene-punkte.md— was noch fehltdocs/obs-layout.md— die Layout-Vorgabe für OBSdocs/projects/— je ein Spec-Dokument pro Tooldocs/decisions/— Architekturentscheidungen (ADRs)
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"