◒ 知行库目录 ↗
阅读笔记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-downloadmulti-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继续浏览文章 →