CommunityCodierung & Entwicklunggithub.com

抖创工坊

Erfasst TikTok-Videos, transkribiert sie, schreibt sie per KI um, generiert neue Videos und veröffentlicht sie **automatisch auf Douyin (Bild+Text) und Toutiao (Artikel)**.

Was ist 抖创工坊?

Der Skill "抖创工坊" (DouChuang Workshop) ist ein lokales Desktop-Tool für Content-Review und -Remix. Er extrahiert Videos von TikTok (Douyin), transkribiert sie offline mit einem integrierten Whisper-Modell, schreibt sie per KI um, erstellt Storyboards und generiert optional 9:16 MP4-Videos mit HyperFrames. Kernfähigkeit ist die automatisierte Veröffentlichung: Bild+Text-Beiträge werden an Douyin und Artikel an Toutiao gesendet, jeweils mit einem mehrstufigen Validierungsprozess (Schritt-für-Schritt-Prüfung) und manueller Bestätigung nach der Einreichung, um Duplikate zu vermeiden. Es unterstützt Stapel-Downloads von Benutzerprofilen, Sammlungsverwaltung mit inkrementellen Updates, signaturbasierte API-Aufrufe (a_bogus/X-Bogus) und eine Vielzahl von KI-Modellen (DeepSeek, OpenAI). Die Desktop-App (Electron) bietet eine React-Oberfläche mit Aufgabenverwaltung, Publikations-Center und Skill-Management zur Wissensdestillation aus Transkripten.

Funktioniert mit✓Claude Code✓Codex CLI~Cursor
npx skills add LiChangZheng10086/doyin_ai_video

Installed? Explore more Codierung & Entwicklung skills: steipete/bluebubbles, steipete/eightctl, steipete/blucli · View all 6 →

In Ihrer bevorzugten KI fragen

Öffnet einen neuen Chat, in dem dieser Agent-Skill bereits geladen ist.

Vorschau

Aus dem Skill-README

Lizenz
Node
Electron
React

Dokumentation

Was macht 抖创工坊?

TikTok-Videoerfassung → Transkription → KI-Umschreibung → Videogenerierung und automatische Veröffentlichung auf Douyin (Bild+Text) und Toutiao (Artikel)

🚀 Zwei automatische Veröffentlichungspfade (Kernfähigkeit)

Douyin Bild+Text und Toutiao Artikel werden beide vom lokalen Browser automatisch an die Plattform übermittelt – jeweils mit Paketvorschau, feldspezifischer Zeichenzahl-Prüfung und Veröffentlichungsoptionen. Vor der Einreichung ist eine Bestätigung erforderlich:

PfadEngineAnmeldemethodeWichtige Einschränkungen
Douyin Bild+TextExternes social-auto-upload CLI (optional)Wiederverwendung bestehender Douyin-AnmeldungNur eine Aufgabe gleichzeitig; keine automatischen Wiederholungen
Toutiao ArtikelEigener Executor (Playwright, verwendet gebündelten headless Chromium)QR-Code-Scan (App-interner QR-Code / Browserfenster)KI-generierter Text + 16:9 Titelbild; Titelbild erforderlich

Gemeinsame Disziplin beider Pfade: Jeder Schritt wird zurückgelesen und validiert (jeder Fehlschlag stoppt vor dem Klick auf „Veröffentlichen“ und zeigt an, bei welchem Schritt abgebrochen wurde); Nach der Einreichung wird nur „Eingereicht“ vermerkt – ob die Veröffentlichung tatsächlich erfolgt ist, muss manuell im Plattform-Backend überprüft und mit „Als veröffentlicht markieren“ bestätigt werden; Keine automatischen Wiederholungen (vor einer Wiederholung muss bestätigt werden, ob die vorherige Einreichung bereits veröffentlicht wurde – doppelte Veröffentlichung ist das größte Risiko). Videos und andere Plattformen (Xiaohongshu / Video Account / Bilibili) werden weiterhin hauptsächlich manuell übergeben.

Das Veröffentlichungszentrum ist kanalweise unterteilt (Douyin Bild+Text / Toutiao Artikel / Video manuelle Übergabe), die drei Kanäle sind unabhängig voneinander und werden nicht vermischt.

Fähigkeitsübersicht

Ein lokales Desktop-Tool für Content-Review und -Remix. Der aktuelle Hauptfokus liegt auf: Video herunterladen, Audio extrahieren, integrierte Whisper-Transkription, KI-Umschreibung, Videostoryboard generieren und optional mit HyperFrames lokale 9:16 MP4 rendern. Unterstützt Stapel-Downloads von Benutzerprofilen, direkte Signatur-API-Aufrufe, wasserzeichenfreien Video-Download, inkrementelle Sammlungsaktualisierungen. Neue Aufgaben werden manuell schrittweise ausgeführt, jeder Schritt unterstützt automatische 3 Wiederholungsversuche und manuelle Wiederholung nach Fehlschlag.

Lizenz Node Electron React

⚠️ Haftungsausschluss: Dieses Projekt dient ausschließlich zu Lern- und Forschungszwecken. Benutzer müssen die Nutzungsbedingungen und Gesetze der jeweiligen Plattformen einhalten. Dieses Projekt darf nicht für kommerzielle Zwecke oder zur Verletzung von Rechten Dritter verwendet werden. Der Autor übernimmt keine Haftung für Folgen, die aus der Nutzung dieses Projekts entstehen.

🤝 Mitwirkende gesucht

Dieses Projekt wird derzeit von einer Einzelperson gepflegt. Wir freuen uns über Beiträge!

Derzeit besonders benötigte Hilfe:

  • Stabilität der Douyin-Signatur (a_bogus / X-Bogus)
  • Optimierung der Whisper-Modellgröße und chinesischen Genauigkeit
  • HyperFrames Video-Styles / TTS-Sprachausgabe
  • UI/UX-Verbesserungen und Windows-Pakettests
  • Dokumentation, Testfälle, Beispielvideos

→ Beitragsrichtlinien ansehen | Issue einreichen | Diskussionen

Kernfunktionen

Manueller Schritt-für-Schritt-Ablauf

Eingabe: Douyin-Share-Link / Freigabetext / Link zur Benutzerseite
  ↓
Aufgabe / Sammlung erstellen: Eingabe parsen und speichern, keine automatische vollständige Pipeline
  ↓
Benutzer bestätigt schrittweise Ausführung:
  1️⃣ Video herunterladen (wasserzeichenfrei bevorzugt → Signatur-API → yt-dlp)
  2️⃣ Audio extrahieren (ffmpeg → 16kHz mono WAV)
  3️⃣ ASR-Transkription (integriertes whisper.cpp)
  4️⃣ KI-Umschreibung
  5️⃣ Videoprompt / Storyboard generieren
  6️⃣ Lokales Hochformat-Video generieren (optional, HyperFrames)
  7️⃣ Veröffentlichungszentrum-Übergabe (optional; Douyin Bild+Text / Toutiao Artikel können automatisch eingereicht werden, nach Einreichung manuelle Überprüfung)
  ↓
Ausgabe: 📝 Strukturierte Transkription + ✍️ Umgeschriebener Text + 🎬 MP4 + 📦 Veröffentlichungspaket

Funktionsmerkmale

  • ✅ Video-Download — Bevorzugt wasserzeichenfreier Download, unterstützt Signatur-API und yt-dlp als mehrstufige Fallback-Strategie
  • ✅ Benutzerseiten-Sammlung — Link zur Blogger-Seite eingeben, gesamte Werkliste in einem Batch abrufen
  • ✅ Sammlungsverwaltung — Sammlungen pro Blogger erstellen, Unteraufgaben in Batches erstellen, Schritte in Batches ausführen
  • ✅ Inkrementelle Sammlungsaktualisierung — Mit einem Klick auf neue Videos des Bloggers prüfen, Duplikate vermeiden und zur vorhandenen Sammlung hinzufügen
  • ✅ Direkte Signatur-API-Aufrufe — a_bogus + X-Bogus Signatur, direkter Aufruf der internen Douyin-API ohne Browser
  • ✅ Cookie-Verwaltung — Unterstützt QR-Code-Login und manuelles Einfügen von Cookies für den Anmeldestatus
  • ✅ Audio-Extraktion — Mit ffmpeg standardisiertes Audio extrahieren und Audio-Manifest speichern
  • ✅ Sprachtranskription — Integriertes whisper.cpp + ggml-small, lokale chinesische Transkription
  • ✅ Offline-ASR — Kein ASR-API-Key, Python, FunASR oder faster-whisper erforderlich
  • ✅ KI-Umschreibung — Basiert auf Transkription, priorisiert Umschreibung, gibt Titel, Zusammenfassung, Kernpunkte, umgeschriebenen Text, Sprechertext und Qualitätshinweise aus
  • ✅ Videostoryboard-Generierung — Basierend auf dem umgeschriebenen Text werden Videoprompts und Storyboard-Skripte generiert
  • ✅ Skill-Wissensdestillation — Aus Sammlungstranskripten per KI einen Claude Code Skill (SKILL.md) destillieren
  • ✅ Skill-Verwaltung — Separate Skill-Verwaltungsseite zum Anzeigen, Umbenennen und Löschen generierter Skills
  • ✅ Lokale Videogenerierung — Mit HyperFrames CLI den umgeschriebenen Text und Untertitel-Rhythmus als 9:16 MP4 rendern
  • ✅ Originalvideo-Wiedergabe — In der Detailansicht zwischen „Originalvideo / Fertigstellung“ umschalten und das bei der Transkription heruntergeladene Douyin-Originalvideo direkt ansehen
  • ✅ Medienbibliothek — Separate „Medien“-Seite zum manuellen Hochladen und Verwalten von Bildern, Audio (Bilder optional für Bild+Text-Veröffentlichung verwendbar)
  • ✅ Veröffentlichungszentrum — Fertigstellungen als unabhängige Übergabepakete organisieren, chinesischen Text für vier Plattformen generieren; kanalweise unterteilt, Fortschritt und manuelle Veröffentlichungsverfolgung anzeigen
  • ✅ Toutiao-Artikelveröffentlichung — KI-generierter Text + 16:9 Titelbild + QR-Code-Login, automatische Einreichung beim Toutiao-Konto (Vorschau vor Einreichung erforderlich, nach Einreichung manuelle Überprüfung und Markierung als „Veröffentlicht“). Erfolgreicher Test am 20.09.2026
  • ✅ Einklappbare Seitenleiste — Die linke Navigationsleiste auf dem Desktop kann ein-/ausgeklappt werden; ausgeklappt mit Textbeschriftung, eingeklappt nur Symbole
  • ✅ Aufgaben-Papierkorb — Gelöschte Aufgaben werden 30 Tage aufbewahrt, können wiederhergestellt oder endgültig gelöscht werden
  • ✅ Mehrere KI-Modelle — Unterstützt DeepSeek, OpenAI und OpenAI-kompatible Proxy-Dienste
  • ✅ Desktop-Anwendung — Basiert auf Electron, unterstützt macOS und Windows
  • ✅ Echtzeit-Feedback — Aufgabenfortschritt wird in Echtzeit aktualisiert, detaillierte Anzeige des Status und von Fehlern jedes Schritts

Lokaler Operator und Berechtigungen

  • Die Anmelde-, Kontowechsel- und Benutzerverwaltungsoberfläche wurde entfernt: Die Anwendung startet automatisch mit einer „Lokaler Operator“-Sitzung, ohne Anmeldung oder Kontoauswahl.
  • Die automatische Sitzung bevorzugt die Wiederverwendung eines vorhandenen aktivierten Administrators (deterministische Auswahl nach aufsteigendem createdAt / id). Nur wenn kein Administrator existiert, wird ein „Lokaler Benutzer“ ohne PIN erstellt. Es werden keine historischen Benutzer gelöscht oder umbenannt.
  • Die Vertragsschnittstelle für den Administrator-PIN wurde nicht gelockert: Der direkte Aufruf von POST /api/local-sessions zur Eröffnung einer Administrator-Sitzung erfordert weiterhin den korrekten PIN. Der PIN-lose Zweig existiert nur unter dem explizit benannten Pfad POST /api/local-sessions/auto.
  • Die Rolle bestimmt weiterhin Veröffentlichungsberechtigungen und -prüfung: Das Zurückziehen des veröffentlichten Status, das Löschen/Wiederherstellen von Veröffentlichungspaketen sind Administrator-Aktionen. Jeder Audit-Eintrag enthält weiterhin einen actor-Snapshot. Im Einzelbetrieb ist der aktuelle Bediener der Administrator, daher sind diese Aktionen verfügbar.
  • Die lokale Rolle dient der Workflow-Berechtigungssteuerung und Bedienerprüfung, nicht als Cloud-Konto oder starke Sicherheitsgrenze; Personen mit Zugriff auf den lokalen Speicher oder das Betriebssystemkonto können möglicherweise lokale Daten lesen oder ändern.

Veröffentlichungszentrum

  • Das Veröffentlichungszentrum bereitet standardmäßig nur lokale Übergabepakete vor und unterstützt manuelle Vorgänge. Videos werden nicht automatisch hochgeladen; Douyin Bild+Text kann optional das externe social-auto-upload (sau) CLI zur automatischen Einreichung verwenden, jedoch mit Vorschau-Bestätigung vor der Einreichung und nach der Einreichung muss der Benutzer manuell „Als veröffentlicht markieren“ klicken.
  • Toutiao-Artikel folgen einem anderen Pfad: Eigener Playwright-Executor (verwendet gebündelten chrome-headless-shell, kein zusätzlicher Download), der den Ablauf „Umgeschriebener Inhalt → KI-Text → Artikelpaket (article.html + 16:9 Titelbild) → Vorschau → Einreichung“ durchführt. Anmeldung nur mit QR-Code (Toutiao hat keine einfügbaren Anmeldedaten): Gehen Sie zu „Einstellungen → Toutiao“ und klicken Sie auf „QR-Code-Login“ (App-interner QR-Code) oder „Im Browser zur QR-Code-Anmeldung öffnen“ (öffnet ein echtes Browserfenster); der Anmeldestatus wird in einem persistenten Profil im Speicher gespeichert. Nach einem Scan ist kein erneuter Scan für Veröffentlichung und Selbstprüfung erforderlich. Relevante Umgebungsvariablen: TOUTIAO_BROWSER_BINARY (Browser-Pfad, Standard-Auflösung nach „Explizite Konfiguration → Paketressourcen → Playwright-Cache → System-Chrome“), TOUTIAO_PROFILE_DIR (Sitzungsverzeichnis, muss im Speicher liegen). Jeder Schritt wird zurückgelesen und validiert: Jeder Fehlschlag stoppt vor dem Klick auf „Veröffentlichen“; „Gleichzeitig Microblog veröffentlichen“ ist standardmäßig deaktiviert und wird nicht veröffentlicht, wenn es nicht aktiviert werden kann.
  • Gleiche Invariante wie beim Douyin-Pfad: Die Maschine sendet den Inhalt nur hinaus, vermerkt ihn als „Eingereicht“; task.status bleibt während des gesamten Vorgangs unverändert. Es gibt keine automatischen Wiederholungen (vor einer Wiederholung muss bestätigt werden, ob die vorherige Einreichung bereits veröffentlicht wurde – doppelte Veröffentlichung ist das größte Risiko dieser Funktion).
  • Das Veröffentlichungszentrum speichert selbst keine Plattform-Anmeldedaten. Bei der automatischen Bild+Text-Veröffentlichung wird der vorhandene Douyin-Anmeldestatus (~/.douyin-ai-video/douyin-cookie.txt) in ein Playwright storage_state konvertiert und unter <SAU_BASE_DIR>/cookies/douyin_<account>.json (Berechtigung 600) für die externe Engine gespeichert.
  • Von der Detailansicht einer Aufgabe aus über die generierte Fertigstellung „Zum Veröffentlichungszentrum hinzufügen“ auswählen und den Assistenten „Fertigstellung → Plattform → Text → Planung → Bestätigung“ durchlaufen, um ein Übergabepaket zu erstellen.
  • Unterstützt Douyin, Xiaohongshu, WeChat Video Account und Bilibili; ein Übergabepaket kann mehrere Plattformaufgaben enthalten, und es können auch unabhängige Versionen für dieselbe Fertigstellung erstellt werden.
  • Der Text wird vorrangig von der aktuellen KI-Konfiguration pro Plattform generiert; wenn KI nicht verfügbar ist, wird auf den umgeschriebenen Inhalt zurückgegriffen und eindeutig als Fallback-Text markiert. Vom Benutzer bearbeitete Inhalte werden als Benutzerbearbeitung protokolliert.
  • Kanalweise unterteilt: Erste Registerkartenebene „Douyin Bild+Text / Toutiao Artikel / Video manuelle Übergabe“ – die drei haben völlig unterschiedliche Einreichungsmethoden (die ersten beiden automatisch, die dritte rein manuell), jeweils mit Paketanzahl und Erklärung. Kanal und Status werden in der URL gespeichert (?channel=). Douyin Bild+Text und Toutiao haben nur eine Plattform, daher wird in diesen Kanälen keine Plattform-Dropdown-Liste angezeigt.
  • Das Veröffentlichungszentrum bietet manuelle Hilfsfunktionen wie Titel/Text/Tags kopieren, Plattform öffnen, Video im Finder lokalisieren, als veröffentlicht markieren, Fehler protokollieren und Planung ändern.
  • Veröffentlicher können unveröffentlichte Inhalte verwalten; Administratoren sind zusätzlich für das Zurückziehen des veröffentlichten Status und die Verwaltung des Veröffentlichungspapierkorbs verantwortlich.
  • Veröffentlichungspakete werden im Speicherstammverzeichnis unter output/publishing/{sourceJobId}/v{version}-{packageId}/ gespeichert. Das Speicherstammverzeichnis hängt von der Ausführungsart ab: Desktop unter ~/Library/Application Support/douyin-ai-video/storage (macOS), eigenständiges Backend unter storage/ im Repository.
  • Veröffentlichungspakete sind in sich geschlossen: Fertigstellung, Titelbild und Bild+Text-Bilder werden in das Paketverzeichnis kopiert, sodass das spätere Löschen von Medien oder Ändern von Quelldateien das erstellte Paket nicht beeinträchtigt.
  • Die Veröffentlichungsplanung wird nur zur Laufzeit der Anwendung überprüft; während der Anwendungsbeendigung fällige Aufgaben werden beim nächsten Start nachbearbeitet, aber die Plattform wird nicht automatisch geöffnet.
  • Der Veröffentlichungspapierkorb ist unabhängig vom Aufgaben-Papierkorb und bewahrt Pakete 30 Tage lang auf. Die fällige Bereinigung löscht nur lokale Veröffentlichungsressourcen, ohne das Ursprungswerk, andere Versionen oder Videos auf der Plattform zu beeinträchtigen.
  • Wenn cache/publishing-index.json beschädigt ist, wechselt der Schreibzugriff auf das Veröffentlichungspaket in einen Nur-Lese-Schutz. Bitte sichern Sie zuerst die Originaldatei und stellen Sie sie aus einem gültigen Backup wieder her oder reparieren Sie sie manuell; der Kreativ-Workflow kann weiterhin verwendet werden.

Oberflächenvorschau

Hauptoberfläche - Aufgabenliste und Sammlungen

  • Neue Aufgabe erstellen (URL / Startseiten-Link / Freigabetext)
  • Sammlungsansicht: Unteraufgabenfortschritt aggregiert nach Blogger anzeigen
  • Status aller Aufgaben anzeigen
  • Aktuell ausführbare oder fehlgeschlagene Schritte anzeigen
  • Aufgabe in den App-internen Papierkorb verschieben

Aufgabendetailseite

  • Übersicht — Grundlegende Aufgabeninformationen und Verarbeitungsstatus
  • Hauptpipeline-Schritte — Download, Audio-Extraktion, ASR-Transkription, KI-Umschreibung, Storyboard-Generierung, Video-Generierung
  • Videotranskription — Tatsächlicher Transkriptionstext aus Video-Audio
  • KI-Umschreibung — Bereinigte Titel, Zusammenfassung, Kernpunkte, Skript, Sprechertext und Qualitätshinweise
  • Storyboard-Inhalt — Basierend auf dem umgeschriebenen Text generierte Kurzfilm-Storyboards und Video-Prompts
  • Video-Fertigstellung — Mit HyperFrames lokal gerendertes MP4, Projektpfad und Szenenliste

Sammlungsdetailseite

  • Obere Benutzerinformationen (Spitzname, Avatar, Gesamtanzahl der Werke) + „Auf Updates prüfen“-Button
  • Videoliste (Cover, Beschreibung, Status, Kontrollkästchen), absteigend nach Veröffentlichungszeit sortiert
  • Batch-Aktionen: Ausgewählte Aufgaben erstellen, Batch-Transkription, Batch-Umschreibung, Batch-Storyboard, Batch-Video generieren
  • Gesamtfortschrittsbalken für Unteraufgaben
  • Gesamten Transkriptionstext anzeigen + „Skill generieren“-Button

Skill-Verwaltungsseite

  • Kartenraster-Layout, zeigt alle generierten Skills an
  • Jede Karte zeigt: Skill-Name, Quellsammlung, Synchronisationsstatus, Anzahl der Transkriptionen, Erstellungsdatum
  • Aktionen: Inhalt anzeigen (3 Registerkarten: SKILL.md Rendering, Ursprungsquelle, Metainformationen JSON), in Sammlungsseite wiederverwenden
  • Unterstützt Inline-Umbenennung, automatische Synchronisation des SKILL.md Frontmatter und Dateiverzeichnisses

Veröffentlichungszentrum

  • Ausstehend, zur Veröffentlichung bereit, geplant, veröffentlicht, fehlgeschlagen, Asset-Fehler und Veröffentlichungspapierkorb anzeigen
  • Nach Titel/Text, Plattform, Quellaufgabe, Versionsnummer und Ersteller filtern
  • Veröffentlichungspaket aufklappen, um plattformspezifischen Text, Planung, Asset-Health-Status und Audit-Einträge anzuzeigen
  • Aktionen: Text kopieren, Vorschau, Plattform öffnen, Video lokalisieren, Veröffentlichung markieren, Fehler protokollieren, Abbrechen, Wiederherstellen und neue Version erstellen
  • Bild+Text-Pakete bieten zusätzlich „Bild+Text auf Douyin veröffentlichen“ (zuerst Vorschau, dann einreichen) und „Bestätigungscode eingeben“
  • Artikelpakete (Toutiao) bieten zusätzlich „Auf Toutiao-Konto einreichen“ (zuerst Vorschau, dann einreichen) und „Artikel-HTML herunterladen“ (Fallback-Pfad: article.html exportieren, jederzeit verwendbar, direkt in den Toutiao-Editor einfügbar); Artikelaufgaben bieten keine „Text bearbeiten“-Funktion – der Text ist das Rendering des paketweiten article.html, für Änderungen muss das Artikelpaket neu erstellt werden

Einstellungsseite

  • KI-Schlüsselverwaltung — Mehrere KI-Dienst-API-Keys verwalten, unterstützt DeepSeek, OpenAI und Proxy-Agent
  • Douyin-Anmeldung — QR-Code-Login oder manuelles Einfügen von Cookies, Anmeldestatus anzeigen
  • Toutiao — Toutiao-Konto QR-Code-Login (App-interner QR-Code / QR-Code im Browserfenster öffnen) und „Anmeldung überprüfen“-Selbsttest ohne Nebenwirkungen
  • Spracherkennungsstatus — Zeigt die integrierte lokale Whisper-Transkriptionsfähigkeit an

Technische Architektur

┌─────────────────────────────────────────┐
│         Electron-Hauptprozess           │
│  - Fensterverwaltung                     │
│  - IPC-Kommunikation                     │
│  - Backend-Dienststart                   │
└─────────────────────────────────────────┘
           │                    │
    ┌──────┘                    └──────┐
    ▼                                  ▼
┌─────────────────┐          ┌──────────────────────┐
│  React-Frontend  │  HTTP    │  Express-Backend     │
│                 │ ◄────►   │                      │
│  - React 19     │          │  - Aufgabenverwaltung │
│  - Vite         │          │  - Benutzerseiten-Crawling │
│  - Zustand      │          │  - Sammlungsverwaltung + inkrementelle Updates │
│  - Tailwind CSS │          │  - Signaturalgorithmus (a_bogus) │
│  - React Router │          │  - Cookie-Verwaltung   │
│                 │          │  - Video-Download      │
│                 │          │  - Audio-Extraktion    │
│                 │          │  - Sprachtranskription │
│                 │          │  - KI-Umschreibung     │
│                 │          │  - Storyboard-Generierung │
│                 │          │  - Skill-Wissensdestillation │
│                 │          │  - Toutiao-Artikelveröffentlichung │
└─────────────────┘          └──────────────────────┘
                                      │
                      ┌───────────────┴───────────────┐
                      ▼                               ▼
             ┌─────────────────┐             ┌────────────┐
             │ KI / Lokal-ASR   │             │ Dateispeicher│
             │ - DeepSeek      │             │            │
             │ - OpenAI        │             │ ~/.douyin  │
             │ - Proxy-Agent   │             │   -ai-video/│
             │ - whisper.cpp   │             │   storage   │
             │ - ggml-small    │             │ ~/.claude  │
             └─────────────────┘             │ /skills/   │
                                             └────────────┘

Technologie-Stack

Backend

  • Laufzeit: Node.js 18+
  • Framework: Express 4
  • Sprache: TypeScript 5.x
  • Videoverarbeitung: yt-dlp, ffmpeg
  • Browser-Automatisierung: Playwright (Benutzerseiten-Crawling und QR-Code-Login)
  • KI-Dienste: OpenAI SDK (kompatibel mit DeepSeek / OpenAI-kompatibel)
  • ASR: Integriertes whisper.cpp + ggml-small (im Installationspaket enthalten)
  • Video-Rendering: HyperFrames CLI (optional, für den Videoschritt Node.js 22+ und FFmpeg erforderlich)
  • Signaturalgorithmus: SM3/MD5 + RC4 + benutzerdefiniertes Base64 (reine TypeScript-Implementierung)

Frontend

  • Framework: React 19
  • Build: Vite 6
  • Routing: React Router DOM 7
  • Statusverwaltung: Zustand 5
  • Styling: Tailwind CSS (benutzerdefiniertes Designsystem)

Desktop

  • Framework: Electron 34
  • Packaging: electron-builder

Installation und Ausführung

Systemvoraussetzungen

  • Node.js >= 18.0.0
  • npm >= 9.0.0
  • macOS oder Windows
  • Entwicklungsmodus benötigt lokal verfügbares yt-dlp, ffmpeg und Playwright-Browser
  • Der Videoschritt benötigt Node.js >= 22 und HyperFrames CLI
  • Der Paketbefehl bereitet automatisch vollständige Laufzeitressourcen vor; der Build-Computer benötigt Internet, tar, unzip und grundlegende Kommandozeilenwerkzeuge
  • Das Installationspaket enthält yt-dlp, ffmpeg, ffprobe, whisper.cpp, ggml-small, HyperFrames CLI und Chrome headless shell

Abhängigkeiten installieren

# Repository klonen
git clone https://github.com/LiChangZheng10086/doyin_ai_video.git
cd doyin_ai_video

# Abhängigkeiten installieren
npm install

# Playwright-Browser installieren (für Benutzerseiten-Crawling und QR-Code-Login erforderlich)
npx playwright install chromium

Entwicklungsmodus

# Vite + Electron gleichzeitig starten
npm run dev

# Oder getrennt starten
npm run dev:renderer
npm run dev:electron

Produktions-Build

# macOS Apple Silicon DMG/ZIP erstellen
npm run package:mac

# Windows 11 x64 NSIS-Installer erstellen
npm run package:win

# macOS + Windows nacheinander erstellen
npm run package:all

Das Paketskript bereitet vendor/package-assets für die Zielplattform vor und kopiert die erforderlichen Ressourcen in das Installationspaket:

  • bin/: yt-dlp, ffmpeg, ffprobe
  • whisper/: whisper-cli, ggml-small-Modell und Windows-DLLs
  • hyperframes/: HyperFrames CLI und seine Node-Abhängigkeiten
  • browser/: Chrome headless shell

Derzeit erstellt package:mac ein macOS arm64-Paket; package:win erstellt ein Win11 x64-Paket. Die installierte Anwendung erfordert keine zusätzliche Installation von Python, FunASR, Whisper, ffmpeg, yt-dlp, Node.js oder HyperFrames durch den Benutzer. Der Douyin-Download und die KI-Umschreibung erfordern weiterhin Internet; KI-Umschreibung/Skill-Generierung erfordert weiterhin einen gültigen KI-API-Key.

Konfigurationsanleitung

1. KI-API-Konfiguration

Im Anwendungseinstellungsfenster einen KI-API-Key hinzufügen:

DeepSeek (empfohlen)

OpenAI

Proxy-Agent / Benutzerdefiniert

  • Unterstützt jede OpenAI-kompatible API, geben Sie einfach baseURL und Modellnamen an

2. Douyin-Cookie-Konfiguration

Damit die Signatur-API-Direktaufrufe und der Batch-Download ordnungsgemäß funktionieren, muss im Einstellungsfenster der Douyin-Anmeldestatus konfiguriert werden. Es gibt zwei Möglichkeiten:

QR-Code-Login

  • Einstellungen → Douyin Login öffnen → Auf „Im Browser zur QR-Code-Anmeldung öffnen“ klicken
  • Im Popup-Fenster den QR-Code scannen, um die Anmeldung abzuschließen
  • Cookie wird automatisch unter ~/.douyin-ai-video/douyin-cookie.txt gespeichert

Manuelles Einfügen (empfohlen)

  • Chrome öffnen und sich bei https://www.douyin.com/ anmelden
  • F12 drücken, um DevTools → Application → Cookies → douyin.com zu öffnen
  • Alle Cookies im Format key1=value1; key2=value2; ... kopieren
  • In das Eingabefeld auf der Einstellungsseite einfügen und auf „Cookie speichern“ klicken

Wichtige Authentifizierungs-Cookies umfassen: sessionid, sid_guard, passport_csrf_token, odin_tt, ttwid

3. Sprachtranskriptionskonfiguration

Die Sprachtranskription ist bereits in der Desktop-Anwendung integriert:

  • Engine: whisper.cpp
  • Modell: ggml-small mehrsprachiges Modell
  • Audio: ffmpeg extrahiert pcm_s16le, 16 kHz, Mono WAV
  • Ausführung: Lokale Transkription, kein ASR-API-Key, Python, FunASR oder faster-whisper erforderlich

Im Entwicklungsmodus oder zur separaten Vorbereitung von Whisper ausführen:

npm run prepare:whisper

Dieser Befehl erzeugt:

vendor/whisper/
├── whisper-cli
└── models/
    └── ggml-small.bin

Die alten Konfigurationsdateien mit asrProvider, asrApiKey, asrBaseURL und asrModel werden weiterhin kompatibel gelesen, aber das Backend verwendet sie nicht mehr für die Transkription.

4. Externe Abhängigkeiten

Im Entwicklungsmodus werden die folgenden Systemwerkzeuge verwendet; das offizielle Installationspaket enthält bereits gleichwertige Ressourcen:

  • yt-dlp — Video-Download

    brew install yt-dlp  # macOS
    
  • ffmpeg — Audio/Video-Verarbeitung

    brew install ffmpeg  # macOS
    
  • HyperFrames — Lokales HTML-Animationen-Rendering in MP4 (für den Videoschritt im Entwicklungsmodus erforderlich)

    npx --yes [email protected] doctor
    

HyperFrames ist eine lokale HTML/CSS/GSAP-zu-Video-Rendering-Pipeline, keine Sora-, Remotion-Autovideo- oder HeyGen-Cloud-Videogenerierungs-API. In der Entwicklungsumgebung wird das CLI standardmäßig über npx --yes [email protected] aufgerufen; nach dem Packaging wird zuerst das im Installationspaket enthaltene HyperFrames CLI und Chrome headless shell verwendet. Die aktuelle v1 generiert erklärende Bild+Text-Videos ohne echte Personen oder Avatare; voiceoverScript wird als Untertitel und Szenenrhythmus verwendet, generiert derzeit noch keine TTS-Sprachausgabe automatisch.

Browser für Toutiao-Veröffentlichung: Verwendet den oben gebündelten Chrome headless shell, keine zusätzlichen Abhängigkeiten. Wenn er nicht aufgelöst werden kann, wählen Sie eine der beiden folgenden Optionen:

npm run prepare:package:mac      # Lädt chrome-headless-shell aus den Paketressourcen
npx playwright install chromium  # Oder installieren Sie einen vollständigen Browser

…(gekürzt)…

Individual skills in this repo

This repo contains 13 individual skills — each has its own dedicated page.

LiChangZheng10086/doyin_ai_video

Browser automation CLI for AI agents. Use when the user needs to interact with websites, including navigating pages, filling forms, clicking buttons, taking screenshots, extracting data, testing web apps, or automating any browser task. Triggers include requests to "open a website", "fill out a form", "click a button", "take a screenshot", "scrape data from a page", "test this web app", "login to a site", "automate browser actions", or any task requiring programmatic web interaction.

LiChangZheng10086/doyin_ai_video

Reference for the Claude API / Anthropic SDK — model ids, pricing, params, streaming, tool use, MCP, agents, caching, token counting, model migration. TRIGGER — read BEFORE opening the target file; don't skip because it "looks like a one-liner" — whenever: the prompt names Claude/Anthropic in any form (Claude, Anthropic, Fable, Opus, Sonnet, Haiku, `anthropic`, `@anthropic-ai`, `claude-*`, `us.anthropic.*`, `[1m]`); the user asks about an LLM (pricing/model choice/limits/caching) — never answer from memory; OR the task is LLM-shaped with provider unstated (agent/MCP/tool-definition/multi-agent/RAG/LLM-judge/computer-use; generate/summarize/extract/classify/rewrite/converse over NL; debugging refusals/cutoffs/streaming/tool-calls/tokens). SKIP only when another provider is being worked on (overrides all triggers): OpenAI/GPT/Gemini/Llama/Mistral/Cohere/Ollama named in the query; OR `grep -rE 'openai|langchain_openai|google.generativeai|genai|mistralai|cohere|ollama'` over the project hits (run this grep FIR...

LiChangZheng10086/doyin_ai_video

Use this skill whenever the user wants to create, read, edit, or manipulate Word documents (.docx files) or Word templates (.dotx files). Triggers include: any mention of 'Word doc', 'word document', '.docx', '.dotx', or requests to produce professional documents with formatting like tables of contents, headings, page numbers, or letterheads. Also use when extracting or reorganizing content from .docx or .dotx files, inserting or replacing images in documents, performing find-and-replace in Word files, working with tracked changes or comments, or converting content into a polished Word document. If the user asks for a 'report', 'memo', 'letter', 'template', or similar deliverable as a Word or .docx file, use this skill. Do NOT use for PDFs, spreadsheets, Google Docs, or general coding tasks unrelated to document generation.

LiChangZheng10086/doyin_ai_video

Guidance for distinctive, intentional visual design when building new UI or reshaping an existing one. Helps with aesthetic direction, typography, and making choices that don't read as templated defaults.

LiChangZheng10086/doyin_ai_video

Grill me about specs for the workflows I want to build, within this workspace.

LiChangZheng10086/doyin_ai_video

Use this skill whenever the user wants to do anything with PDF files. This includes reading or extracting text/tables from PDFs, combining or merging multiple PDFs into one, splitting PDFs apart, rotating pages, adding watermarks, creating new PDFs, filling PDF forms, encrypting/decrypting PDFs, extracting images, and OCR on scanned PDFs to make them searchable. If the user mentions a .pdf file or asks to produce one, use this skill.

LiChangZheng10086/doyin_ai_video

智能 PPT 生成器。支持 7 种视觉风格(乐高/波普/黏土/黑白/商务/学术/科技),具备根据内容自动推荐风格、生成大纲、绘制配图并组装成片的全自动能力。

LiChangZheng10086/doyin_ai_video

Use this skill any time a .pptx or .potx file is involved in any way — as input, output, or both. This includes: creating slide decks, pitch decks, or presentations; reading, parsing, or extracting text from any .pptx or .potx file (even if the extracted content will be used elsewhere, like in an email or summary); editing, modifying, or updating existing presentations; combining or splitting slide files; working with templates (.potx), layouts, speaker notes, or comments. Trigger whenever the user mentions \"deck,\" \"slides,\" \"presentation,\" or references a .pptx or .potx filename, regardless of what they plan to do with the content afterward. If a .pptx or .potx file needs to be opened, created, or touched, use this skill.

LiChangZheng10086/doyin_ai_video

Diagnose and fix React codebase health issues. Use when reviewing React code, fixing performance problems, auditing security, or improving code quality.

LiChangZheng10086/doyin_ai_video

Sentry error monitoring and performance tracing patterns for Next.js applications.

LiChangZheng10086/doyin_ai_video

Simplify and refine recently modified code for clarity and consistency. Use after writing code to improve readability without changing functionality.

LiChangZheng10086/doyin_ai_video

✅ "你知道今天所有大模型能读懂你的话,全靠一个叫Transformer的架构吗?"

LiChangZheng10086/doyin_ai_video

Use this skill any time a spreadsheet file is the primary input or output. This means any task where the user wants to: open, read, edit, or fix an existing .xlsx, .xlsm, .xltx, .csv, or .tsv file (e.g., adding columns, computing formulas, formatting, charting, cleaning messy data); create a new spreadsheet from scratch or from other data sources; or convert between tabular file formats. Trigger especially when the user references a spreadsheet file by name or path — even casually (like \"the xlsx in my downloads\") — and wants something done to it or produced from it. Also trigger for cleaning or restructuring messy tabular data files (malformed rows, misplaced headers, junk data) into proper spreadsheets. The deliverable must be a spreadsheet file. Do NOT trigger when the primary deliverable is a Word document, HTML report, standalone Python script, database pipeline, or Google Sheets API integration, even if tabular data is involved.

Verwandte Skills