Paper to Bilibili
Dies ist die einzige Identität für die vollständige Pipeline-Orchestrierung. Sie kombiniert die folgenden beworbenen Pakete sowie den verwalteten Rednote-Workflow:
paper-to-beamer: Paper- und MinerU-Inhalt zu kompilierten 16:10 SUSTech Beamer-Folien.paper-video-cover: Optionale Poster-Generierung als Referenz; das normale Video-Cover bleibt das generierte Cover-Artefakt.paper-slides-to-video: Physischer Seiten-Render, Erzählungsextraktion, TTS, Querformat-Montage, Cover und Bilibili-Metadaten.rednote-video-uploader(verwaltet): Erforderliche Hochformat-Videogenerierung.paper-bilibili-uploader: Fail-Closed-Validierung, Trockenlauf, Upload und dauerhafter Beleg.
Ausgaben verwenden $PP_ROOT/论文分享/<VENUE YEAR - SHORT>/ mit md_output/, slides-beamer/ und video/.
Modi und Phasen
slides: Paper zu kompilierten Folien
Wenn ein Eintrag eine nichtleere arxiv_id hat (oder der Benutzer einen arXiv-Link bereitgestellt hat) und keine Quelle auf der Festplatte existiert (kein Root-PDF, kein paper_src/ mit .tex), lade zuerst die TeX-Quelle herunter:
python \
"<SKILLS_DIR>/paper-download-arxiv-paper-source/scripts/download_source.py" \
"<arxiv_id>" --output "<paper_dir>"
Der Downloader erstellt <paper_dir>/arXiv-<id>.tar.gz + <paper_dir>/paper_src/; dann folge skill://paper-to-beamer Phase 1 ff. (Der Move-Schritt von Phase 1 wird übersprungen, da das Paper-Verzeichnis bereits existiert). Für PDF_ONLY-Ausgabe kopiere das PDF in das Root-Verzeichnis des Papers (das pdf_downloaded-Gate erfordert ein Root-PDF).
Folge skill://paper-to-beamer für die Inhaltserstellung. Erforderliche Gates vor dem Fortfahren:
slides-beamer/main.texenthält die paperspezifische Erzählung von Paper-Informationen und Motivation über Methoden, Experimente, Einschränkungen, Erkenntnisse, Referenzen, Q&A und 3–8 nützliche Anhangsfolien.- Das Dokument verwendet die SUSTech 16:10-Vorlage (
aspectratio=1610). slides-beamer/main.pdfist nicht leer, ohne undefinierte Steuerungen oder schwere Überläufe.
Die Batch-CLI scannt und persistiert nur Festplattennachweise für diese vom Agenten erstellte Phase; sie erfindet keine Folien.
Gate zur Erstellung der Erzählung
Kopiere das kompilierte TeX nach video/main_with_narration.tex und füge pro physischer PDF-Seite genau einen nichtleeren % NARRATION:-Eintrag hinzu. Die Erzählung ist gepflegtes vereinfachtes Chinesisch mit englischen Fachbegriffen im Fließtext. Sie erweitert das technische Argument, anstatt Aufzählungspunkte vorzulesen, vermeidet visuelle Referenzen wie „本页“ oder „如图所示“ und deckt auch Anhangsseiten ab.
Der Übergang von slides_done zu narrations_done erfolgt nur, wenn sowohl die kompilierten Folien als auch die nichtleere annotierte TeX-Datei existieren.
video: Erzählte Quer- und Hochformat-Artefakte
python <SKILLS_DIR>/paper-to-bilibili/scripts/batch.py video "<PAPERS_JSON>"
Für jedes narrations_done-Paper ruft der Orchestrator den full-Befehl des Geschwister-Skills paper-slides-to-video auf. Nach erfolgreichem Kind-Scan wird erneut gescannt und atomar video_done persistiert. Dann wird das verwaltete rednote-video-uploader/scripts/portrait_video.py aufgerufen, erneut gescannt, Cover und Bilibili-Metadaten validiert und atomar upload_ready persistiert. Fehler bei Kindern werden weitergegeben und der Zustand nie vorgerückt.
Qualitätsgates sind exakte Frame-/Text-/MP3-Kardinalität, nichtleere Erzählung und Audio für jede physische Seite, ein nichtleeres Querformat-MP4, ein nichtleeres Hochformat-MP4, ein nichtleeres Cover und schema-konforme Bilibili-Metadaten.
bilibili: Validieren oder Hochladen
Führe immer zuerst einen Trockenlauf durch:
python <SKILLS_DIR>/paper-to-bilibili/scripts/batch.py bilibili "<PAPERS_JSON>" --dry-run
Der Trockenlauf delegiert an den beworbenen Uploader und muss upload_ready unverändert lassen. Entferne --dry-run erst nach Überprüfung. Es gibt kein Standard-Upload-Timeout; ein Bediener kann mit --upload-timeout SEKUNDEN optieren.
Normale Uploads erfordern zuerst P1 Querformat, dann P2 Hochformat. Metadaten verwenden einzigartiges tag, eine positive tid, gültige Copyright/Quellfelder, eine strukturierte Beschreibung und ein nichtleeres Cover. Ein Paper wird nur dann als uploaded markiert, wenn video/upload_result.json gültig ist und eine passende BV-URL sowie einen ISO-8601-Zeitstempel enthält.
Zustandsvertrag
batch.py scannt die Festplatte mit dieser exakten Rangfolge:
- gültiges
upload_result.json→uploaded - nichtleeres Querformat + nichtleeres Hochformat + Cover + schema-konformes
video_meta.json→upload_ready - nichtleeres Querformat →
video_done - kompilierte Folien + nichtleere annotierte TeX →
narrations_done - kompilierte Folien →
slides_done - MinerU Markdown →
mineru_done - Quell-PDF oder extrahierte TeX-Quelle (paper_src/ mit .tex) →
pdf_downloaded - sonst →
pending
Jeder erfolgreiche Kind-Befehl wird von einem erneuten Scan und atomaren Ersetzen des Eingabe-JSON gefolgt. Zustandsänderungen werden als STATE <paper>: <alt> -> <neu> ausgegeben. Trockenlauf validiert und delegiert, erfindet aber nie einen neuen Zustand. Ein fehlgeschlagenes Kind behält den letzten bestätigten Zustand bei und sein Exit-Code wird weitergegeben.
Batch-Eingabe
papers.json ist ein Array von Objekten mit einem nichtleeren absoluten dir_path; dir_name, arxiv_id, pdf_path und beschreibende Felder können beigefügt sein. Der Orchestrator zeichnet _status in jedem Objekt auf.
Voraussetzungen
- Python 3.10+ (falls
pythonnicht im PATH ist, verwendepy -3). - Abhängigkeiten werden in
pyproject.tomldeklariert (derzeit keine zur Laufzeit); installiere das Projekt mituv sync --project <SKILLS_DIR>/paper-to-bilibili, wenn welche hinzugefügt werden. <SKILLS_DIR>ist das Verzeichnis, das die installierten Skill-Ordner enthält (z. B.~/.claude/skills,~/.codex/skills,.omp/skills); Geschwister-Skills (paper-slides-to-video,paper-bilibili-uploader,paper-download-arxiv-paper-source) müssen neben diesem installiert sein, damit die Geschwister-Auflösung projektlokal und deterministisch bleibt.PAPER_PYTHON(optional): Interpreter zum Starten von Geschwister-CLIs; standardmäßig der Interpreter, derbatch.pyausführt.
Verwandte Skills
- skill://paper-bilibili-uploader
- skill://paper-download-arxiv-paper-source
- skill://paper-slides-to-video
- skill://paper-to-beamer
- skill://paper-video-cover
- skill://rednote-video-uploader