Automatisierung
Alle Skripte, quer über alle Phasen
Die Fabrik besteht zum großen Teil aus Skripten, die niemand sieht: Anmeldungen bei AdsPower und Multilogin, Captchas, Warmup, Branding, Upload, dazu der ganze Klon-Apparat und die Patches, die Bausteine in die Workflows schreiben.
Die Beschreibungen unten sind nicht gepflegt, sondern werden bei jedem Bau aus der ersten Zeile im Skript selbst gelesen. Ein Skript, das umbenannt oder gelöscht wird, verschwindet hier von allein. Was keinem Schritt zugeordnet ist, steht als solches da: entweder fehlt die Zuordnung, oder das Skript wird nicht mehr gebraucht.
- 1Kanal Prep · 21
- 2DNA & Rezept · 16
- 4Test · 11
- 5Veröffentlichen · 3
- keiner Phase zugeordnet · 230
Konten und Browser 48 Skripte, 22 ohne Phase
Anmelden, 2FA, Captcha, Antidetect-Profile, Warmup, Branding, Upload · Ordner scaling/
| Skript | Was es tut | Phase |
|---|---|---|
| account_login | account_login.py – Google-Login im getarnten Browser vollautomatisch durchfahren. | 1 Kanal Prep |
| account_signup | account_signup.py – ein Google-Konto SELBST anlegen (Jonas-Weg), vollautomatisch. | 1 Kanal Prep |
| adspower_drive | adspower_drive.py – steuert AdsPower-Profile headless über die Local API (Port 50325). | 1 Kanal Prep |
| anchor_check | anchor_check.py – LESENDER Nachweis, dass der Trust-Anker eines Kontos wirklich steht. | 1 Kanal Prep |
| backup_codes | backup_codes.py – Google-Backup-Codes ziehen und sicher ablegen (dritter Trust-Anker, jonas.md §2c-H). | 1 Kanal Prep |
| channel_create | channel_create.py – Schritt 7b: dem Google-Konto einen YouTube-Kanal geben (HZ-426). | 1 Kanal Prep |
| editors | editors.py – wer managt welchen Kanal. EINE Quelle: hq.config.json -> editors. | 1 Kanal Prep |
| factory_state | factory_state.py – Bau-Status der Konten-Fabrik HART schreiben statt raten (HZ-817). | 1 Kanal Prep |
| multilogin_drive | multilogin_drive.py – Multilogin-X-Profile per API bauen + headless fernsteuern. | 1 Kanal Prep |
| pop_check | pop_check.py – Reichweiten-Tor (HZ-1116): 2 Tage nach dem Walking-Video Urteil faellen. | 1 Kanal Prep |
| proxy_watch | proxy_watch.py – warnt, BEVOR ein Proxy ablaeuft (HZ-817). | 1 Kanal Prep |
| recovery_add | recovery_add.py – Recovery-Telefonnummer im Google-Konto hinterlegen (Trust-Anker, jonas.md §2c-H). | 1 Kanal Prep |
| rotate_creds | rotate_creds.py – Passwort und Authenticator (TOTP) eines gekauften Google-Kontos auf EIGENE | 1 Kanal Prep |
| run_channel | run_channel.py – Kanal(e) aktivieren: Profil starten -> Google-Login -> Captcha (whisper) | 1 Kanal Prep |
| secrets_store | secrets_store.py – EINE Quelle fuer das Schreiben in dashboard/config/hq.secrets.json. | 1 Kanal Prep |
| verify_probe | verify_probe.py – Nur-Lesen-Diagnose: WAS genau will Google von diesem Konto? | 1 Kanal Prep |
| video_meta | video_meta.py – Titel und Beschreibung eines hochgeladenen Videos aendern (HZ-428). | 1 Kanal Prep |
| walking_meta | walking_meta.py – der BELEG neben jedem Walking-Video (HZ-428 Teil 2+3). | 1 Kanal Prep |
| warmup | warmup.py – SCHRITT 5 der Konten-Fabrik (HZ-218/817): frisch eingeloggte YouTube-Konten | 1 Kanal Prep |
| whisper_captcha | whisper_captcha.py – reCAPTCHA v2 Audio-Challenge lokal lösen ($0, kein API-Key, kein Extension). | 1 Kanal Prep |
| ytseller | YTSeller-Client – Zutaten-Beschaffung fuer die Konten-Fabrik (docs/bereiche/scaling.md). | 1 Kanal Prep |
| build_channel | build_channel.py <CH> [--editor] – oder als Funktion build(CH, editor) importierbar. | 2 DNA & Rezept |
| fabrik_check | fabrik_check.py – taeglicher Selbsttest der Konten-Fabrik (HZ-443). Read-only, $0. | 4 Test |
| studio_publish | HZ-290 – die Bruecke: fertiger Render eines Klon-Kanals -> plan.json -> Browser-Upload. | 5 Veröffentlichen |
| warmup_daily | warmup_daily.py – taeglicher Warmup-Lauf ueber die Konten, die UNS gehoeren (Cron). | 5 Veröffentlichen |
| yt_upload | yt_upload.py – ein Video ueber die YouTube-Studio-OBERFLAECHE hochladen, im getarnten Profil. | 5 Veröffentlichen |
| account_parse | account_parse.py – Konto-Zeilen robust lesen. EIN Parser, zwei Nutzer: | – |
| adspower_watchdog | adspower_watchdog.py – haelt AdsPower (und seine Anzeige :99) von selbst am Leben (Cron). | – |
| auto_upload | HZ-288 – AUTO-UPLOAD: fertige Videos laufen ohne Handgriff auf ihren YouTube-Kanal. | – |
| backup_codes_watch | backup_codes_watch.py – zieht fehlende Google-Backup-Codes SELBST, sobald ein Konto anmeldbar ist (HZ-470). | – |
| brand_apply | brand_apply.py – das fertige Branding wirklich AUF den Kanal setzen (HZ-844, Teil von HZ-249). | – |
| brand_bilder | Kanalbild AUS der DNA-Vorgabe: Avatar + Banner erzeugen – hinter zwei Toren (HZ-1237). | – |
| browser_driver | browser_driver.py – EINE Naht fuer alle Browser-Starts der Konten-Fabrik. | – |
| build_batch | build_batch.py – baut einen Konten-Batch (Haupt + Editor) in EINEM Prozess. | – |
| captcha_probe | captcha_probe.py – feststellen, WELCHES Captcha Google vor den Login stellt (rein lesend). | – |
| captcha_solve | captcha_solve.py – Captcha lösen via NoCaptcha AI (Konten-Fabrik, Login-Automatik HZ-223). | – |
| factory_status | factory_status.py – LEBENDER Stand je Konto, den das HQ anzeigt (Leon-Wunsch 20.07.: | – |
| kanal_prep | kanal_prep.py – HZ-1125: Schritt 1 der Fabrik (Kanal Prep) als EIN Ablauf sichtbar machen. | – |
| melden | EIN Melde-Weg nach Telegram – und die Regel, WANN gemeldet wird. | – |
| nummern_pool | nummern_pool.py – EINE Quelle fuer die gekauften US-SMS-Nummern der Konten-Fabrik. | – |
| prep_kette | prep_kette.py – HZ-1134: O1 Kanal Prep FUEHRT AUS, statt nur zu berichten. | – |
| profil_offen | profil_offen.py – ein Browser-Profil SICHTBAR offen halten, damit ein Mensch darin klickt. | – |
| relogin_daily | HZ-402 – Re-Login-Automat: abgemeldete Konten melden sich selbst wieder an. | – |
| runlog | runlog.py – Arbeitsbericht der Konten-Fabrik. | – |
| ui_heal | ui_heal.py – Selbstheilung für Browser-Automation, wenn Google die Oberfläche ändert. | – |
| yt_entwuerfe | HZ-1255 – Studio-Entwuerfe LISTEN und gezielt LOESCHEN. | – |
| yt_reply | yt_reply.py – Zuschauer-Kommentare beantworten: ENTWÜRFE erzeugen, einzeln nach Freigabe posten. | – |
| yt_verify | yt_verify.py – YouTube-Kanal per SMS verifizieren (youtube.com/verify), ohne Handgriff. | – |
Klon-Apparat 159 Skripte, 134 ohne Phase
Nische messen, DNA ziehen, Maßstab, Prüfen, Forken, Rezepte · Ordner channel_clone/
| Skript | Was es tut | Phase |
|---|---|---|
| algrow_rest | HZ-239/HZ-846 · Serverseitige Algrow-REST-Bruecke – OHNE Claude-MCP-Session. | 2 DNA & Rezept |
| apply_recipe | HZ-230 Apply-Motor v2 – Kanal-Registry + Recipe in EINEM Befehl anwenden. | 2 DNA & Rezept |
| channel_dossier | HZ-509: Kanal-Dossier – EIN Datensatz je Kanal, zwei Auswertungstiefen. | 2 DNA & Rezept |
| clone_refine_loop | HZ-324 · Autonomer Klon-Verfeinerungs-Loop ($0, headless, per Cron). | 2 DNA & Rezept |
| derive_format | HZ-322 · Render-Format aus AI-Vision automatisch ableiten (kanaluebergreifend, $0). | 2 DNA & Rezept |
| dna_massstab | HZ-519 · Den MASSSTAB in die DNA schreiben – messbare Zielwerte statt Prosa ($0). | 2 DNA & Rezept |
| extract_dna | Channel-Clone · Phase 0 – Kanal-DNA-Extraktor (HZ-205, Vorstufe zu HZ-203). | 2 DNA & Rezept |
| fetch_channel_videos | HZ-216: Read a FOREIGN YouTube channel's public video list via the YouTube Data API, | 2 DNA & Rezept |
| fork_channel | HZ-231 (Motor v2 Block C, der HZ-203-Kern): Kanal-ERSTELLEN aus Recipe+DNA. | 2 DNA & Rezept |
| frame_vision | HZ-297 · Eigene Video-Vision ($0, Algrow-unabhaengig). | 2 DNA & Rezept |
| kanal_sprache | Welche Sprache misst man an einem Kanal? – eine Auflösung für alle Transkript-Wege. | 2 DNA & Rezept |
| klonbarkeit | K0 · KLONBARKEIT – kann dieser fremde Kanal ueberhaupt geklont werden, und wie weit? | 2 DNA & Rezept |
| niche_probe | HZ-491: Nischen-Sonde – holt harte YouTube-Zahlen zu einer Nischen-Hypothese und schreibt | 2 DNA & Rezept |
| traeger | TRAEGER – welcher Baustein traegt dieses Element? Die Zuordnung, die in BEIDE Richtungen geht. | 2 DNA & Rezept |
| yt_subs | HZ-491 · Untertitel fremder YouTube-Videos holen – lokal, $0. | 2 DNA & Rezept |
| clone_score | HZ-353 · T3 – Frame-Abgleich gegen die Referenz + ehrlicher Klon-Prozent ($0). | 4 Test |
| dna_loop | HZ-519 · Der Regelkreis: Test-Folge rendern -> messen -> Rezept-Zahlen nachziehen ($0). | 4 Test |
| factory_test | HZ-352 · FABRIK-TEST – T1 (Trockenlauf) + T2 (Test-Render) als EIN Werkzeug. | 4 Test |
| material_mix | HZ-519 · Materialmix eines Kanals messen – woraus die Bilder BESTEHEN ($0). | 4 Test |
| modul_abdeckung | HZ-541 · MODUL-ABDECKUNG – zeigt EINE Folge wirklich jedes Modul? ($0) | 4 Test |
| modul_showroom | HZ-541 · MODUL-SHOWROOM – jede Auspraegung einmal ansehen, nebeneinander ($0). | 4 Test |
| render_probe | HZ-352 · Test-Render fuer EINEN beliebigen Kanal – Wegwerf-Container, $0. | 4 Test |
| road_check | HZ-363 – Der Beweis: fährt die Straße wirklich genau das, was heute im Fork steht? | 4 Test |
| upload_target_check | HZ-814 Preflight: stimmt das Upload-Ziel jedes Kanals ueberall ueberein? | 4 Test |
| wiring_tree | HZ-393 · T0 VERDRAHTUNGS-BAUM – haengt die Pipeline eines Kanals wirklich zusammen? ($0, Sekunden) | 4 Test |
| abnahme_korb | Abnahme-Korb: EIN Weg, wie ein Werkzeug etwas zum Ansehen zu Leon bringt. | – |
| abruf_ledger | HZ-941 · Vorbild-Abruf: Wiederhol-Weg, gemessenes Zeitfenster, lautes Scheitern (read-only bis | – |
| anstoss_riegel | EIN Auslöser je Kanal – der gemeinsame Riegel vor jedem bezahlten Lauf. | – |
| apply_p1_prompt | apply_p1_prompt.py – HZ-1300. Gegenrichtung zu freeze_p1_prompt.py: schreibt | – |
| asset_preflight | Preflight fuer Render-Assets: findet fehlende Dateien BEVOR ein Render daran stirbt. | – |
| assign_voice_settings | HZ-842 – jedem Kanal seine eigenen STIMMEN-REGLER geben (Folge von HZ-837). | – |
| assign_voices | HZ-837 – jedem Kanal seine EIGENE Stimme geben, aus der DNA abgeleitet. | – |
| autonomie | HZ-508 – LÄUFT DIESER KANAL OHNE HAND? Eine gemessene Tafel und EIN Schalter. | – |
| avatar_lage | HZ-1293 · Avatar-Lage – WO im Video steht die Kanal-Figur, nicht nur WIE OFT ($0). | – |
| beat_probe | HZ-355 – Was steht bei diesem Kanal WIRKLICH als Beat-Regel im Router-Prompt? ($0, kein Lauf) | – |
| bewegung_linse | Bewegungs-Dimension des Klon-Scores: Freezes, harte Spruenge, Schwarzbilder. Read-only, $0. | – |
| bgm_holen | Hintergrundmusik mit BELEGBARER Lizenz holen – und die Herkunft mitschreiben. | – |
| bildweg | Welches BILDMATERIAL ein Kanal braucht – aus seiner DNA, nicht aus einer Vorlage. | – |
| build_package | HZ-821 – Kanal-Paket: aus dem duennen ~1KB-Recipe ein VOLLSTAENDIGES, selbsttragendes | – |
| build_voice_pool | Baut channel_clone/voices.json – den EINEN Stimmen-Pool, aus dem sich Builder, | – |
| channel_doctor | Kanal-Doktor (HZ-234) – die Self-Critique-Schleife des Klon-Motors. | – |
| channels | HZ-257 – DIE Kanal-Quelle fuer alle Video-Store-Werkzeuge. | – |
| clip_linse | HZ-1279 Clip-Linse: 3-5s-Ausschnitte als Frame-Streifen unser vs. Vorbild, nebeneinander. | – |
| dna_check | HZ-503 – Welche DNA liest die Pipeline WIRKLICH? (read-only, $0) | – |
| dna_pruefen | HZ-519 · Trifft eine veroeffentlichte Folge den MASSSTAB ihrer DNA? ($0) | – |
| dna_signature_set | HZ-1280 · Signature-Wahl fest in die DNA schreiben – Leons Klick aus dem Showroom. | – |
| docker_deckel | EIN Zeitdeckel fuer jeden `docker exec` – am Host UND im Container. Read-only, $0. | – |
| drift_check | HZ-233/230 Drift-Check – meldet, wenn ein Baustein-Anker nicht mehr auf die P2 eines | – |
| eigenname | Ein geklonter Kanal bekommt einen EIGENEN Namen – nicht den seines Vorbilds ($0). | – |
| eigenname_propagieren | Ist ein eigener Name gewaehlt, zieht er durch die Fabrik nach ($0, HZ-1301). | – |
| element_spec | HZ-1277 · Element-Spec – einen Referenz-Frame des VORBILDS vermessen -> Spec-Werte. | – |
| element_test | HZ-1277 · Element-Test – der $0-Schnellkreis: Payload + Vertrag + Stills in ~5 Minuten. | – |
| export_frische | HZ-799 – Frische-Waechter fuer die Workflow-Exporte in out/ und src_dumps/. | – |
| fabrik_loop | HZ-336/343 · Autonomer Fabrik-Optimierungs-Loop ($0, 2 Agenten, per Cron). | – |
| flaechen_linse | HZ-1013 · Flaechen-Dimension der Klon-Messung ($0, nur ffmpeg – kein Modell). | – |
| fork_erbe | Das psych-Erbe aus den Fork-Vorlagen nehmen – beim FORK, nicht erst am lebenden Workflow. | – |
| freeze_p1_prompt | HZ-528 – die P1-Prompts eines Kanals aus seinem lebenden Fork ins REZEPT einfrieren. | – |
| freeze_p3_render | HZ-404 – die drei nicht herleitbaren P3-Werte je Kanal messen und einfrieren. | – |
| freeze_p3_trigger | HZ-431 – den P3-Trigger-Webhook je Kanal messen und in die Registry einfrieren. | – |
| freeze_p4_thumb | HZ-405 – die Thumbnail-Schule eines Kanals aus seinem lebenden Fork-P4 einfrieren. | – |
| freeze_p5_callback | HZ-403 – den Upload-Callback je Kanal messen und in die Registry einfrieren. | – |
| freeze_router_prompt | HZ-406 – den Router-Prompt eines Kanals aus seinem lebenden Fork ins REZEPT einfrieren. | – |
| funnel_assets | funnel_assets.py – erzeugt die QR-Endkarte für den Funnel-Baustein. $0, lokal. | – |
| funnel_preis_check | funnel_preis_check.py – stimmt der EINGEBRANNTE Kartenpreis mit dem Shop überein? $0. | – |
| funnel_video_check | funnel_video_check.py – prüft den Funnel-Baustein IM fertigen Video. Read-only, $0. | – |
| gegenhalt | Gegenhalt – ALLE messbaren Achsen auf einmal gegen ihr Soll. Read-only, $0. | – |
| golden_gate | HZ-1277 · Golden-Gate – laeuft VOR jedem Renderer-Rebuild, nicht danach. | – |
| grading_farbton | HZ-1034 – Farbton des Bildmaterials messen und den Tint dagegen rechnen ($0, read-only). | – |
| hausregel_check | Wächter für die Hausregeln aus CLAUDE.md. Read-only, $0, kein Netz. | – |
| heygen_client | heygen_client.py – HeyGen-API-Client für den Persona-Baustein (docs/funnel_persona_plan.md). | – |
| inject_p1 | DNA → P1-Injektion (HZ-206): setzt den CHANNEL-DNA-Block in den Skript-Prompt | – |
| karten_kontrast | karten_kontrast.py – steht ein Foto hinter der Lesekarte, oder ist die Flaeche flach? ($0) | – |
| karten_linse | HZ-1282 (BAU 2/2 aus HZ-1209) · Karten-Dimension des Klon-Scores: Textzeilen + Kartenflaeche | – |
| karten_sprache_check | karten_sprache_check.py – HZ-1300. Sind P1-Prompt und Karten-Chrome (Reddit-Kommentare, | – |
| klon_loop | HZ-1115 · Klon-Loop als Standardschritt – EIN Aufruf je Kanal, VOR dem Go-Live. | – |
| klon_referenz | Wer ist das Vorbild eines Kanals? – EINE Auflösung, von allen benutzt (HZ-525). | – |
| klon_verlauf | Der Verlauf der Kernzahl – EINE Regel, gelesen von der Vision-Seite UND vom HQ. | – |
| klonbarkeit_stand | Der K0-Stand aus dem Ledger – EINE Lesestelle für alle Anzeigen (12.08.2026). | – |
| laenge_linse | Die Laengen-Dimension des Klon-Scores: Ist-Dauer gegen die abgenommene Sollspanne. $0. | – |
| look_ab | HZ-519 · A/B-Vergleich zweier Stil-Fassungen MIT Stichprobe. | – |
| look_loop | HZ-519 · Look-Loop: den Bild-Prompt so lange nachziehen, bis der Ist im Zielkorridor liegt. | – |
| look_metrik | HZ-519 · Objektive Look-Metrik fuer den Bild-Loop ($0, nur ffmpeg). | – |
| luecken_art | HZ-338 · Jede Klon-Luecke sagt, WO sie hingehoert: WERT, REGEL oder SYSTEM ($0, read-only). | – |
| material_sprache | HZ-542 · Das Skript kennt sein Material – Regeln je Materialart sehen und ableiten ($0). | – |
| modulbuch | HZ-848 · MODULBUCH – was kann der Renderer, und welcher Kanal nutzt es? | – |
| motiv_sperre | Vorab-Pruefung: kann zu DIESER Person ueberhaupt eine Folge entstehen? (Leon 11.08.2026) | – |
| niche_board | Die EINE gesperrte Schreibstelle für das Ideen-Board (channel_clone/niche_ideas.json). | – |
| nischen_eignung | K1+ · NISCHEN-EIGNUNG – welche Nische zieht, UND kann unsere Fabrik sie ohne Hand bauen? | – |
| nischen_eignung_stand | Der Nischen-Eignungs-Stand aus dem Ledger – EINE Lesestelle für alle Anzeigen (13.08.2026). | – |
| nischen_takt_plan | WAS WIRD WANN NACHGEMESSEN – die eine Lesestelle für den Takt der Nischen-Prüfung. | – |
| not_suchwort | HZ-671 · Das Not-Suchwort eines Kanals sehen und aus seiner DNA ableiten ($0). | – |
| p1_laenge | Modul 12 (Video-Laenge): alle Laengen-Angaben EINES P1-Skript-Prompts konsistent | – |
| p1_probe | HZ-792 – Wie viele Woerter schreibt der LEBENDE P1-Skript-Prompt wirklich? ($0, kein Lauf) | – |
| p2_bildprompts | Die zwei BILD-Prompts der P2-Stufe aus der DNA eines Kanals ableiten ($0). | – |
| p2_strasse_probe | HZ-525 – würde die P2-Straße diesen Kanal FAHREN? Gemessen, ohne einen Cent auszugeben. | – |
| pacing_messen | HZ-538 · Taugt ein Kanal-Dossier als Messgrundlage? (kein LLM, kein Netz, $0) | – |
| passung_linse | Bild-zu-Inhalt-Passung: passt das Gezeigte zu dem, was gerade ERZÄHLT wird? | – |
| payload_vertrag | HZ-1277 · Payload-Vertrag – sind die Format-Elemente einer Folge da UND sichtbar? | – |
| probe_klonbarkeit | PROBE K0 – schlaegt die Klonbarkeits-Skala ueberhaupt aus? ($0, kein Netz, kein Modell) | – |
| prompt_kreis | HZ-977 · Der Prompt-Kreis: eine gemessene Klon-Luecke aendert EINEN Prompt-Satz und | – |
| prompt_verdrahten | Feste Prompt-Literale an die Werkbank anschliessen (HZ-973). | – |
| prompt_vorschlag | HZ-951 · Eine REGEL-Luecke bekommt einen VORSCHLAGSSATZ und einen Freigabe-Befehl ($0). | – |
| prompt_werkbank | Prompt-Werkbank – EIN Ort fuer jeden Text, den wir einer KI geben (HZ-973). | – |
| recipe_from_live | HZ-307 – Ist-Zustand-Scanner: was nutzt jeder Kanal WIRKLICH (nicht was das Recipe behauptet). | – |
| referenz_messen | HZ-538/545 · Ein Referenzvideo als DATEI vermessen – ohne YouTube-Zugriff ($0, kein LLM). | – |
| registry_io | Eine gesperrte Schreibstelle fuer channel_clone/registry.json. | – |
| registry_sync_active | HZ-394 – registry.json `active` gegen den echten n8n-Stand abgleichen. | – |
| render_host_check | Soll/Ist: ruft jede Pipeline-Stufe den Render-Container an, den ihr Kanal laut Register hat? | – |
| render_mapping | HZ-410 – `render_mapping` aus der Kanal-DNA in echte Renderer-Schalter uebersetzen. | – |
| retention_probe | HZ-528 – Retentions-KURVEN je Video ziehen, damit am Skript nicht geraten wird. | – |
| rezept_wirkung | Hat ein ECHTES Video die Rezept-Werte wirklich benutzt? – je Teil, gemessen. ($0) | – |
| road_ids | HZ-566 – WER IST DIE STRASSE? Eine Auskunft, die jedes Werkzeug dieselbe Antwort gibt. | – |
| road_sperre | HZ-761 – EINEN Kanal auf der geteilten Straße einzeln anhalten. | – |
| road_switch | HZ-540 – der Straßen-Stand als EINE gemessene Tafel, und der Umschalt-Handgriff als EIN Weg. | – |
| sample_alvaro_thumbs | HZ-296-Vorarbeit: alvaro-Thumbnail-Showroom nach vision-verifizierter thumbnail_dna. | – |
| sample_styles | Builder-Stil-Galerie (HZ-212 v4): DIESELBE Szene in jedem Bild-Stil – echte | – |
| schreiber_check | HZ-873 – WER schreibt registry.json und active_stand.json, in welchem TAKT, und mit Sperre? | – |
| scrape_proxy_check | HZ-1026 · Lebt SCRAPE_PROXY? (read-only, $0) | – |
| self_test_material | HZ-242 · Selbst-Test-Material: unsere EIGENEN Folgen als Scrape-JSON fuer extract_dna.py. | – |
| signatur_showroom | HZ-1280 · SIGNATUR-SHOWROOM – 10 Signature-Effekt-Varianten einmal rendern, nebeneinander ($0). | – |
| skript_linse | Skript- und Titel-Dimension: klingt UNSER Text wie das Vorbild – bevor irgendwer klickt? | – |
| skript_vertrag_check | skript_vertrag_check.py – hält UNSER Skript den Redaktionsvertrag der DNA ein? $0. | – |
| stock_licht_check | HZ-1239 – prueft, ob die P2-Stock-Suche eines Kanals ihre Lichtstimmung wirklich aus der | – |
| takt_nachruesten | HZ-960 – was `autonomie.py` als FEHLEND meldet, baut dieses Werkzeug nach. | – |
| takt_waechter | HZ-1089 – Takt-Automatik statt Handklick (ersetzt HZ-508). | – |
| test_absturz_schwelle | HZ-956 – die Absturz-Schwelle muss ueber der eigenen Messstreuung liegen. | – |
| test_geteilter_publisher | HZ-1074: `--freigabe aus` darf einen GETEILTEN Publisher-Workflow nicht deaktivieren. | – |
| test_juengste_gleichstand | HZ-885 · Zeigt bei ZEIT-GLEICHSTAND jede Stelle dieselbe Ledger-Zeile? ($0, read-only) | – |
| test_klon_linien | HZ-703 – der Verlauf vergleicht NUR innerhalb einer Quelle. Read-only, $0. | – |
| test_linsen_neu | Die zwei neuen Mess-Dimensionen (13.08.2026) an gebauten UND echten Faellen – $0, kein Modell. | – |
| test_linsen_zaehler | Der Linsen-Zaehler kann nicht mehr ueberlaufen – und wenn doch, wird es laut. | – |
| test_prompt_kreis | HZ-977 · Der Automat des Prompt-Kreises, gegen eine erfundene naechste Messung ($0). | – |
| test_schreiber_check | Gegenprobe fuer schreiber_check.py – $0, ohne Netz, ohne Schreibzugriff (HZ-873). | – |
| test_skript_linse | Skript- und Titel-Dimension an echten Quellen und gebauten Faellen – $0, kein Modell. | – |
| test_wf_bearbeiten | Selbsttest fuer den EINEN Schreibweg nach n8n: apply_recipe.wf_bearbeiten (HZ-873). | – |
| testdata_build | HZ-352 · T2-Test-Assets fuer EINEN Kanal bauen – lokal, gratis, kanaltypisch. | – |
| testdata_fetch | HZ-347 · Test-Assets fuer die Klon-/Bild-QA holen – lokal und gratis. | – |
| thumb_dna_loop | HZ-320 – Thumbnail-DNA-Generator mit KI-Abgleich-Loop (wiederverwendbar, alle Kanaele). | – |
| thumb_dna_mess | Die `thumbnail_dna` eines Vorbildkanals an seinen ECHTEN Thumbnails messen ($0). | – |
| thumb_linse | Thumbnail-Dimensionen des Klon-Scores: Format, Dunkelheit, Farbkraft. Read-only, $0. | – |
| thumb_schule | Die Thumbnail-Schule eines Kanals aus SEINER DNA ableiten – statt sie aus dem Fork zu erben. | – |
| thumb_stil | HZ-349 – die Thumbnail-Textfuehrung eines Kanals umschalten: tupac_integrated | flach_overlay | hook_band | clean. | – |
| thumb_wahl | Welche Thumbnail-Variante geht hoch? Die naechste am Vorbild – nicht die erste. Read-only, $0. | – |
| thumb_widerspruch | HZ-1035 – Widersprueche zwischen dem zusammengesetzten Thumbnail-Prompt und der | – |
| ton_linse | Ton-Dimensionen des Klon-Scores: Stimme, Tempo, Musik, Lautheit. Read-only, $0. | – |
| ton_referenz | Das TON-SOLL des Vorbilds – gemessen, nicht abgeleitet. Lokal, $0 Modellkosten. | – |
| upload_ort | HZ-990 – EINE Antwort auf die Frage: wo haengt das Upload-Ziel eines Kanals HEUTE? | – |
| upload_sprache_check | upload_sprache_check.py – sind Titel, Beschreibung und Pinned-Kommentar in Produktions-Sprache? $0. | – |
| voice_pick | Automatische Stimmen-Wahl aus dem Pool (HZ-254). | – |
| voice_regler | HZ-698 – die Stimmen-Regler eines Kanals aus seiner DNA ableiten, ohne Netz und ohne Kosten. | – |
| voice_samples | Echte Hoerproben zu den Stimmen-Kandidaten – im Skripttext des jeweiligen KANALS (HZ-837/HZ-697). | – |
| wert_herleitung | HZ-950 · Woher kommt der Wert, den der Regelkreis setzt? ($0, read-only ausser --setzen) | – |
| wortlaut_linse | Wortlaut-Dimension des Klon-Scores: sagt unsere Folge dasselbe wie das Vorbild? Read-only, $0. | – |
| wortziel_messen | HZ-407 – Das Wortziel jedes Kanals: messen, einordnen, einfrieren. | – |
| yt_comments | commentThreads-Leser (HZ-234, Kanal-Doktor) – echte Zuschauer-Kommentare eines Videos. | – |
| yt_comments_session | Session-basierter Kommentar-Leser (HZ-841) – echte Zuschauer-Kommentare OHNE OAuth. | – |
| yt_meta_api | HZ-1012 · Metadaten fremder YouTube-Videos OHNE Proxy – ueber die YouTube Data API ($0). | – |
| yt_quota | Das YouTube-Quota-Buch – wie viel vom Tagesbudget ist weg, und wofür? (13.08.2026) | – |
| yt_zweitweg | HZ-804 · Der ZWEITE Weg zu Vorbild-Material – ohne yt-dlp und ohne SCRAPE_PROXY. | – |
Pipeline-Patches 74 Skripte, 74 ohne Phase
Je ein Skript, das einen Baustein in einen n8n-Node schreibt · Ordner wf_fork/
| Skript | Was es tut | Phase |
|---|---|---|
| patch_alvaro_upload_guard | HZ-290 SICHERHEIT: der alvaro_horror (Historias Reddit) Kanal laedt ueber den | – |
| patch_apimart_zu_codex | HZ-1278 · ApiMart -> codex-proxy in n8n-Workflows (Leon 17.08.2026: "kein apimart mehr, | – |
| patch_dedup_pro_lauf | Bild-Dedup: eine Merkliste JE AUSFUEHRUNG statt einer geteilten pro Workflow. | – |
| patch_drive_url | HZ-969 – `drive_folder_url` in P1 gegen eine leere Antwort absichern. | – |
| patch_einzelpoll_zeitgrenze | Zeitgrenze auf Status-Abrufe, die HINTER einem Wait stehen, aber KEIN Kreis sind. | – |
| patch_errorhandler_telegram_onerror | HZ-1049 – Der Fehlermelder darf nicht am ersten Meldeweg sterben. | – |
| patch_filestore | HZ-287 – n8n-Workflows von Cloudflare R2 auf den lokalen Filestore umstellen. | – |
| patch_geo_p2_harvest_sources | [ABGELOEST durch wf_fork/patch_harvest_sources.py (HZ-302) – sources kommen jetzt MODULAR aus | – |
| patch_geo_p2_harvest_stage | Empty-Earth-P2 (JUpLZKHZCSUBfgzE): Harvester als LETZTE Bildquelle in die Stock-Kette (HZ-272). | – |
| patch_geo_p4_integrated_text | Geo-P4 (Empty Earth, 7EuCgga9fwXwqVzp): Thumbnail auf integrierten Text umstellen. | – |
| patch_harvest_sources | Harvest-GW-`sources` MODULAR aus dem Kanal-Rezept setzen (HZ-302). | – |
| patch_history_p2_harvest_stage | History-P2 (LKQVM0y1jVGbZ9n9): Harvester als LETZTE Bildquelle in die Stock-Kette (HZ-291). | – |
| patch_leere_visuals_waechter | Wächter gegen die zweite stille Sackgasse: 0 gültige Visuals enden als *success*. | – |
| patch_leerer_lauf_waechter | Wächter gegen den stillen Leerlauf: „kein Lauf im Store" wird ein sichtbarer Abbruch. | – |
| patch_lock_release_meldung | Die Freigabe des Render-Locks wird gelesen und ein Scheitern gemeldet (HZ-796, 04.08.2026). | – |
| patch_lock_ttl | Render-Lock ohne Laufzeit reparieren (gemessen 02.08.2026). | – |
| patch_netzfehler_riegel | HZ-825 – den Netzfehler-Riegel (guard_netzfehler.py) in die LEBENDEN Straßen nachziehen. | – |
| patch_p1_antwort_waechter | Waechter hinter die drei ungeprueften Aufrufe in Fork P1_Script ($0, kein Lauf noetig). | – |
| patch_p1_kapitelgrenze | HZ-1278 · P1 'Skript Parsen': Kapitel-Fallback an Objektgrenzen binden (17.08.2026). | – |
| patch_p1_leere_dedup | P1 stirbt still, wenn eine Dedup-Abfrage 0 Zeilen liefert. | – |
| patch_p1_motiv_sperre | HZ-1143: P1 fragt die Motiv-Sperre selbst ab, statt dass ein Mensch sie vorher aufruft. | – |
| patch_p1_nachschlag | HZ-792 – P1 schiebt ein zu kurzes Skript NACH, statt es kurz auszuliefern. | – |
| patch_p1_script_parser | Fix P1 brittle script-JSON parsing (Leon test-run crash 20.06.): inline JSON.parse breaks | – |
| patch_p1_sprache_debug | HZ-1278 · P1 Sprach-Override fuer die Debug-Phase (Leon 17.08.2026). | – |
| patch_p1_thema | P1 schreibt Hooks und Titel, ohne das THEMA des Videos zu kennen. | – |
| patch_p1_wortzaehler | HZ-792 – P1 zaehlt die Woerter seines Skripts SELBST (statt sie sich vom Modell sagen zu lassen). | – |
| patch_p2_bildweg | P2 auf den Bildweg der DNA stellen – KI-Illustration statt Stock, wenn der Kanal das ist. | – |
| patch_p2_doodle | Psych P2 (TPAUqXCPLFmRCSWC) STOCK -> DOODLE-KI-Umbau (Leon 03.07., Doodle-Pivot). | – |
| patch_p2_judge_notzweig | HZ-765: Der Not-Zweig von "Apply Judge Pick" traegt die Beat-Pflichtfelder mit – | – |
| patch_p2_kein_leerer_submit | HZ-735 – kein BEZAHLTER Auftrag mit leerem oder unveraendertem Input, live nachziehen. | – |
| patch_p2_material_mix | HZ-233 Material-Mix-Patch fuer Stock-P2s (Geo/Wisdom-Muster; Ziel = HZ-231-Klon-Fork). | – |
| patch_p2_road_director | Die Director-Palette der P2-STRASSE aus dem Bauplan holen statt als Literal (HZ-745). | – |
| patch_p2_road_material | HZ-542 – den Node „Skript ans Material anpassen" in die LEBENDE P2-Straße einsetzen. | – |
| patch_p2_road_router | HZ-525 – den Prompt-Bau-Node der P2-Straße auf den Stand von build_p2_road.py bringen. | – |
| patch_p2_road_stimme | Die Stimme der P2-STRASSE aus dem Bauplan holen statt aus dem Stamm (02.08.2026). | – |
| patch_p2_road_video | HZ-625 – Bewegtbild ueberlebt den Quellen-Mix der lebenden P2-Strasse. | – |
| patch_p2_store_waechter | HZ-944 · Waechter hinter die zwei Store-Statusschreiber in Road P2. | – |
| patch_p2_tts_lokal | P2-Stimme von Algrow auf den lokalen XTTS-Dienst umlegen – und zurueck (HZ-1337). | – |
| patch_p2_uebergabe_laut | HZ-1031 – Die Übergabe P2→P3 kann nicht mehr still ausfallen (08.08.2026). | – |
| patch_p2_video | Psych P2 (TPAUqXCPLFmRCSWC): STOCK-VIDEO-Beats via Pexels Video API (Leon 21.06.). | – |
| patch_p3_hq_out | HZ-1139 – dem Fork-P3 eines Kanals das fehlende `hq_out` im Render-Aufruf beibringen. | – |
| patch_p3_render_callback | HZ-1120 – dem Fork-P3 eines Kanals das fehlende `callback_url` beibringen. | – |
| patch_p3_render_ziele | Der Fork-P3 sagt dem Renderer weder, WESSEN P4 er wecken soll, noch WOHIN das Video gehoert. | – |
| patch_p3_trigger | HZ-404 – einen Kanal auf die P3-Straße umschalten (und zurück). | – |
| patch_p4_signlink | HZ-919 – Road P4: den EINEN echten anklickbaren Video-Link in der Telegram-Meldung | – |
| patch_p4_tote_nodes | P4: Nodes entfernen, die von keinem Trigger aus erreichbar sind (HZ-679). | – |
| patch_p4_trigger | HZ-405 – den Render-Callback eines Kanals auf die P4-Straße umschalten (und zurück). | – |
| patch_p4_upload_paket_store | P4-Fork: das Upload-Paket in die STORE-Zeile schreiben, statt es wegzuwerfen. | – |
| patch_p4_upload_target | HZ-814: schreibt das Upload-ZIEL explizit in jeden P4- und Publisher-Node. | – |
| patch_p5_callback | HZ-403 – den Upload-Callback eines Kanals auf die P5-Straße umschalten (und zurück). | – |
| patch_poll_deckel | Deckel auf die Abfrage-Warteschleifen von P2 und P4 (gemessen 03.08.2026). | – |
| patch_psych_p2_director | HZ-212 AI-Director (Leons Advisor): neuer Code-Node in Psych-P2 zwischen | – |
| patch_psych_p2_router_script | HZ-429 – psych P2 'Stock Query Router': das Skript kam nie am Router an. | – |
| patch_psych_retention_abc | Psych Retention-Fix A+B+C (Leon 2026-07-12). | – |
| patch_read_via_gateway | HZ-271 – Lese-Node `Notion - Get Run` auf den eigenen Store umhaengen. | – |
| patch_render_lock_hostname | Alle n8n-Nodes von `http://render:8080` auf `http://render-lock:8080` umstellen (HZ-1054). | – |
| patch_renderer_umzug | HZ-848 · Kanäle vom alten auf den EINEN Renderer umbiegen (history + cs -> psychology). | – |
| patch_rente_upload_guard | HZ-252 SICHERHEIT: verhindert, dass ein Rente-Testlauf versehentlich auf einen | – |
| patch_road_p2_bildweg | Kaskadenende des Bildwegs an der LEBENDEN Strasse Road P2 schliessen. | – |
| patch_road_p2_judge_json | Den Bild-Richter der lebenden P2-Strasse dazu bringen, dass seine Antwort ankommt. | – |
| patch_road_p2_notstufe | Die Not-Stufe der Bildkaskade in P2 wieder mit einem Suchwort versorgen (Strasse + Fork). | – |
| patch_road_p2_tonweg | Leerpruefung des TONWEGS an der LEBENDEN Strasse Road P2 nachziehen. | – |
| patch_script_fetch | HZ-386 – 'R2 - Fetch Script' auf eine ableitbare URL umstellen statt auf ein DB-Feld. | – |
| patch_stufen_kanal | HZ-755 – jeder Stufen-Aufruf traegt seinen Kanal (`?channel=<key>`). | – |
| patch_telegram_kanal | HZ-436 – jede Telegram-Meldung der Straße nennt den Kanal aus dem BAUPLAN, nicht ein Literal. | – |
| patch_testmode | HZ-815 – Trockenlauf pro Kanal an/aus schalten. | – |
| patch_tg_wiederholungsfilter | Dieselbe Meldung kommt nicht jeden Tag neu (13.08.2026, Leon: "immer pro tag mindestens | – |
| patch_topic_dedup_retry | Der Themen-Generator sieht die schon benutzten Themen – und eine Wiederholung weckt | – |
| patch_tts_speed | Sprechtempo-Parameter `speed` in den TTS-Node der P2-Strasse haengen – EINMALIG, parametrisch. | – |
| patch_upload_guard | Upload-Wächter für P2: ein fehlgeschlagener Filestore-Upload darf nicht weiterlaufen. | – |
| patch_whisper_timeout | HZ-704 – Whisper-Wortzeitmarken: Node-Timeout auf die GEMESSENE Laufzeit anheben. | – |
| patch_wortzeitmarken_guard | HZ-789 / HZ-683 – den Wortzeitmarken-Riegel in ALLE lebenden P3 nachziehen. | – |
| patch_write_via_store | HZ-271 Endschritt – Notion-WRITE-Nodes auf direkten Store-Write (op=upsert) umbauen. | – |
| patch_zeile_fehlt_stopp | Der Leerfall der Straßen-Stufen P3/P4/P5 endete als *success* – hier bekommt er einen Stopp. | – |
Vision