前言¶
在 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,能力边界如下。
- 官方字幕:通过 B 站播放器相关接口获取 CC/AI 轨道(含 wbi 签名),转成 SRT/TXT。
- ASR 回退:无可用官方字幕时,拉取音轨,经 PyAV 解码后用 sherpa-onnx 加载 SenseVoice-small 在 CPU 上逐段识别,再按规则分配时间轴。
- 输出位置固定:文件落在工作区
bilibili-subtitles/下,命名含 BV 与标题。 - 模式可选:
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」:
- 先取视频信息(
x/web-interface/view;遇 412 风控则解析页面__INITIAL_STATE__)。 - 官方字幕走
x/player/wbi/v2→ 轨道 JSON → SRT。 - 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