Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01AhVSfMFdWnXKCv5JfLnArZ
5.3 KiB
Übergabe
Stand 2026-09-09. Wer hier weitermacht, sollte diese Seite zuerst lesen und
danach 07-mvp-plan.md.
Wo das Projekt steht
Vier von sieben Scheiben des MVP „Clip-Knopf" sind gebaut. Die Kette vom Auslöser bis zum fertigen Short steht im Code vollständig — geprüft ist sie überall dort, wo es ohne Abdus Stream-PC ging.
| Scheibe | Stand | Nachweis |
|---|---|---|
| S0 Toolchain + Auslieferung | fertig | check-env nativ ohne harte Fehler, Paket gebaut und installiert |
| S1 Einrichtung, Auth, DB, Chat | fertig | Daemon läuft, Chat verbunden, Secrets verschlüsselt |
S2 OBS + !clip |
Code fertig, nicht abgenommen | braucht laufendes OBS |
| S3 9:16-Render | fertig | Durchlauf mit künstlicher Aufnahme |
| S4 Untertitel | fertig | Durchlauf mit echtem deutschen Clip |
| S5 Onboarding + Sichtung | offen | — |
| S6 Erstchatter-Begrüßung | offen | — |
79 Tests, alle grün. Vollständige Liste dessen, was noch fehlt:
offene-punkte.md.
Was jemand wissen muss, bevor er etwas anfasst
Es gibt keine Abhängigkeiten und keinen Build. Node 24 bringt SQLite,
WebSocket, fetch und die Ausführung von TypeScript mit. node apps/cli/main.ts
läuft direkt. Deshalb gilt: nur löschbare TypeScript-Syntax — keine enum,
keine Parameter-Properties im Konstruktor, keine namespace. erasableSyntaxOnly
in der tsconfig.json erzwingt das und hat schon einen echten Fehler gefangen.
Alles läuft unter einem Dach, in einem Prozess. Schwere Arbeit (ffmpeg, whisper) läuft als Kindprozess und darf abstürzen. Der Ingest darf nie sterben — was er nicht mitschreibt, ist für immer weg.
Zugangsdaten kommen aus der Weboberfläche, nicht aus einer Datei. Sie liegen verschlüsselt neben der Datenbank, aber bewusst nicht in ihr — die Datenbank wird gesichert und weitergereicht, die Geheimnisse nicht.
Rohdateien gehören in den Arbeitsordner, nicht neben den OBS-Puffer. Das war unter Docker ein Zeitproblem (Encodieren über die WSL2-Brücke kostete ein Vielfaches) und ist nativ nur noch Ordnung — der Wiedergabepuffer-Ordner gehört OBS.
Die Begründungen stehen in decisions/, sieben ADRs. Wer eine
davon umwerfen will, sollte sie vorher lesen; jede hat einen Grund, der beim
Bauen aufgetaucht ist. ADR-0004 (Docker) ist durch ADR-0007 ersetzt — die
Analyse darin bleibt trotzdem lesenswert.
Loslegen
Auf Abdus Rechner läuft eine native Windows-Anwendung — kein Docker, kein WSL2, nichts zu übersetzen (ADR-0007):
irm https://git.zeasy.dev/ZeasyAlex/abdulive/raw/branch/main/scripts/install.ps1 | iex
Der Installer laedt das Sprachmodell, laeuft den Selbsttest, startet den Daemon und oeffnet die Einrichtungsseite.
Ausführlich in 05-setup.md.
Zum Entwickeln reicht ein Checkout und Node 24 oder neuer:
node apps/cli/main.ts check-env
node --test "packages/**/*.test.ts" "apps/**/*.test.ts"
node scripts/build-package.ts --version 0.5.0 # baut dist/*.zip
Typprüfung (das Einzige, wofür npm gebraucht wird):
npm i typescript@5.9 @types/node
npx tsc --noEmit
Die drei Dinge, die Abdu tun muss
- Broadcaster-Konto verbinden. Die beiden Twitch-Apps
(dev.twitch.tv/console/apps, Redirect-URI
http://localhost:4792/callback) kann auch jemand anders anlegen — sie hängen nicht am Kanal. Was nur Abdu kann: auf der Einrichtungsseite eingeloggt als er selbst auf „Mit Twitch verbinden" klicken. Dafür muss die Anwendung auf seinem Rechner schon laufen; die Seite hört nur auf127.0.0.1. - OBS einrichten: obs-websocket an (Port 4455), Wiedergabepuffer 90 s, Hotkey auf „Wiedergabepuffer speichern", getrennte Audiospuren.
- Layout umstellen nach
obs-layout.md. Die Ausrichtungsvorlage in OBS über die Szene legen, Quellen einpassen, wieder ausblenden. Danachcalibratezur Kontrolle.
Ohne Punkt 1 liest das Toolkit den Chat anonym mit und kann nichts senden. Ohne Punkt 2 gibt es keine Clips. Ohne Punkt 3 sitzt der Ausschnitt schief.
Wo ich weitermachen würde
S5. Nicht wegen des Codes, sondern weil das Werkzeug ohne Einrichtungs- Assistenten und Sichtungsseite für Abdu nicht bedienbar ist. Die Kette funktioniert, aber sie hat noch keine Oberfläche, die jemand ohne Erklärung benutzt. Abnahmekriterium steht im Plan: Ein Fremder kommt von „nichts eingerichtet" bis zum ersten eigenen Clip, ohne die Dokumentation zu lesen.
Davor, wenn Gelegenheit ist: S2 an einem laufenden OBS abnehmen. Das ist die einzige ungeprüfte Stelle in der ganzen Kette, und alles Weitere hängt daran.
Womit ich nicht zufrieden bin
Die Untertitel sind brauchbar, nicht gut. ggml-small verhört sich hörbar
(„Danke" wurde „Dank es"), die Schrift ist unauffällig, und das fortlaufende
Einfärben ist nicht der Stil, der auf Shorts trägt. Sechs konkrete
Verbesserungen stehen in offene-punkte.md.
Und: Das Aufräumen im Arbeitsordner fehlt komplett. Rohdateien sammeln sich unbegrenzt an. Das ist die Lücke, die als Erstes weh tun wird.
Der Updater ist einmal komplett durchgelaufen: 0.4.0 erkannt, 119 MB von
git.zeasy.dev geladen, Prüfsumme geprüft, bereitgelegt, von launcher.ps1
getauscht, pending aufgeräumt. Was noch nie lief, ist die CI-Pipeline.