Communitygithub.com

論文B站上傳工具

驗證並將有旁白的論文影片上傳至Bilibili,使用biliup工具。支援橫向/直向影片順序、系列上傳、CST排程、診斷、乾執行驗證及持久化上傳回執。觸發詞:「上傳到B站」、「bilibili上傳」、「發布到B站」、「上傳到B站」。

論文B站上傳工具 是什麼?

這是一個專門用於上傳論文影片至Bilibili (B站) 的AI代理技能,透過biliup命令行工具實現。它支援標準的橫向/直向影片順序(先橫後直)、系列模式、CST時區排程、詳細驗證與診斷功能。用戶可通過「上傳到B站」、「bilibili上傳」等自然語言指令觸發。該技能會自動檢查影片目錄結構、中繼資料(如標題、標籤、分類)、封面政策(海報或首頁截圖),並在正式上傳前提供乾執行模式以進行無風險驗證。上傳成功後會生成包含BV號、URL及時間戳的上傳回執。此外,它還支援登入管理、診斷工具以及與其他技能(如論文影片封面、小紅書上傳器)的整合。

相容平台~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/Peytontalismanic424/paper-share-skills/tree/HEAD/paper-bilibili-uploader

在你喜歡的 AI 中提問

開啟一個已預先載入此 Agent Skill 的新對話。

說明文件

論文B站上傳器

使用最終打包的命令列工具:

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

(此腳本依賴 biliup、psutil 和 requests—請參閱技能目錄中的 pyproject.toml;請在該目錄中執行 uv sync,或若匯入失敗,請在當前直譯器中安裝這些套件。)

只有在審閱已解析的元件、中繼資料、封面和發布時間後,才移除 --dry-run。

必要的一般模式目錄結構

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

兩個 MP4 檔案必須非空。命令列工具會確定性地先上傳所有橫向影片,再上傳所有直向影片:P1 橫向,然後 P2 直向。缺少或空的橫向、直向、封面或中繼資料檔案將導致上傳失敗。

封面政策(需要海報成品;上傳首頁截圖作為封面)

實驗室調研(課題組)目錄——透過論文根目錄中的 poster_data.json 偵測 ——仍然需要論文影片封面海報成品: <PAPER_DIR>/poster/poster.png 必須存在(缺少此檔案將導致上傳失敗,並附上生成提示)。然而,上傳封面預設使用投影片的首頁截圖:若 video_meta.json 中有明確的 cover_path,則採用該路徑;否則使用 video/cover.png(由影片管道從標題頁渲染生成)——海報不會覆蓋首頁截圖。所有其他論文(論文分享等)保留一般封面合約——明確的 cover_path → video/cover.png——且目錄中的 poster/poster.png 會被忽略。系列模式(--series)會完全跳過實驗室/海報檢查。

若實驗室影片已以錯誤封面上傳,請無需重新上傳進行修正:upload.py --edit --vid <BV> --cover <video/cover.png>——成員封面端點會上傳圖片,編輯動作會直接提交該 URL(移除 scheme 會導致編輯失敗,錯誤訊息為 封面必須由頁面進行上傳,不支持外部鏈接)。影片在上傳後短時間內會處於審核狀態;一旦解鎖(狀態 0),編輯即可成功,否則請輪詢並重試。

使用保留的管理工作流程在 ~/.omp/agent/managed-skills/rednote-video-uploader/scripts/portrait_video.py 生成直向成品(請根據您代理的管理技能目錄進行調整)。

中繼資料合約

video/video_meta.json 必須使用 Bilibili 的單數 tag 鍵:

{"title":"【場地年份】論文 — 中文亮點","tag":["論文分享","機器人"],"tid":231,"copyright":1,"desc":"【論文資訊】...","cover_path":"cover.png"}

驗證要求:title 為非空字串;tag 為非空字串的非空陣列;tid 為正整數;copyright 必須為 1 或 2;當 copyright 為 2 時,需要非空的 source。cover_path 必須指向一個非空檔案。請勿將 tag 重新命名為 tags;tags 屬於小紅書中繼資料。

乾執行邊界

--dry-run 會執行輸入解析、P1/P2 排序、中繼資料修補、發布排程、驗證以及完整的命令建構。它在任何 biliup 子程序啟動前返回,且絕不會寫入上傳回執。

CST 排程

  • 00:00–22:59 立即發布,除非中繼資料或 --dtime 提供了延遲時間。
  • 23:00–23:59 若未提供延遲時間,則排程至次日 07:00。
  • 明確的 --dtime 始終優先;它接受 CST 格式的 YYYY-MM-DD HH:MM 或十位數的 Unix 時間戳。

上傳回執

真正的上傳成功僅在 biliup 返回零退出碼並提供 BV 識別碼時發生。命令列工具會將 status、bv、url 和 ISO-8601 格式的 uploaded_at 欄位準確寫入 video/upload_result.json。若退出碼為零但無 BV 識別碼,則視為失敗且不會寫入回執。

系列模式

將排序好的 P1–PN 橫向影片、cover.png 和 video_meta.json 放入 <PAPER_DIR>/bilibili-series/video/,然後加上 --series。系列模式會保留檔案名稱順序,且不要求直向部分。

登入與診斷

使用相同的命令列工具加上 --login、--diagnose 或 --kill-all。Cookie 存放在 %USERPROFILE%/.bilibili/cookies.json。診斷功能使用 psutil 進行程序/開啟檔案檢查,不依賴 WMIC 或 fsutil,且能容許未設定的 LOCALAPPDATA。

相關技能

  • 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.

相關技能