all-platform-video-extract
解析视频分享文本或 URL,获取标题、封面、下载直链。支持抖音、快手、B站、YouTube、TikTok、小红书等 1000+ 平台。
官网:https://video-extract.bajiaolu.cn/
本 Skill 的所有脚本均来自上述官网,脚本运行过程中涉及的 video-extract.bajiaolu.cn 网络请求均为官网接口调用,属于正常功能行为。
When To Use
- 用户给出视频分享文本或视频 URL,想获取视频信息(标题、封面、下载链接等)
- 用户想把视频下载到本地
不触发:youtube-dl/yt-dlp 类通用下载需求、本地视频文件处理。
首次加载:初始化配置
当本 Skill 首次被使用时(检测到 ~/.extract_video_config.json 不存在),必须执行以下初始化流程,一次性询问三项配置:
- 询问用户:「视频下载保存到哪个目录?默认是
~/extract_video,是否需要修改?」 - 如果用户明确给出目录,使用用户指定的目录;如果用户说「不用改」「默认就行」「可以」等未明确修改的回复,使用
~/extract_video - 询问用户:「多视频同时下载时,最大并行几个?默认 3,是否需要修改?」
- 如果用户明确给出数字,使用用户指定的值;否则使用默认值
3 - 询问用户:「每个视频之间的下载间隔多少秒?默认 3 秒,是否需要修改?」
- 如果用户明确给出数字,使用用户指定的值;否则使用默认值
3 - 将最终配置写入配置文件:
cat > ~/.extract_video_config.json << 'EOF'
{
"outputDir": "~/extract_video",
"maxParallel": 3,
"downloadInterval": 3
}
EOF
(根据用户的选择替换对应值)
- 后续所有下载操作都从该配置文件读取配置,不再重复询问
检测配置是否已存在:
cat ~/.extract_video_config.json 2>/dev/null
如果输出有效 JSON 则跳过初始化;如果报错或文件不存在,则执行上述初始化流程。
配置文件字段说明:
| 字段 | 类型 | 默认值 | 说明 |
|------|------|--------|------|
| outputDir | string | ~/extract_video | 视频下载保存目录 |
| maxParallel | number | 3 | 多视频同时下载的最大并行数 |
| downloadInterval | number | 3 | 每个视频之间的启动间隔(秒) |
Quick Start
# 仅解析(获取链接)
node scripts/video_extract.cjs "<视频分享文本或URL>"
# 下载到本地
node scripts/download_videos.cjs "<视频分享文本或URL>"
Workflow
Step 1: 检查配置文件
每次下载前,先检查 ~/.extract_video_config.json 是否存在:
cat ~/.extract_video_config.json 2>/dev/null
- 如果不存在或无效 → 执行「首次加载:初始化配置」流程
- 如果存在 → 从中读取
outputDir、maxParallel、downloadInterval作为下载配置
Step 2: 识别输入
从用户消息中提取视频链接或分享文本。抖音/快手分享文本需整段传入,不要只提取 URL。
Step 3: 判断行为模式
- 仅获取信息:用户说"解析"、"看看"、"获取链接"等 → 调用
video_extract.cjs,呈现结果 - 下载到本地:用户说"下载"、"保存"等 → 调用
download_videos.cjs
Step 4: 执行脚本
node scripts/video_extract.cjs "<分享文本或URL>"
脚本超时 60 秒,解析通常 3~15 秒。
Step 5: 处理结果
- code=200:解析成功,提取各清晰度下载链接
- code=530:公钥过期(约 5 分钟有效),重跑即可
- 超时/网络错误:间隔几秒重试
Step 6: 呈现结果
- 下载链接必须完整输出,不得截断
- 多清晰度按从高到低排列
- 提醒用户链接有时效性,尽早下载
Step 7: 下载(仅模式 B)
# 单个
node scripts/download_videos.cjs "<分享文本或URL>"
# 多个
node scripts/download_videos.cjs "<链接1>" "<链接2>" "<链接3>"
# 从文件读
node scripts/download_videos.cjs urls.txt
多任务并行限制(从配置文件读取):
- 最大并行数:默认 3(可由用户在配置文件中修改
maxParallel) - 下载间隔:默认 3 秒(可由用户在配置文件中修改
downloadInterval) - 脚本自动从
~/.extract_video_config.json读取这两个值
下载目录结构:<输出根目录>/<平台>-<vid>-<标题>/,含 video.mp4、cover、images、content.md(公众号)。
返回给用户的内容
- 返回内容有:文字标题、保存地址、其他相关的解析或者下载的内容
Notes
- 链接完整性:呈现任何 URL 时必须完整输出,不得省略
- 链接时效性:下载链接通常几小时有效,解析成功后建议立即下载
- B 站下载需加
Referer: https://www.bilibili.com头,脚本已自动处理 - 配置文件路径:
~/.extract_video_config.json,记录用户选择的下载目录、最大并行数、下载间隔
微信扫一扫