bilibili-note-plugin:B 站链接转 Obsidian 笔记的 DSH 联网插件

前言

在 DeepSeek Harness 里处理 B 站视频时,常见做法是临时写脚本拉字幕、再手工整理成 Markdown。重复劳动集中在拉取、解析时间轴和校验输出;摘要、要点和标签仍要人或模型判断。若希望把「机械环节」固定成可复用能力,并把技能挂进 DSH 目录,而不是每次复制 SKILL.md 到 ~/.agents/skills,可以用插件形态安装上游 bilibili-note 的封装版。

下面介绍维护者 3588834014-del 在 SkillHub 分类「联网工具」下的 3588834014-del/bilibili-note-plugin:把 B 站视频链接变成 Obsidian 结构化笔记,只下载字幕,不下载视频。

这是什么

本仓库是 3588834014-del/bilibili-note 的 DSH 插件封装:在上游 CLI / 技能之上增加 package.json、cordis.patch.yml、lib/index.js 等 bundle 包装。不需要以 dsh 插件安装时,应使用上游仓库的 skill 或 CLI。

插件 npm 包名为 dsh-bilibili-note(当前资料中版本 1.2.0),许可证 MIT。流程可以概括为:

Bilibili URL ──▶ fetch ──▶ manifest.json ──▶ [你 / 智能体] ──▶ content.json ──▶ write ──▶ note.md

fetch 用 yt-dlp 且强制 --skip-download,并校验工作目录未出现 .mp4、.flv、.m4a、.part 等媒体文件;摘要、要点、标签等「判断环节」按文档约定由你或模型填写。

核心功能

只拉字幕、不写空笔记

工具只走 yt-dlp 字幕通道,不逆向、不调用私有 API。无字幕时会跳过并说明,不伪造内容,也不写出空笔记。

分 P 合集合并时间轴

对 B 站分 P 合集,会拉取各 P 字幕并把时间戳重基准到一条连续时间线。某一 P 无字幕时会跳过该 P 字幕内容,仍保留其时间槽,避免后续时间戳错位。若多 P 字幕字节级完全相同,会报错退出,避免重复内容被静默写成笔记。

笔记结构

生成的 Markdown 面向 Obsidian:含 YAML front matter、摘要区、带可点击 ?t= 跳转链接的要点列表,以及折叠在底部的完整文稿。

作为 DSH 技能注册

安装后会把 bilibili-note 技能注册进 DSH 技能目录;插件自带 scripts/bili_note.py、docs/、SKILL.md,并把技能正文里的 <skill-dir> 占位符改写为绝对安装路径,避免模型猜测脚本位置。模型可通过「B站笔记」或粘贴 BV 链接等方式触发。

安装与启用

依赖与权限要点(安装前建议通读上游 README):

要求 说明
Python 3.8+ 脚本本体仅标准库
yt-dlp 外部命令,非 Python 包;pip install -U yt-dlp
B 站 cookies AI 字幕通常需要登录态;见下文
DSH 插件/技能路径要求 >=0.2.0-rc.2 <0.3.0

插件以当前 dsh 进程权限运行,会访问网络(经 yt-dlp 连 bilibili.com)、读取 cookie 文件、向指定的笔记目录与工作目录写入文件。安装前请自行审阅 GitHub 源码 与许可证。

在 DeepSeek Harness 中推荐用 profile web 安装:

dsh plugin --profile web add github:3588834014-del/bilibili-note-plugin

安装后重启对应 profile,技能才会出现在目录中。卸载:

dsh plugin --profile web remove dsh-bilibili-note

说明:尚无 npm 发布包,属于源码安装;可在 dsh-plugin.org 检索,但不会出现在应用内插件商店。使用 pnpm ≥10 时可能对 git 依赖提示允许 build script;该包无 prepare 脚本,安装时不会执行构建脚本。

Cookies 配置

B 站 AI 字幕接口需要已登录会话。上传者自带字幕的部分视频可能无需 cookie。

  1. 安装浏览器扩展 Get cookies.txt LOCALLY。
  2. 登录 bilibili.com。
  3. 导出 cookies.txt。
  4. 放在工作目录,或设置环境变量:
export BILI_COOKIES=/path/to/cookies.txt      # Linux / macOS
$env:BILI_COOKIES = "C:\path\cookies.txt"     # PowerShell

扩展导出的 Netscape 格式常带「域名前导点 + host-only 标志不一致」问题,会导致 yt-dlp 整文件加载失败,表象像「没有字幕」。插件内的 normalize_cookies() 会做规范化(去前导点、过滤 bilibili 域、去重),无需手工改 cookie 行。

工具会读取 cookie 并在工作目录旁写入规范化临时副本供 yt-dlp 使用;不上传、不记录、不提交 cookie。

典型用法

在 DSH 里

安装并重启 profile 后,对模型说「B站笔记」或粘贴 B 站视频链接,按 SKILL.md 契约完成 content.json 中的摘要与要点,再由脚本写入 vault。

独立 CLI(与插件同源实现)

若不用插件,也可在上游仓库用 pipx 或本地安装后调用(与插件共用 scripts/bili_note.py):

bili-note --version
bili-note note "https://www.bilibili.com/video/BVxxxxxxxxx" \
    --note-dir ~/MyVault/Sources/Videos

笔记输出目录由 --note-dir 等参数指定,仓库内无硬编码路径。

适用场景与注意

适合:想把 B 站学习/访谈类视频转成 Obsidian 可检索笔记、且明确不想落盘视频文件的 DSH 用户;需要分 P 长合集一条时间轴文稿的场景。

注意:

  • 联网与 cookie 均在你本机 dsh 环境下发生,请妥善保管 cookies.txt。
  • 判断层(摘要、标签、要点)仍需模型或人工按契约补全,插件不替代内容理解。
  • 社区目录 SkillHub 插件页 与 dsh-plugin.org 为独立生态站点,与 DeepSeek / 幻方无官方从属关系。

结尾

bilibili-note-plugin 把「B 站 URL → 字幕 manifest → 结构化 Obsidian 笔记」的机械步骤封装成 DSH bundle 技能:只拉字幕、校验无媒体落盘,并把脚本路径写进技能正文。需要插件形态时装一条官方命令即可;只要 CLI 或手工 skill 时则用上游 bilibili-note。

羽毛球分组比赛记分
小程序二维码

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

Xiaoye