DSH 插件 bilibili_subtitle:B 站視頻字幕提取與本地 ASR 回退

前言

在 DeepSeek Harness(DSH)裏做視頻內容相關的智能體任務時,常見需求是把 B 站講的要點落成可檢索、可引用的文本。手動開播放器抄字幕,或單獨寫腳本拉接口、再折騰語音識別,都會打斷工作區裏的對話流。

下面介紹的 dsh-plugin-bilibili-subtitle(維護者 TimYi,分類爲聯網工具)把這件事收成 DSH 裏一個工具:傳入視頻鏈接或 BV 號,在工作區生成 .srt 與 .txt。有官方 CC/AI 字幕時優先取用;沒有時在本機用 SenseVoice-small 轉寫,不依賴顯卡與 B 站登錄。

這是什麼

該插件面向 DeepSeek Harness 用戶,註冊工具名 bilibili_subtitle。源碼與說明見 GitHub:TimYi/dsh-plugin-bilibili-subtitle,社區目錄頁爲 SkillHub 插件頁。當前 package 版本爲 0.1.0,許可證 MIT,要求 DSH >=0.2.0。

核心功能

依據倉庫 README,能力邊界如下。

  1. 官方字幕:通過 B 站播放器相關接口獲取 CC/AI 軌道(含 wbi 簽名),轉成 SRT/TXT。
  2. ASR 回退:無可用官方字幕時,拉取音軌,經 PyAV 解碼後用 sherpa-onnx 加載 SenseVoice-small 在 CPU 上逐段識別,再按規則分配時間軸。
  3. 輸出位置固定:文件落在工作區 bilibili-subtitles/ 下,命名含 BV 與標題。
  4. 模式可選:mode 支持 auto(默認)、official、asr;language 默認 zh。

返回結果中的 source 會標明本次用的是 official 還是 asr,便於後續校對策略。

安裝與啓用

插件以 bundle 形式聲明(cordis.patch.yml),裝好後工具隨 profile 全局可用。安裝前請自行審閱源碼與 MIT 許可證;插件在 當前 DSH 進程權限 下運行,會發起聯網請求並可能寫入本機緩存目錄。

從插件市場索引安裝

在 DSH 設置 → 插件 → 索引(Discover)中加入市場索引地址:

https://raw.githubusercontent.com/TimYi/dsh-plugin-bilibili-subtitle/main/market/index.json

隨後在 Discover 中搜索「B 站字幕」完成安裝。

從 Git 安裝

dsh plugin install "git+https://github.com/TimYi/dsh-plugin-bilibili-subtitle.git"

或在 profile 目錄執行:

pnpm add "git+https://github.com/TimYi/dsh-plugin-bilibili-subtitle.git"

典型用法

工具參數如下(摘自 README)。

參數 必填 說明
url 是 視頻鏈接或 BV 號
mode 否 auto / official / asr,默認 auto
language 否 官方字幕語言偏好或 ASR 語言標籤,默認 zh

輸出示例路徑:

<工作區>/bilibili-subtitles/<BV>-<標題>.srt
<工作區>/bilibili-subtitles/<BV>-<標題>.txt

在 DSH 會話中可直接用自然語言觸發,例如:

用 bilibili_subtitle 提取 https://www.bilibili.com/video/BV13Axv6EEsa/

工作原理與運行環境(摘要)

README 中的處理順序便於排查「爲什麼這次是 ASR」:

  1. 先取視頻信息(x/web-interface/view;遇 412 風控則解析頁面 __INITIAL_STATE__)。
  2. 官方字幕走 x/player/wbi/v2 → 軌道 JSON → SRT。
  3. ASR 路徑:x/player/playurl 取音軌 → 16 kHz 單聲道 → 靜音切段 → SenseVoice 識別。

首次 ASR 會準備 Python 虛擬環境與模型(約 240 MB),默認緩存於 ~/.cache/dsh-bilibili-subtitle/(不可寫時退回 <工作區>/.bilibili-subtitle-cache/)。需要本機 python3(≥3.10)與 python3 -m venv。性能參考:README 記載 83 分鐘視頻在 8 核 CPU 上約 5 分鐘(RTF≈0.055)。

適用場景與注意

適合:需要在 DSH 工作區裏快速拿到 B 站口述稿、做摘要/檢索/二次加工,且能接受 ASR 誤差時校對。

限制(均來自 README,勿當作保證):

  • 多 P 視頻只處理第一 P。
  • 官方字幕對匿名請求多數不可用,實際常走 ASR。
  • ASR 對專名、術語易錯;首次需聯網拉依賴與模型,之後 ASR 部分可離線,取音軌仍要聯網。

SkillHub 上的社區目錄由第三方維護,與 DeepSeek / 幻方無官方從屬關係;安裝來源以你配置的索引或上述 Git 地址爲準。

結尾

dsh-plugin-bilibili-subtitle 把「鏈接觸發 → 字幕文件落盤」收進 DSH 工具鏈:能拿官方軌就拿,否則本機 SenseVoice 頂上。進一步細節、Issue 與更新以倉庫爲準。

  • 目錄頁:https://www.skillhub.cn/plugins/TimYi/dsh-plugin-bilibili-subtitle
  • GitHub:https://github.com/TimYi/dsh-plugin-bilibili-subtitle
羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

小夜