SuperAPI AI 工具集

youtube-summarizer

写作与研究

查看项目

更新于 10-16 05:35

技能介绍

用途

YouTube Summarizer 用于把 YouTube 视频自动转成结构化、可检索的知识。当用户分享 YouTube 链接(youtube.com/watch、youtu.be、youtube.com/shorts)或要求总结、转录某个视频内容时,该技能会抓取字幕、生成摘要,并把完整字幕交付到消息平台。

主要能力

  • 一步式字幕提取:直接放入 YouTube URL 即可自动获取完整字幕,无需手动复制粘贴。
  • 结构化摘要:每次按固定格式输出(主旨 → 关键洞察 → 要点 → 结论),而非随机要点。
  • 包含视频元数据:标题、频道、播放量、发布日期会嵌入摘要。
  • 完整字幕交付:将带时间戳的字幕保存为文件,并发送到 Telegram/聊天平台。
  • 可在 VPS/云环境运行:使用 Android 客户端模拟绕过 YouTube 对云 IP 的封锁(yt-dlp 在此场景会失败)。
  • 多语言支持:按请求语言自动抓取,不可用时回退英文。

三种模式

  • quick:3 条要点 TL;DR + 一条关键收获,适合快速消费、分享片段。
  • standard:完整结构化摘要(主旨、洞察、收获),适合学习、记笔记、研究。默认使用此模式。
  • deep:完整摘要 + 章节拆解 + 内容再利用机会,适合把视频转化为内容资产。

使用方式

依赖:需要安装 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 URL,从以下模式提取视频 ID:

    • https://www.youtube.com/watch?v=VIDEO_ID
    • https://youtu.be/VIDEO_ID
    • https://www.youtube.com/shorts/VIDEO_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: 'VIDEO_ID', lang: 'en' }); console.log(JSON.stringify(result, null, 2)); " > /tmp/yt-transcript.json

将 VIDEO_ID 替换为提取到的 ID,从 /tmp/yt-transcript.json 读取输出。

  1. 处理数据,解析 JSON 提取:result.metadata.title(标题)、result.metadata.author(频道名)、result.metadata.viewCount(格式化播放量)、result.metadata.publishDate(发布日期)、result.actualLang(使用语言)、result.lines(字幕片段数组)。全文为 result.lines.map(l => l.text).join(' ')。

  2. 生成摘要,使用模板:

📹 Video: [title] 👤 Channel: [author] | 👁️ Views: [views] | 📅 Published: [date]

🎯 Main Thesis: [1-2 句核心论点]

💡 Key Insights:

  • [洞察 1]
  • [洞察 2]
  • [洞察 3]
  • [洞察 4]
  • [洞察 5]

📝 Notable Points:

  • [补充要点 1]
  • [补充要点 2]

🔑 Takeaway: [可执行的结论]

  1. 保存完整字幕到带时间戳的文件:/root/clawd/transcripts/YYYY-MM-DD_VIDEO_ID.txt,文件包含视频元数据头(标题、频道、URL、日期)、完整字幕文本和便于查找的 URL 引用。

  2. 平台特定交付。若渠道为 Telegram:

message --action send --channel telegram --target CHAT_ID
--filePath /root/clawd/transcripts/YYYY-MM-DD_VIDEO_ID.txt
--caption "📄 YouTube Transcript: [title]"

若渠道为其他/webchat:直接回复摘要(不附文件)。

  1. 以结构化摘要作为对用户的回复。

命令行配置示例:

  • 标准模式(默认):youtube-summarizer [URL]
  • 快速模式:youtube-summarizer [URL] --quick
  • 深度模式:youtube-summarizer [URL] --deep
  • 指定语言:youtube-summarizer [URL] --lang es

安装与设置:

1. 克隆并安装 MCP 服务器

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

2. 测试安装

node --input-type=module -e " import { getSubtitles } from './dist/youtube-fetcher.js'; const result = await getSubtitles({ videoID: 'dQw4w9WgXcQ', lang: 'en' }); console.log(result.metadata.title); "

3. 创建字幕目录

mkdir -p /root/clawd/transcripts

4. 验证技能就绪

youtube-summarizer --check-setup

适用场景

  • 内容创作者研究竞品 YouTube 策略:批量分析竞品视频,识别热门话题、信息模式和内容空白。
  • 学习与记笔记:把长视频转成结构化摘要。
  • 研究:建立按主题/领域组织的字幕库,用 grep 或文本搜索跨字幕查找特定话题,追踪趋势。
  • 内容再利用:从视频洞察生成 Twitter 线程、博客文章、newsletter;提取开头 30 秒作为钩子模式。

限制与错误处理

  • 若字幕抓取失败:检查视频是否启用字幕;请求语言不可用时尝试 lang: 'en' 回退;告知用户字幕不可用并建议替代方案(YouTube 手动字幕功能:设置 → 显示字幕;视频可能无字幕;换一个视频)。
  • 若 MCP 服务器未安装:提供安装说明,在合适场景下可自动安装。
  • 若视频 ID 提取失败:请用户提供完整 YouTube URL 或视频 ID。
  • 若视频为年龄限制或私密:告知因限制无法访问字幕,建议检查视频隐私设置。
  • 常见问题:"Transcript not available" 通常是视频未启用字幕;VPS 上 "Failed to fetch transcript" 可能是 YouTube 更新 API,需更新 MCP 服务器(cd /root/clawd/mcp-server-youtube-transcript && git pull && npm install && npm run build);"Video ID not recognized" 通常是 URL 格式错误,建议直接从 YouTube 地址栏复制。

质量准则

摘要应可在 30 秒内扫读;不添加字幕中没有的信息;使用一致格式;按视频长度调整细节:短视频(<5 分钟)3 条关键洞察,中等视频(5-30 分钟)标准格式 5 条洞察,长视频(>30 分钟)7 条以上洞察并按需分节。优先提取数据点、可引用金句、框架方法、反常识观点和证据案例。

路线图(暂未提供具体时间)

多视频批量处理(分析播放列表)、字幕情感分析、说话人分离、自动章节检测、跨视频模式分析。

该技能基于 MCP YouTube Transcript 服务器构建(使用 Android 模拟以保证云环境可靠性)。