阅读笔记2026-08-08
一个 Skill 下载全网视频:20+ 平台自动识别
前几天做了视频号下载 Skill,过程中发现依赖的 bugpk.com 聚合接口其实支持 20+ 平台,不只是视频号。那为什么不直接做一个通用的?
一、从单平台到全平台
之前的 wxchannel-download 只处理视频号,但这个 Skill 的存在本身就说明了问题——用户在不同平台之间切换,不应该为每个平台写一个 Skill。
bugpk 的聚合接口设计得很巧妙:
GET https://api.bugpk.com/api/short_videos?url=<任意链接>你传什么链接,它就解析什么平台。抖音的短链、B站的 BV 号、小红书的 explore 链接、YouTube 的标准 URL——全部由同一个端点处理,返回统一格式的 JSON。
二、支持的平台
| 类别 | 平台 |
|---|---|
| 短视频 | 抖音、快手、微视、西瓜视频、好看视频、梨视频 |
| 社交 | 小红书(视频+图集)、微博、绿洲、知乎 |
| 中长视频 | B站 (bilibili)、YouTube、AcFun |
| 海外 | TikTok、Twitter/X、Instagram |
| 微信 | 视频号 |
| 娱乐 | 皮皮虾、皮皮搞笑、虎牙、全民、美拍 |
| AI | 即梦AI、豆包 |
| 音乐 | 汽水音乐 |
三、自动平台识别
Skill 的入口是任何一个平台的分享链接。脚本内置了 22 个域名匹配规则,自动识别平台:
python
PLATFORM_PATTERNS = [
("抖音", r"douyin\.com|iesdouyin\.com|v\.douyin\.com"),
("快手", r"kuaishou\.com|v\.kuaishou\.com"),
("小红书", r"xiaohongshu\.com|xhslink\.com"),
("B站", r"bilibili\.com|b23\.tv"),
("视频号", r"weixin\.qq\.com/sph|channels\.weixin\.qq\.com"),
("YouTube", r"youtube\.com|youtu\.be"),
("TikTok", r"tiktok\.com"),
# ... 共 22 个规则
]用户输入链接 → 正则匹配 → 确定平台 → 调用 API → 下载。全程无需用户指定平台。
四、实测
用不同平台的链接测试解析:
# 抖音
[识别] 平台: 抖音
标题: 新年马桶也换上了新衣服~太喜庆了~
作者: 我是珊珊💰
类型: video ✅
# 视频号
[识别] 平台: 视频号
标题: 千万不要在小环境里待太久
作者: 个人提升宝典
类型: video ✅五、Skill 结构
multi-video-downloader/
├── SKILL.md # 触发词、支持平台、使用方式
└── scripts/
└── download.py # 通用下载脚本(仅依赖 Python 标准库)SKILL.md 声明了广泛的触发词:
- 下载视频、下载抖音、下载快手、下载小红书
- 下载B站、视频下载、无水印下载、去水印
六、与 wxchannel-download 的定位
| 特性 | wxchannel-download | multi-video-downloader |
|---|---|---|
| 平台 | 仅视频号 | 20+ 平台 |
| API 源 | 双源容灾(bugpk + litao) | 单源(bugpk) |
| 视频编码选择 | h264 / h265 切换 | 自动最优 |
| 适用场景 | 视频号专业下载 | 全平台通用下载 |
对于视频号,两者都可以。对于其他平台,只能用 multi-video-downloader。
七、局限
- 单 API 依赖:只依赖 bugpk.com,不如 wxchannel-download 有双源容灾
- 小红书需 cookie:部分小红书链接解析需要 cookie,可能失败
- 速率限制:bugpk 的 QPS 限制为 1,大量请求需等待
八、后续方向
- 为各平台添加独立的备用解析源(类似视频号的 litao Workers)
- 支持批量下载时自动重试失败链接
- 集成 Whisper 转录 + AI 摘要 → 自动生成视频笔记
这个 Skill 证明了一件事:好的 API 设计(一个端点、统一响应格式)本身就是最好的集成方案。不需要为每个平台写解析器,只需要一个通用的下载器。
END OF NOTE继续浏览文章 →