mcpField
Y
youtube-content

youtube-content

github.com/nousresearch生产力258.1k505 次安装今天更新
代码仓库

关于 youtube-content

youtube-content 是一项提取 YouTube 视频字幕并整理为结构化内容的技能,适用于视频摘要、章节、社交帖子和文章等任务。

主要功能

  1. 01从 YouTube 链接提取字幕
  2. 02输出 JSON、纯文本或时间戳
  3. 03生成章节与摘要
  4. 04改写为串文或博客文章
  5. 05处理不可用或空字幕

适用场景

  1. 01总结链接中的 YouTube 视频
  2. 02生成带时间戳的章节或引言
  3. 03将字幕整理为社交串文
  4. 04根据视频内容撰写博客文章

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/nousresearch/hermes-agent --skill youtube-content

安装后在 Claude Code 中输入/youtube-content确认已加载。

附带文件references/output-formats.mdscripts/fetch_transcript.py

详细介绍

YouTube 内容工具

何时使用

当用户分享 YouTube URL 或视频链接、要求总结视频、请求转录文本,或希望从任意 YouTube 视频中提取并重新格式化内容时使用。将转录文本转换为结构化内容(章节、摘要、推文串、博客文章)。

从 YouTube 视频中提取转录文本,并将其转换为实用格式。

设置

使用 terminal,配合由 PM 准备的 Hermes 源码检出目录中的 Python。youtube 附加依赖声明了辅助脚本的依赖项;不要使用原始 pip 或项目发现式 uv run 向 Hermes 安装软件包。

在该检出目录中,先按照包管理中的隔离开发主目录设置操作,然后准备附加依赖并重新激活环境,再运行辅助脚本:

source ./activate
python -c "import pm; pm.sync_venv(['youtube'], explicit=True)"
source ./activate
python -c "import youtube_transcript_api; print(youtube_transcript_api.__file__)"

在 Windows 上,使用 . .\activate.ps1 代替 source ./activate。如果终端 运行在其他主机或沙箱中,请在那里使用明确隔离的辅助脚本环境,而不是 Agent 的生产环境。运行以下所有命令时,都应使用导入检查成功的解释器。

辅助脚本

SKILL_DIR 是包含此 SKILL.md 文件的目录。该脚本接受任意标准 YouTube URL 格式、短链接(youtu.be)、Shorts、嵌入链接、直播链接或原始的 11 位视频 ID。

# JSON output with metadata
python SKILL_DIR/scripts/fetch_transcript.py "https://youtube.com/watch?v=VIDEO_ID"

# Plain text (good for piping into further processing)
python SKILL_DIR/scripts/fetch_transcript.py "URL" --text-only

# With timestamps
python SKILL_DIR/scripts/fetch_transcript.py "URL" --timestamps

# Specific language with fallback chain
python SKILL_DIR/scripts/fetch_transcript.py "URL" --language tr,en

输出格式

获取转录文本后,根据用户的要求进行格式化:

  • 章节:按主题转换处分组,输出带时间戳的章节目录
  • 摘要:用 5-10 句话简洁概述整个视频
  • 章节摘要:为每个章节提供一段简短摘要
  • 推文串:Twitter/X 推文串格式——编号帖子,每条不超过 280 个字符
  • 博客文章:包含标题、各部分和关键要点的完整文章
  • 语录:带时间戳的精彩语录
示例 — 章节目录
00:00 Introduction — host opens with the problem statement
03:45 Background — prior work and why existing solutions fall short
12:20 Core method — walkthrough of the proposed approach
24:10 Results — benchmark comparisons and key takeaways
31:55 Q&A — audience questions on scalability and next steps

工作流

  1. 使用 terminal 和已准备的 Python,通过 --text-only --timestamps 获取转录文本。
  2. 验证:确认输出非空且语言符合预期。如果为空,请不带 --language 重试,以获取任何可用的转录文本。如果仍为空,则告知用户该视频可能已禁用转录文本。
  3. 按需分块:如果转录文本超过约 50K 个字符,将其拆分为重叠分块(每块约 40K,重叠 2K),先分别总结每块,再合并。
  4. 转换为请求的输出格式。如果用户未指定格式,则默认输出摘要。
  5. 验证:重新阅读转换后的输出,检查内容是否连贯、时间戳是否正确且是否完整,然后再呈现。

错误处理

  • 转录文本已禁用:告知用户,并建议其检查视频页面上是否提供字幕。
  • 视频为私密或不可用:转述错误,并请用户检查 URL。
  • 没有匹配的语言:不带 --language 重试,以获取任何可用的转录文本,然后向用户说明实际语言。
  • 缺少依赖项:重复上述 PM 准备和重新激活步骤,然后验证辅助脚本使用的是该 Python。不要使用 pip 修复所选的生成版本。

评论

支持 Markdown