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:
| Pfad | Engine | Anmeldemethode | Wichtige Einschränkungen |
|---|---|---|---|
| Douyin Bild+Text | Externes social-auto-upload CLI (optional) | Wiederverwendung bestehender Douyin-Anmeldung | Nur eine Aufgabe gleichzeitig; keine automatischen Wiederholungen |
| Toutiao Artikel | Eigener 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.
⚠️ 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-sessionszur Eröffnung einer Administrator-Sitzung erfordert weiterhin den korrekten PIN. Der PIN-lose Zweig existiert nur unter dem explizit benannten PfadPOST /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.statusbleibt 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 Playwrightstorage_statekonvertiert 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 unterstorage/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.jsonbeschä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.htmlexportieren, jederzeit verwendbar, direkt in den Toutiao-Editor einfügbar); Artikelaufgaben bieten keine „Text bearbeiten“-Funktion – der Text ist das Rendering des paketweitenarticle.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,unzipund 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, ffprobewhisper/: whisper-cli, ggml-small-Modell und Windows-DLLshyperframes/: HyperFrames CLI und seine Node-Abhängigkeitenbrowser/: 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)
- API-Key: https://platform.deepseek.com/api_keys
- Modell: deepseek-chat
- Gutes Preis-Leistungs-Verhältnis, geeignet für chinesische Inhalte
OpenAI
- API-Key: https://platform.openai.com/api-keys
- Modell: gpt-4o, gpt-4o-mini
- Stabile Qualität
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.txtgespeichert
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-smallmehrsprachiges 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)…