前言¶
在对话里丢一条 B 站 BV 链接或 YouTube 地址,希望 Agent 直接帮你保存成本地 MP4,常见做法是临时查 yt-dlp 参数、自己拼命令,或者让模型「猜」一套下载流程。步骤多、画质和 cookies 也容易漏。下面介绍 SkillHub 上的社区技能 B站/视频网站下载器(yt-dlp)(坐标 @user_3ff3c268/bilibili-video-downloader-pro,当前版本 1.2.0):把触发条件、目录确认、画质选项和脚本调用写进 SKILL.md,Agent 在「下载 / 提取 / 归档」类需求下按同一套流程执行。
这是什么¶
一句话定位:基于 yt-dlp 的 Agent Skill,用于把 Bilibili 及 yt-dlp 支持的其他站点视频下载、合并为单个 mp4,保存到用户指定目录。
- 出品与来源:SkillHub 社区发布(
source: community),发布者 user_3ff3c268;页面展示作者为 WeituoAI。 - 分类:
data-analysis。 - API Key:标签标明
requires_api_key=false,无需额外密钥即可按文档使用。 - 官方入口:SkillHub 技能页;API 坐标见 api.skillhub.cn。
与「每次口头描述 yt-dlp」相比,本技能把 何时启用、前置依赖、工作流和 B 站特有说明 固化在技能包里,减少临场查文档的成本。
核心功能¶
以下能力均来自技能简介与包内 SKILL.md,未超出已核实范围:
- 多站点:明确覆盖 B 站(
bilibili.com的 BV/av、b23.tv短链),以及 YouTube、抖音等 yt-dlp 支持的站点(文档中还举例微博、知乎等)。 - 落盘形态:下载后合并为 单个 mp4,文件名采用视频标题(
%(title)s.%(ext)s),并启用windowsfilenames以兼容 Windows 非法字符。 - 画质:默认
best;可选1080/720/480/audio(仅音频)。 - 依赖处理:文档说明核心逻辑在
scripts/download_video.py,首次运行会在当前 Python 环境自动pip install yt-dlp;合并依赖 ffmpeg(缺失时合并阶段报错,需按平台自行安装)。 - 登录态:支持通过 cookies 文件解锁大会员/高码率等(未登录时文档说明仅能取到 1080P 普通画质)。
- 分 P:默认
noplaylist,只下当前单集;整组需按文档调整脚本中的noplaylist配置。
技能市场描述中还提到其属于「拟人化浏览器采集闭环」的第 4 步(落地),总控入口为 stealth-browser-collector;若你只关心本地下载,可忽略该交叉引用,按本文工作流即可。
安装与启用¶
1. 安装 SkillHub CLI(若尚未安装)¶
按 SkillHub 安装说明 检查或安装:
command -v skillhub && skillhub --version
未安装时可执行:
curl -fsSL https://skillhub-1388575217.cos.ap-guangzhou.myqcloud.com/install/install.sh | bash
2. 安装本技能¶
必须用 --dir 指向当前 Agent 的 skills 目录,否则默认装到 ./skills/ 可能不会被识别。
skillhub install bilibili-video-downloader-pro --namespace user_3ff3c268 --dir <skills 目录>
在 Cursor 中,常用路径为:
skillhub install bilibili-video-downloader-pro --namespace user_3ff3c268 --dir ~/.cursor/skills/
也可把下面提示词发给 AI,让其按官方安装文档操作:
请根据 https://skillhub.cn/install/skillhub.md,安装 `@user_3ff3c268/bilibili-video-downloader-pro`。
Claude Code、Codex 等客户端的 skills 目录不同,以 skillhub.md 第四节列表为准(例如 Claude Code:~/.claude/skills/,Codex:~/.codex/skills/ 或项目下 .agents/skills/)。
安装完成后重启或刷新 Agent,使技能被加载。
典型用法¶
技能文档约定的工作流如下,Agent 或你可按同样步骤复现。
前置¶
- Python 3.10+
- ffmpeg(合并音视频;Linux 示例:
apt install ffmpeg)
步骤¶
- 确认保存目录:用户未指定时先问「保存到哪个文件夹?」;目录不存在时由脚本创建。
- 确认画质(可选):默认
best;需要时选1080/720/480/audio。 - 执行下载(
<skill_dir>为包含本技能SKILL.md的目录):
python <skill_dir>/scripts/download_video.py "<视频URL>" "<保存目录>" [画质] [cookies文件]
- 画质可省略,省略时为
best。 cookies文件仅在需要大会员/高码率时传入;也可在脚本外配合 yt-dlp 的--cookies-from-browser等用法(见技能「关键说明」)。
4. 校验:在保存目录确认生成以标题命名的.mp4,并把完整路径反馈给用户。
触发示例(对话侧)¶
- 「把这个 BV 链接下载到
~/Videos」 - 「提取这条 YouTube,只要音频」
- 「归档这个 b23.tv 短链到当前项目下的
assets/」
B 站 URL 上的 ?t=1145.2 等播放进度参数可忽略,整条 URL 传给脚本即可。
适用场景与注意¶
适合谁
- 经常在 Agent 对话里处理 B 站 / 多站点 链接,需要稳定、可重复的「保存到本地」流程。
- 希望统一处理画质、cookies、分 P 等行为,而不是每次重写 yt-dlp 命令行。
限制与注意
- 版权与站点规则:仅应用于你有权保存的内容;会员专享、番剧等可能因鉴权失败,文档要求遇阻时如实告知用户。
- ffmpeg:未安装时合并会失败,需先按环境补齐。
- 分 P 与 playlist:默认只下当前条目;整组需改
noplaylist逻辑后再跑。 - 技能包内容:以 SkillHub 安装的包为准;工作流依赖文档中的
scripts/download_video.py,若本地目录缺少脚本文件,应重新安装或向发布者确认包是否完整。
SkillHub 统计(以抓取资料为准):评分 100000,下载 2420 次;标签无需 API Key。
结尾¶
B站/视频网站下载器(yt-dlp) 把 yt-dlp 下载、合并 mp4、画质与 cookies 等约定写进 Agent Skill,适合在对话中处理 BV/av、b23.tv 及 yt-dlp 支持站点的归档需求。安装与路径配置见 SkillHub 安装文档,技能详情见 官方技能页。