
lmy
每天清晨,您都可以收到来自您最喜欢的 YouTube 频道的最新视频个性化摘要——再也不会错过您真正想关注的创作者的内容了。
该工作流基于 yt-dlp 工具定期轮询指定 YouTube 频道的最新视频列表,通过对比视频发布时间戳与当前时间的差值(≤24小时)来筛选新内容;每条新视频的 ID 会写入本地去重文件 seen-videos.txt,避免重复处理。对于命中的视频,调用 youtube-transcript-yt-dlp skill 抓取其字幕文本,再将字幕送入 Claude API 生成中文摘要;整套流程通过系统 cron 定时任务在每天 Asia/Shanghai 08:00 自动触发,频道列表以独立文件维护,支持随时增删而无需修改脚本本身。
不依靠用户具体的 api 或者 cookie,无封号风险
yt-dlp 依赖 YouTube 页面结构与 API 行为,YouTube 的反爬策略或接口变更可能导致频道视频列表拉取失败或视频发布时间解析异常,从而漏报或误报当日新视频,需要定时更新。
我们先对 openclaw 直接发
"Install the youtube-transcript-yt-dlp skill and set it up for me"用中文

之后我们就可以直接通过提示词配置定时任务了:
我想配置一个每日 YouTube 摘要工作流。
已知环境:
- 我已经安装好了 `youtube-transcript-yt-dlp` 这个 skill
- `yt-dlp` 二进制路径是:`/home/node/.local/bin/yt-dlp`
- 工作目录是:`/home/node/clawd`
请帮我完成以下事项:
### 目标
每天早上 **8 点(Asia/Shanghai)**,检查以下 YouTube 频道在**过去 24 小时内**是否发布了新视频:
- `@TED`
- `@Fireship`
- `@ThePrimeTimeagen`
- `@lexfridman`
如果有新视频,就对每个**未处理过**的视频执行以下流程:
1. 用 `youtube-transcript-yt-dlp` 抓取字幕
2. 用中文总结 **2-3 个核心观点**
3. 附上**视频标题**和**视频链接**
### 实现要求
#### 1. 去重
- 使用一个 `seen-videos.txt` 文件记录**已经处理过的视频 ID**
- 避免重复抓取和重复总结
- 文件放在工作区内,便于后续维护
#### 2. 频道列表持久化
- 把频道列表保存到一个单独文件里,方便以后增删
- 同时把这组频道记录到记忆里,方便后续继续维护
#### 3. handle 解析失败时的处理
- 如果某个频道 handle 解析失败,不要卡住
- 请自动尝试查找并修正为正确频道
- 尤其注意 `@ThePrimeTimeagen` 这类可能存在变体的 handle
#### 4. 时间判断
- 只检查**过去 24 小时内**的新视频
- 这个判断要尽量稳定,不要只靠模糊描述或页面排序猜测
#### 5. 输出格式
如果当天有新视频,输出格式尽量像这样:
# 今日 YouTube 摘要
## @频道名
### 视频标题
- 链接:...
- 核心观点1
- 核心观点2
- 核心观点3(如果确实有)
如果当天没有新视频,只输出一句:
今天没有新的 YouTube 视频摘要。
#### 6. 容错
- 如果某个视频没有可用字幕,不要让整批任务失败
- 可以跳过该视频,并在结果里简短注明“无可用字幕”
- 如果某个频道当天检查失败,也不要影响其他频道
### 交付要求
请你直接把这套工作流落地,包括但不限于:
- 创建需要的文件
- 写好用于发现新视频的脚本
- 配置每天早上 8 点自动运行的定时任务
- 确保它实际能跑通
- 最后告诉我:
- 创建了哪些文件
- 定时任务是否已经生效
- 频道列表保存在哪里
- 去重文件保存在哪里
### 测试要求
在正式配置完成之前,先用这个视频测试整条链路是否跑通:
- `https://www.youtube.com/watch?v=dQw4w9WgXcQ`
测试时请验证:
1. 能成功抓取字幕
2. 能生成中文 2-3 条核心观点
3. 输出里包含标题和链接
效果:

这一套流程不只是 youtube 可用,哔哩哔哩也可以,安装哔哩哔哩的相关 skills 即可。网上还有一些 skills 是通过申请谷歌云的 youtube api 来实现个性化抓取账号的关注列表,但是我觉得实用性不高,反而增加了复杂度以及 token 消耗量,其实维护一个本地的频道列表即可。
评论
0暂无评论