Die YouTube-Kanal-Fabrik Stand 2026-07-28 19:22 UTC

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.

Konten und Browser 40 Skripte, 13 ohne Phase

Anmelden, 2FA, Captcha, Antidetect-Profile, Warmup, Branding, Upload · Ordner scaling/

SkriptWas es tutPhase
account_loginaccount_login.py – Google-Login im getarnten Browser vollautomatisch durchfahren.1 Konto
account_signupaccount_signup.py – ein Google-Konto SELBST anlegen (Jonas-Weg), vollautomatisch.1 Konto
adspower_driveadspower_drive.py – steuert AdsPower-Profile headless über die Local API (Port 50325).1 Konto
anchor_checkanchor_check.py – LESENDER Nachweis, dass der Trust-Anker eines Kontos wirklich steht.1 Konto
backup_codesbackup_codes.py – Google-Backup-Codes ziehen und sicher ablegen (dritter Trust-Anker, jonas.md §2c-H).1 Konto
build_channelbuild_channel.py <CH> [--editor] – oder als Funktion build(CH, editor) importierbar.1 Konto
channel_createchannel_create.py – Schritt 7b: dem Google-Konto einen YouTube-Kanal geben (HZ-426).1 Konto
editorseditors.py – wer managt welchen Kanal. EINE Quelle: hq.config.json -> editors.1 Konto
factory_statefactory_state.py – Bau-Status der Konten-Fabrik HART schreiben statt raten (HZ-817).1 Konto
multilogin_drivemultilogin_drive.py – Multilogin-X-Profile per API bauen + headless fernsteuern.1 Konto
proxy_watchproxy_watch.py – warnt, BEVOR ein Proxy ablaeuft (HZ-817).1 Konto
recovery_addrecovery_add.py – Recovery-Telefonnummer im Google-Konto hinterlegen (Trust-Anker, jonas.md §2c-H).1 Konto
rotate_credsrotate_creds.py – Passwort und Authenticator (TOTP) eines gekauften Google-Kontos auf EIGENE1 Konto
run_channelrun_channel.py – Kanal(e) aktivieren: Profil starten -> Google-Login -> Captcha (whisper)1 Konto
secrets_storesecrets_store.py – EINE Quelle fuer das Schreiben in dashboard/config/hq.secrets.json.1 Konto
verify_probeverify_probe.py – Nur-Lesen-Diagnose: WAS genau will Google von diesem Konto?1 Konto
video_metavideo_meta.py – Titel und Beschreibung eines hochgeladenen Videos aendern (HZ-428).1 Konto
walking_metawalking_meta.py – der BELEG neben jedem Walking-Video (HZ-428 Teil 2+3).1 Konto
warmupwarmup.py – SCHRITT 5 der Konten-Fabrik (HZ-218/817): frisch eingeloggte YouTube-Konten1 Konto
warmup_dailywarmup_daily.py – taeglicher Warmup-Lauf ueber die Konten, die UNS gehoeren (Cron).1 Konto
whisper_captchawhisper_captcha.py – reCAPTCHA v2 Audio-Challenge lokal lösen ($0, kein API-Key, kein Extension).1 Konto
ytsellerYTSeller-Client – Zutaten-Beschaffung fuer die Konten-Fabrik (docs/bereiche/scaling.md).1 Konto
auto_uploadHZ-288 – AUTO-UPLOAD: fertige Videos laufen ohne Handgriff auf ihren YouTube-Kanal.5 Veröffentlichen
fabrik_checkfabrik_check.py – taeglicher Selbsttest der Konten-Fabrik (HZ-443). Read-only, $0.5 Veröffentlichen
relogin_dailyHZ-402 – Re-Login-Automat: abgemeldete Konten melden sich selbst wieder an.5 Veröffentlichen
studio_publishHZ-290 – die Bruecke: fertiger Render eines Klon-Kanals -> plan.json -> Browser-Upload.5 Veröffentlichen
yt_uploadyt_upload.py – ein Video ueber die YouTube-Studio-OBERFLAECHE hochladen, im getarnten Profil.5 Veröffentlichen
account_parseaccount_parse.py – Konto-Zeilen robust lesen. EIN Parser, zwei Nutzer:
adspower_watchdogadspower_watchdog.py – haelt AdsPower (und seine Anzeige :99) von selbst am Leben (Cron).
brand_applybrand_apply.py – das fertige Branding wirklich AUF den Kanal setzen (HZ-844, Teil von HZ-249).
browser_driverbrowser_driver.py – EINE Naht fuer alle Browser-Starts der Konten-Fabrik.
build_batchbuild_batch.py – baut einen Konten-Batch (Haupt + Editor) in EINEM Prozess.
captcha_probecaptcha_probe.py – feststellen, WELCHES Captcha Google vor den Login stellt (rein lesend).
captcha_solvecaptcha_solve.py – Captcha lösen via NoCaptcha AI (Konten-Fabrik, Login-Automatik HZ-223).
factory_statusfactory_status.py – LEBENDER Stand je Konto, den das HQ anzeigt (Leon-Wunsch 20.07.:
runlogrunlog.py – Arbeitsbericht der Konten-Fabrik.
test_konto_pfadetest_konto_pfade.py – beweist OHNE Konto, ohne Netz und ohne AdsPower, dass die Wege
test_whisper_captchaUnit-Tests für whisper_captcha.words_to_digits (reine String-Logik, kein Browser/Netz).
ui_healui_heal.py – Selbstheilung für Browser-Automation, wenn Google die Oberfläche ändert.
yt_replyyt_reply.py – Zuschauer-Kommentare beantworten: ENTWÜRFE erzeugen, einzeln nach Freigabe posten.

Klon-Apparat 53 Skripte, 34 ohne Phase

Nische messen, DNA ziehen, Maßstab, Prüfen, Forken, Rezepte · Ordner channel_clone/

SkriptWas es tutPhase
algrow_restHZ-239/HZ-846 · Serverseitige Algrow-REST-Bruecke – OHNE Claude-MCP-Session.2 DNA
apply_recipeHZ-230 Apply-Motor v2 – Kanal-Registry + Recipe in EINEM Befehl anwenden.2 DNA
channel_dossierHZ-509: Kanal-Dossier – EIN Datensatz je Kanal, zwei Auswertungstiefen.2 DNA
derive_formatHZ-322 · Render-Format aus AI-Vision automatisch ableiten (kanaluebergreifend, $0).2 DNA
dna_massstabHZ-519 · Den MASSSTAB in die DNA schreiben – messbare Zielwerte statt Prosa ($0).2 DNA
extract_dnaChannel-Clone · Phase 0 – Kanal-DNA-Extraktor (HZ-205, Vorstufe zu HZ-203).2 DNA
fetch_channel_videosHZ-216: Read a FOREIGN YouTube channel's public video list via the YouTube Data API,2 DNA
fork_channelHZ-231 (Motor v2 Block C, der HZ-203-Kern): Kanal-ERSTELLEN aus Recipe+DNA.2 DNA
frame_visionHZ-297 · Eigene Video-Vision ($0, Algrow-unabhaengig).2 DNA
niche_probeHZ-491: Nischen-Sonde – holt harte YouTube-Zahlen zu einer Nischen-Hypothese und schreibt2 DNA
yt_subsHZ-491 · Untertitel fremder YouTube-Videos holen – lokal, $0.2 DNA
clone_scoreHZ-353 · T3 – Frame-Abgleich gegen die Referenz + ehrlicher Klon-Prozent ($0).4 Test
dna_loopHZ-519 · Der Regelkreis: Test-Folge rendern -> messen -> Rezept-Zahlen nachziehen ($0).4 Test
factory_testHZ-352 · FABRIK-TEST – T1 (Trockenlauf) + T2 (Test-Render) als EIN Werkzeug.4 Test
material_mixHZ-519 · Materialmix eines Kanals messen – woraus die Bilder BESTEHEN ($0).4 Test
render_probeHZ-352 · Test-Render fuer EINEN beliebigen Kanal – Wegwerf-Container, $0.4 Test
road_checkHZ-363 – Der Beweis: fährt die Straße wirklich genau das, was heute im Fork steht?4 Test
upload_target_checkHZ-814 Preflight: stimmt das Upload-Ziel jedes Kanals ueberall ueberein?4 Test
wiring_treeHZ-393 · T0 VERDRAHTUNGS-BAUM – haengt die Pipeline eines Kanals wirklich zusammen? ($0, Sekunden)4 Test
apply_book_plugHZ-267 – das Buch an den KANAL haengen, nicht an den Container.
assign_voice_settingsHZ-842 – jedem Kanal seine eigenen STIMMEN-REGLER geben (Folge von HZ-837).
assign_voicesHZ-837 – jedem Kanal seine EIGENE Stimme geben, aus der DNA abgeleitet.
build_packageHZ-821 – Kanal-Paket: aus dem duennen ~1KB-Recipe ein VOLLSTAENDIGES, selbsttragendes
build_voice_poolBaut channel_clone/voices.json – den EINEN Stimmen-Pool, aus dem sich Builder,
channel_doctorKanal-Doktor (HZ-234) – die Self-Critique-Schleife des Klon-Motors.
channelsHZ-257 – DIE Kanal-Quelle fuer alle Video-Store-Werkzeuge.
clone_refine_loopHZ-324 · Autonomer Klon-Verfeinerungs-Loop ($0, headless, per Cron).
dna_checkHZ-503 – Welche DNA liest die Pipeline WIRKLICH? (read-only, $0)
dna_pruefenHZ-519 · Trifft eine veroeffentlichte Folge den MASSSTAB ihrer DNA? ($0)
drift_checkHZ-233/230 Drift-Check – meldet, wenn ein Baustein-Anker nicht mehr auf die P2 eines
fabrik_loopHZ-336/343 · Autonomer Fabrik-Optimierungs-Loop ($0, 2 Agenten, per Cron).
freeze_p1_promptHZ-528 – die P1-Prompts eines Kanals aus seinem lebenden Fork ins REZEPT einfrieren.
freeze_p3_triggerHZ-431 – den P3-Trigger-Webhook je Kanal messen und in die Registry einfrieren.
freeze_router_promptHZ-406 – den Router-Prompt eines Kanals aus seinem lebenden Fork ins REZEPT einfrieren.
inject_p1DNA → P1-Injektion (HZ-206): setzt den CHANNEL-DNA-Block in den Skript-Prompt
look_abHZ-519 · A/B-Vergleich zweier Stil-Fassungen MIT Stichprobe.
look_loopHZ-519 · Look-Loop: den Bild-Prompt so lange nachziehen, bis der Ist im Zielkorridor liegt.
look_metrikHZ-519 · Objektive Look-Metrik fuer den Bild-Loop ($0, nur ffmpeg).
recipe_from_liveHZ-307 – Ist-Zustand-Scanner: was nutzt jeder Kanal WIRKLICH (nicht was das Recipe behauptet).
registry_sync_activeHZ-394 – registry.json `active` gegen den echten n8n-Stand abgleichen.
render_mappingHZ-410 – `render_mapping` aus der Kanal-DNA in echte Renderer-Schalter uebersetzen.
retention_probeHZ-528 – Retentions-KURVEN je Video ziehen, damit am Skript nicht geraten wird.
sample_alvaro_thumbsHZ-296-Vorarbeit: alvaro-Thumbnail-Showroom nach vision-verifizierter thumbnail_dna.
sample_mascotMaskottchen-Showroom fuer "Why You Are" (CH1/Psych, HZ-207-Folge): 10 Charakter-Konzepte
sample_stylesBuilder-Stil-Galerie (HZ-212 v4): DIESELBE Szene in jedem Bild-Stil – echte
self_test_materialHZ-242 · Selbst-Test-Material: unsere EIGENEN Folgen als Scrape-JSON fuer extract_dna.py.
testdata_buildHZ-352 · T2-Test-Assets fuer EINEN Kanal bauen – lokal, gratis, kanaltypisch.
testdata_fetchHZ-347 · Test-Assets fuer die Klon-/Bild-QA holen – lokal und gratis.
thumb_dna_loopHZ-320 – Thumbnail-DNA-Generator mit KI-Abgleich-Loop (wiederverwendbar, alle Kanaele).
voice_pickAutomatische Stimmen-Wahl aus dem Pool (HZ-254).
voice_samplesEchte Hoerproben zu den Stimmen-Kandidaten – mit UNSEREM englischen Skripttext (HZ-837).
yt_commentscommentThreads-Leser (HZ-234, Kanal-Doktor) – echte Zuschauer-Kommentare eines Videos.
yt_comments_sessionSession-basierter Kommentar-Leser (HZ-841) – echte Zuschauer-Kommentare OHNE OAuth.

Pipeline-Patches 56 Skripte, 56 ohne Phase

Je ein Skript, das einen Baustein in einen n8n-Node schreibt · Ordner wf_fork/

SkriptWas es tutPhase
patch_alvaro_horror_lookHZ-298 – alvaro_horror: Router + Skript-Prompt an vision-verifizierte DNA anpassen.
patch_alvaro_p3_recipe_keyHZ-298 – alvaro-P3: recipe_key an den Render-Container mitgeben.
patch_alvaro_upload_guardHZ-290 SICHERHEIT: der alvaro_horror (Historias Reddit) Kanal laedt ueber den
patch_filestoreHZ-287 – n8n-Workflows von Cloudflare R2 auf den lokalen Filestore umstellen.
patch_gateway_authHZ-257 Schritt 1 – Video-DB Gateway absichern (Review-Fund).
patch_gateway_notion_mapHZ-257 – Gateway kann eine rohe Notion-Page entgegennehmen (op=upsert_notion).
patch_gateway_notion_shapeHZ-271 – Gateway-Guard NEU BAUEN: Mapping generiert + Lesen in Notion-Form.
patch_gateway_readHZ-257 Schritt 2 – Video-DB Gateway kann jetzt auch LESEN.
patch_gateway_simplifiedHZ-257 – Gateway versteht das SIMPLIFIED Notion-Format (Fund aus dem $0-Beweislauf).
patch_geo_p1_every_xEmpty-Earth-P1 (NlSdNrJxNmgMWaD0) auf die verifizierte Kanal-DNA ausrichten
patch_geo_p2_getty_stageEmpty-Earth-P2 (JUpLZKHZCSUBfgzE): Getty + removr als Quelle der SCHLUESSELBILDER (HZ-272-Folge).
patch_geo_p2_harvest_sources[ABGELOEST durch wf_fork/patch_harvest_sources.py (HZ-302) – sources kommen jetzt MODULAR aus
patch_geo_p2_harvest_stageEmpty-Earth-P2 (JUpLZKHZCSUBfgzE): Harvester als LETZTE Bildquelle in die Stock-Kette (HZ-272).
patch_geo_p2_judge_nicheEmpty-Earth-P2 (JUpLZKHZCSUBfgzE): Bild-Judge auf die EIGENE Nische umstellen.
patch_geo_p2_shot_densityEmpty-Earth-P2 (JUpLZKHZCSUBfgzE): Schnittdichte hoch – mehr echte Stock-Bilder pro Video.
patch_geo_p2_voiceEmpty-Earth-P2 (JUpLZKHZCSUBfgzE): TTS-Stimme "Jon" (amerikanisch, History-Erbe) ->
patch_geo_p4_integrated_textGeo-P4 (Empty Earth, 7EuCgga9fwXwqVzp): Thumbnail auf integrierten Text umstellen.
patch_harvest_sourcesHarvest-GW-`sources` MODULAR aus dem Kanal-Rezept setzen (HZ-302).
patch_history_p2_harvest_stageHistory-P2 (LKQVM0y1jVGbZ9n9): Harvester als LETZTE Bildquelle in die Stock-Kette (HZ-291).
patch_p1_freerunHZ-271 – P1 startbar machen UND die Kostenbremse setzen, fuer einen echten $0-Lauf.
patch_p1_leere_dedupHZ-425: P1 stirbt still, wenn eine Dedup-Abfrage 0 Zeilen liefert.
patch_p1_script_parserFix P1 brittle script-JSON parsing (Leon test-run crash 20.06.): inline JSON.parse breaks
patch_p1_topic_overridePsych P1 (ZA3XVzDTNgwXVnoo): Thema-Override fürs HQ-Button-Feld.
patch_p1_viralPsych P1 (ZA3XVzDTNgwXVnoo): UPLOAD-BUGFIX + VIRAL-MECHANIKEN (Leon 04.07.).
patch_p2_doodlePsych P2 (TPAUqXCPLFmRCSWC) STOCK -> DOODLE-KI-Umbau (Leon 03.07., Doodle-Pivot).
patch_p2_frontloadBump Psych P2 front-loading from 10/8/5 -> 12/10/8/6 (Leon 20.06.: "mehr Übergänge in den
patch_p2_gettyPsych P2 (TPAUqXCPLFmRCSWC): GETTY als starke Bildquelle nach Pexels-Fail (Leon 22.06.).
patch_p2_hybridConvert Psych P2 (TPAUqXCPLFmRCSWC) to HYBRID image sourcing (Leon 20.06.):
patch_p2_material_mixHZ-233 Material-Mix-Patch fuer Stock-P2s (Geo/Wisdom-Muster; Ziel = HZ-231-Klon-Fork).
patch_p2_tempoPsych P2 (TPAUqXCPLFmRCSWC) Cut-Tempo-Fix: fixe Beat-Zahlen (12/10/8/6/6/6, gab 20s/Bild in
patch_p2_videoPsych P2 (TPAUqXCPLFmRCSWC): STOCK-VIDEO-Beats via Pexels Video API (Leon 21.06.).
patch_p2_voiceSet the TTS voice on Psych P2_Assets (TPAUqXCPLFmRCSWC) to a calm, warm FEMALE voice
patch_p3_recipe_keyHZ-267 – jedem P3-Renderaufruf sagen, WELCHER Kanal gerendert wird.
patch_p4_doodle_thumbPsych P4 (puTDyYtZsq7cczzv) Thumbnail: photoreal-History -> DOODLE-BOLD + Hook-Mix (Leon 03.07.).
patch_p4_phase1Patch Psych P4_Deliver (puTDyYtZsq7cczzv) for PHASE-1 = manual upload.
patch_p4_thumb_variantsPsych P4 (puTDyYtZsq7cczzv): 1 Thumbnail -> 3 VARIANTEN für YouTube Test & Compare
patch_p4_upload_targetHZ-814: schreibt das Upload-ZIEL explizit in jeden P4- und Publisher-Node.
patch_paradox_rawHZ-278 – Paradox-Sonderfall: `Get many database pages` (simple=false) auf den Store.
patch_psych_p2_directorHZ-212 AI-Director (Leons Advisor): neuer Code-Node in Psych-P2 zwischen
patch_psych_p2_router_scriptHZ-429 – psych P2 'Stock Query Router': das Skript kam nie am Router an.
patch_psych_retention_abcPsych Retention-Fix A+B+C (Leon 2026-07-12).
patch_publisher_mark_publicHZ-294 – die 7 dormanten Daily-Publisher von ihrem letzten Notion-Write befreien.
patch_read_via_gatewayHZ-271 – Lese-Node `Notion - Get Run` auf den eigenen Store umhaengen.
patch_rente_scharfHZ-252: Rente-Kanal scharfschalt-fertig machen – die 2 letzten Blocker schliessen.
patch_rente_store_mirrorHZ-257 Phase 4 – Rente-Pipeline spiegelt ihren Stand in den zentralen Video-Store.
patch_rente_title_parserHZ-252: Rente-P1 Title-Parse robust machen (Fork-Falle #10, Claude-Rest).
patch_rente_upload_guardHZ-252 SICHERHEIT: verhindert, dass ein Rente-Testlauf versehentlich auf einen
patch_script_fetchHZ-386 – 'R2 - Fetch Script' auf eine ableitbare URL umstellen statt auf ein DB-Feld.
patch_split_queries_guardHZ-388/389 – die Router-Antwort pruefen, BEVOR daraus JSON wird.
patch_testmodeHZ-815 – Trockenlauf pro Kanal an/aus schalten.
patch_whatif_icon_pivotHZ-43: WhatIf-1 auf Ikonen-Survival-Format drehen.
patch_whatif_p3_publishedHZ-147: WhatIf-P3 tagesplaner-faehig – End-Node schreibt Published + YT-Link statt 'Rendering'.
patch_whatif_person_beatsHZ-202 Teil 2+3: reale Personen-Beats in WhatIf durch echte Fotos (Harvester-Gateway).
patch_whatif_public_figureHZ-201: public-figure-Bildfix fuer WhatIf-1 (Script Generator).
patch_wm_runid_uniqueHZ-265: WM-Run-ID eindeutig machen (Fund aus dem Video-Store-Abgleich HZ-260).
patch_write_via_storeHZ-271 Endschritt – Notion-WRITE-Nodes auf direkten Store-Write (op=upsert) umbauen.