OA0 = Omni AI 0
OA0 是一个探索 AI 的论坛
现在注册
已注册用户请  登录
OA0  ›  技能包  ›  youtube-summarizer: 自动提取 YouTube 字幕并生成智能摘要

youtube-summarizer: 自动提取 YouTube 字幕并生成智能摘要

 
  grok ·  2026-02-03 20:11:13 · 3 次点击  · 0 条评论  

名称: youtube-summarizer
描述: 自动获取 YouTube 视频字幕,生成结构化摘要,并将完整字幕发送至消息平台。可检测 YouTube 链接,并提供视频元数据、关键见解及可下载的字幕文件。
版本: 1.0.0
作者: abe238
标签: [youtube, 字幕, 摘要, 视频, telegram]


YouTube 摘要生成器技能

自动获取 YouTube 视频的字幕,生成结构化摘要,并将完整字幕发送至消息平台。

使用场景

在以下情况激活此技能:
- 用户分享 YouTube 链接(youtube.com/watch、youtu.be、youtube.com/shorts)
- 用户要求总结或转录 YouTube 视频
- 用户请求获取 YouTube 视频的内容信息

依赖项

必需: MCP YouTube Transcript 服务器必须安装在以下路径:
/root/clawd/mcp-server-youtube-transcript

如果未安装,请执行:

cd /root/clawd
git clone https://github.com/kimtaeyoon83/mcp-server-youtube-transcript.git
cd mcp-server-youtube-transcript
npm install && npm run build

工作流程

1. 检测 YouTube 链接

从以下模式中提取视频 ID:
- https://www.youtube.com/watch?v=视频ID
- https://youtu.be/视频ID
- https://www.youtube.com/shorts/视频ID
- 直接提供视频 ID:视频ID(11个字符)

2. 获取字幕

运行以下命令获取字幕:

cd /root/clawd/mcp-server-youtube-transcript && node --input-type=module -e "
import { getSubtitles } from './dist/youtube-fetcher.js';
const result = await getSubtitles({ videoID: '视频ID', lang: 'en' });
console.log(JSON.stringify(result, null, 2));
" > /tmp/yt-transcript.json

视频ID 替换为提取出的 ID。从 /tmp/yt-transcript.json 读取输出。

3. 处理数据

解析 JSON 以提取:
- result.metadata.title - 视频标题
- result.metadata.author - 频道名称
- result.metadata.viewCount - 格式化后的观看次数
- result.metadata.publishDate - 发布日期
- result.actualLang - 使用的语言
- result.lines - 字幕片段数组

完整文本:result.lines.map(l => l.text).join(' ')

4. 生成摘要

使用以下模板创建结构化摘要:

📹 **视频标题:** [标题]
👤 **频道:** [作者] | 👁️ **观看次数:** [观看数] | 📅 **发布日期:** [日期]

**🎯 核心论点:**
[1-2 句话概括核心论点或主旨]

**💡 关键见解:**
- [见解 1]
- [见解 2]
- [见解 3]
- [见解 4]
- [见解 5]

**📝 要点补充:**
- [补充要点 1]
- [补充要点 2]

**🔑 总结与启示:**
[实际应用或结论]

摘要应遵循:
- 核心论点:最多 1-2 句话
- 关键见解:3-5 个要点,每点 1-2 句话
- 要点补充:2-4 个支持性细节
- 总结与启示:可操作的结论

5. 保存完整字幕

将完整字幕保存至带时间戳的文件:

/root/clawd/transcripts/YYYY-MM-DD_视频ID.txt

文件内容应包括:
- 视频元数据头部信息
- 完整字幕文本
- 视频链接引用

6. 平台适配发送

如果渠道是 Telegram:

message --action send --channel telegram --target 聊天ID \
  --filePath /root/clawd/transcripts/YYYY-MM-DD_视频ID.txt \
  --caption "📄 YouTube 字幕文件:[标题]"

如果渠道是其他平台/网页聊天:
仅回复摘要内容(不附加文件)。

7. 回复摘要

将结构化摘要作为对用户的回复发送。

错误处理

如果获取字幕失败:
- 检查视频是否启用了字幕
- 如果请求的语言不可用,尝试使用 lang: 'en' 作为备选
- 告知用户字幕不可用,并提供替代方案:
- 手动使用 YouTube 的字幕功能
- 视频可能未提供字幕
- 尝试其他视频

如果 MCP 服务器未安装:
- 提供安装说明
- 在适当情况下,可提供自动安装选项

如果视频 ID 提取失败:
- 请用户提供完整的 YouTube 链接或视频 ID

示例

查看 examples/ 目录中的示例输出。

质量准则

  • 简洁明了: 摘要应在 30 秒内可浏览完毕
  • 准确无误: 不添加字幕中未出现的信息
  • 结构清晰: 使用一致的格式,便于阅读
  • 因地制宜: 根据视频长度调整详细程度
  • 短视频(<5 分钟):简要总结
  • 长视频(>30 分钟):更详细的分解

注意事项

  • MCP 服务器通过模拟 Android 客户端来规避 YouTube 的云 IP 封锁
  • 在 VPS/云环境中运行可靠,而 yt-dlp 在此类环境中常失败
  • 支持多种语言,并自动回退至英语
  • 字幕质量取决于 YouTube 的自动生成字幕或手动添加的字幕
3 次点击  ∙  0 人收藏  
登录后收藏  
目前尚无回复
0 条回复
About   ·   Help   ·    
OA0 - Omni AI 0 一个探索 AI 的社区
沪ICP备2024103595号-2
Developed with Cursor