

大家好,我是 Ai 看视频的老章
前文我把视频下载做成了一个 Skill,很万能,不小心开源了,很受欢迎,大家提了很多奇怪的需求,不便提及,我这个 skills 远比想象中强大,那些奇怪的视频可以下,但不能说
我这个 skills 显然是用于正经用途的,比如随后开源的视频总结 Skills 来了,融入了我的很多奇思妙想,但是网友们比我脑洞还大,玩法很多样
不能忘了初心,这个视频下载Skills是从我的搭建个人知识库,分享一个我原创知识采集 Skills中抽出来强化后的,原 z-web-pack 的视频处理环节显得太落后了
顺便提下,目前我已经开源了9个Skills,比如之前承诺过的四格漫画

之前 z-web-pack 太能干了,网页正文要采、图片要存、顺手连视频也要下,链接要下钻,下钻之后上面的步骤再拉一遍
刚开始看起来挺爽,一条命令全包
但工具一旦长胖,问题就来了:网页采集本来追求轻、快、稳,视频下载偏偏又重、慢、容易被平台风控卡住
所以这次我做了个拆分:z-web-pack 只负责发现视频链接,真正下载统一交给 z-video-downloader
我之前写 1-web-pack 的时候,确实加过视频下载能力
当时的思路:
<video>、<source>、.mp4 直链,就流式下载到 assetsyt-dlp--browser-cookies chrome 重试功能完整,却不够强,和网页素材采集的节奏不太一样
采集网页素材,我希望它像扫地机器人,悄悄把正文、图片、链接整理好,失败一两个页面兜底都搞不定的情况下也能继续往下走
视频下载更像搬大件,动不动几百 MB,平台还会查登录态、查 cookie、查 bot,失败原因也复杂很多
这两个动作绑在一起,最后就会出现一个很别扭的体验:我只是想采一份写作资料包,结果它可能因为一个视频链接卡半天

z-skills 视频职责拆分
这次主要动了 4 块
第一块,改 z-web-pack/scripts/collect_web_pack. py
以前脚本里有一整套视频下载逻辑:
--videos direct
--videos all
--max-video-mb
--browser-cookies
download_direct_video
download_platform_video
apply_videos_to_page
这些都被清掉了
现在脚本只保留视频链接识别
它会从这些地方抓线索:
<video> 和 <source>.mp4、.webm、.mov 等直链发现之后写进 04-media-inventory. md
清单里会明确标出来:
Status: detected
Kind: direct / platform
Download Skill: z-video-downloader
Source URL: 原始视频链接
这就够了
素材采集阶段只负责把线索留好,下载阶段再由专门工具接手
第二块,改 z-web-pack/SKILL. md
这是给 Agent 看的说明文件
我把原来那些“视频也下载”“平台视频走 yt-dlp”“浏览器 cookie 重试”的描述删掉了
现在说明里只保留一句核心规则:
发现视频链接只记录到 04-media-inventory. md,下载视频请使用 z-video-downloader
第三块,改 z-video-downloader/SKILL. md
z-video-downloader 现在是视频下载的唯一承接方
我在它的流程里补了一句:
如果链接来自 1-web-pack 的 04-media-inventory. md,直接使用 Source URL 列里的地址
这样两个 skill 就接上了
z-web-pack 产出线索,z-video-downloader 拿线索下载
第四块,新增项目根目录 README.md
原来 z-skills 根目录没有一个总入口
这次顺手补上:
z-web-pack 负责网页素材包采集z-video-downloader 负责视频下载04-media-inventory. mdz-video-downloader
z-skills 视频拆分变更流程
很简单,大家看上哪个就复制走,或者直接把🔗扔给 Agent 让其帮你安装即可
