Communitygithub.com

Paper Bilibili Uploader

Validiert und lädt erzählte Paper-Videos mit biliup auf Bilibili hoch. Handhabt erforderliche Querformat-/Hochformat-Einreichungen, Serien-Uploads, CST-Zeitplanung, Diagnose, Trockenlauf-Validierung und dauerhafte Upload-Quittungen.

Was ist Paper Bilibili Uploader?

Dieses Skill (Paper Bilibili Uploader) automatisiert den Upload von wissenschaftlichen Paper-Präsentationsvideos auf die chinesische Plattform Bilibili. Es ist speziell für Arbeitsabläufe konzipiert, die zuerst ein Querformat-Video (Landscape) und dann ein Hochformat-Video (Portrait) erfordern, und unterstützt sowohl Einzel-Uploads als auch Serien-Uploads (z. B. für Paper-Reihen). Das Skill validiert Eingabedateien (MP4s, Cover, Metadaten) in einem strengen Schema, plant Veröffentlichungen basierend auf der chinesischen CST-Zeitzone und bietet einen Trockenlauf-Modus zur Überprüfung aller Schritte ohne tatsächlichen Upload. Es generiert Upload-Quittungen mit BV-Identifikatoren für die Nachverfolgung und beinhaltet Diagnose- und Login-Funktionen über dieselbe CLI. Das Skill ist für Agenten wie Claude Code konzipiert und verwendet biliup als zugrunde liegende Upload-Bibliothek. Es unterstützt auch spezielle Cover-Richtlinien für Labor-Paper (mit Poster-Artefakt) und bietet eine Bearbeitungsfunktion zum Korrigieren von Covern ohne erneuten Upload.

Funktioniert mit~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/Peytontalismanic424/paper-share-skills/tree/HEAD/paper-bilibili-uploader

In Ihrer bevorzugten KI fragen

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

Dokumentation

Was macht Paper Bilibili Uploader?

Nutze das finale gepackte CLI:

python <SKILLS_DIR>/paper-bilibili-uploader/scripts/upload.py "<PAPER_DIR>" --dry-run

(Das Skript hängt von biliup, psutil und requests ab — siehe pyproject.toml im Skill-Verzeichnis; führe dort uv sync aus oder installiere sie im aktiven Interpreter, falls Importe fehlschlagen.)

Entferne --dry-run erst, nachdem du die aufgelösten Teile, Metadaten, Cover und Veröffentlichungszeit überprüft hast.

Erforderliches Normalmodus-Layout

<PAPER_DIR>/video/
  *_narrated.mp4
  *_portrait_narrated.mp4
  cover.png
  video_meta.json

Beide MP4s müssen nicht leer sein. Das CLI sendet deterministisch jedes Querformat-Video vor jedem Hochformat-Video: P1 Querformat, dann P2 Hochformat. Ein fehlendes oder leeres Querformat, Hochformat, Cover oder eine fehlende Metadatendatei führt zu einem Abbruch.

Cover-Richtlinie (POSTER-ARTEFAKT erforderlich; ERSTE-FOLIE-Cover-Uploads)

Verzeichnisse für 实验室调研 (课题组) — erkannt durch eine poster_data.json im Paper-Stammverzeichnis — erfordern weiterhin das Paper-Video-Cover-POSTER-Artefakt: <PAPER_DIR>/poster/poster.png muss existieren (fehlt es, wird der Upload mit einem Generierungshinweis abgebrochen). Das UPLOAD-COVER verwendet jedoch standardmäßig die ERSTE FOLIE des Decks: Ein expliziter cover_path in video_meta.json hat Vorrang, ansonsten wird video/cover.png (vom Video-Pipeline aus der Titelseite gerendert) verwendet — das Poster wird NICHT über das Cover der ersten Folie kopiert. ALLE ANDEREN Paper (论文分享 etc.) behalten den einfachen Cover-Vertrag — expliziter cover_path → video/cover.png — und ein poster/poster.png im Verzeichnis wird IGNORIERT. Der Serien-Modus (--series) überspringt die Labor-/Poster-Prüfung vollständig.

Falls ein Labor-Video bereits mit dem falschen Cover hochgeladen wurde, korrigiere es OHNE erneuten Upload: upload.py --edit --vid <BV> --cover <video/cover.png> — der Member-Cover-Endpunkt lädt das Bild hoch und die Bearbeitung sendet die URL wörtlich (das Entfernen des Schemas führt zum Fehler 封面必须由页面进行上传,不支持外部链接). Das Video bleibt kurz nach dem Upload in der Überprüfung; die Bearbeitung ist erfolgreich, sobald es entsperrt ist (Status 0), ansonsten Polling und Wiederholung.

Generiere das Hochformat-Artefakt mit dem beibehaltenen verwalteten Workflow unter ~/.omp/agent/managed-skills/rednote-video-uploader/scripts/portrait_video.py (passe an das managed-skills-Verzeichnis deines Agenten an).

Metadaten-Vertrag

video/video_meta.json muss Bilibilis singulären tag-Schlüssel verwenden:

{"title":"【Venue Year】Paper — 中文亮点","tag":["论文分享","机器人"],"tid":231,"copyright":1,"desc":"【论文信息】...","cover_path":"cover.png"}

Die Validierung erfordert einen nicht leeren String title; eine nicht leere Liste von nicht leeren Strings in tag; eine positive ganze Zahl tid; copyright genau 1 oder 2; und einen nicht leeren source, wenn copyright 2 ist. cover_path muss auf eine nicht leere Datei verweisen. Benenne tag nicht in tags um; tags gehört zu Rednote-Metadaten.

Trockenlauf-Grenze

--dry-run führt die Eingabeauflösung, P1/P2-Reihenfolge, Metadaten-Korrektur, Veröffentlichungsplanung, Validierung und vollständige Befehlskonstruktion durch. Es kehrt zurück, bevor ein biliup-Unterprozess starten kann, und schreibt niemals eine Upload-Quittung.

CST-Planung

  • 00:00–22:59 veröffentlicht sofort, es sei denn, die Metadaten oder --dtime liefern eine verzögerte Zeit.
  • 23:00–23:59 plant für den nächsten Tag um 07:00, wenn noch keine verzögerte Zeit angegeben wurde.
  • Explizites --dtime hat immer Vorrang; es akzeptiert YYYY-MM-DD HH:MM in CST oder einen zehnstelligen Unix-Zeitstempel.

Upload-Quittung

Ein echter Upload ist nur erfolgreich, wenn biliup mit dem Exit-Code 0 beendet wird und eine BV-Kennung zurückgibt. Das CLI schreibt video/upload_result.json exakt mit den Feldern status, bv, url und ISO-8601 uploaded_at. Ein Exit-Code 0 ohne BV-Kennung schlägt fehl und schreibt keine Quittung.

Serien-Modus

Lege geordnete P1–PN-Querformat-Videos, cover.png und video_meta.json in <PAPER_DIR>/bilibili-series/video/ ab und füge dann --series hinzu. Der Serien-Modus bewahrt die Dateinamen-Reihenfolge und erfordert bewusst keinen Hochformat-Teil.

Anmeldung und Diagnose

Verwende dasselbe CLI mit --login, --diagnose oder --kill-all. Cookies befinden sich unter %USERPROFILE%/.bilibili/cookies.json. Die Diagnose verwendet psutil-Prozess-/offene-Datei-Inspektion, hängt nicht von WMIC oder fsutil ab und toleriert ein nicht gesetztes LOCALAPPDATA.

Verwandte Skills

  • skill://paper-video-cover
  • skill://rednote-video-uploader
  • skill://awesome-embodied-batch-pipeline
  • skill://bilibili-edit-while-in-review
  • skill://blog-to-bilibili
  • skill://lab-survey-to-bilibili-runbook

Individual skills in this repo

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

Peytontalismanic424/paper-share-skills

Download the TeX source (e-print tar.gz) of an arXiv paper from an arXiv URL or bare ID, and unpack it into paper_src/. Use FIRST whenever a pipeline input is an arXiv link and the TeX source is preferred over the PDF (paper-to-beamer, paper-to-bilibili, paper-venue-discovery). Invoke with an arXiv URL (abs/pdf/e-print, arxiv.org or export.arxiv.org) or a bare ID like 2509.07996v4.

Peytontalismanic424/paper-share-skills

Convert Beamer PDF slides into a fail-closed narrated MP4 with page-aligned narration, TTS audio, cover, and upload metadata. Trigger on narrated slides, slide video, or paper video requests.

Peytontalismanic424/paper-share-skills

Automated pipeline: paper (PDF or TeX source) → SUSTech Beamer slides (11-section 论文分享 structure) → compiled PDF. When TeX source is available, skip MinerU and extract content directly from LaTeX. Use when the user asks to create Beamer slides from an academic paper, or says "论文分享", "paper to slides", "make beamer from paper". Invoke with an absolute or relative path to a PDF, .tar.gz TeX archive, .tex file, or an arXiv URL/ID (source TeX is downloaded first via skill://paper-download-arxiv-paper-source).

Peytontalismanic424/paper-share-skills

Orchestrate a paper PDF through MinerU, SUSTech Beamer slides, complete Chinese narration, landscape and portrait video, metadata gates, and Bilibili upload. Supports single-paper and batch slides, video, or bilibili phases. Trigger on full paper-to-Bilibili requests, PDF-to-video publication, and batch paper publishing.

Peytontalismanic424/paper-share-skills

Generate a deterministic 16:10 video-cover poster from a paper directory. Extracts paper metadata and figures and atomically produces poster.tex, poster.pdf, and poster.png. Use for paper-video covers, not conference posters.

Peytontalismanic424/paper-share-skills

Convert a PDF (especially academic papers) to clean Markdown using MinerU — preserves reading order, LaTeX equations, tables, and figures, and runs on the GPU. Use when the user asks to convert/extract a PDF to markdown/text. Invoke directly — no need for the user to type the skill name.

Peytontalismanic424/paper-share-skills

Fix for undefined \setsource/\setdomains/\setpresenter/\setvenue commands when compiling SUSTech Beamer slides from the standard template. Copy the extended beamerthemesustech.sty from the sustech-slides-template repository.

Verwandte Skills