前言¶
在 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。
- 安装浏览器扩展 Get cookies.txt LOCALLY。
- 登录 bilibili.com。
- 导出
cookies.txt。 - 放在工作目录,或设置环境变量:
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。