跳到主要內容

YouTube 內容

獲取 YouTube 視頻字幕並將其轉換為結構化內容(章節、摘要、推文串、博客文章)。當用戶分享 YouTube URL 或視頻鏈接、要求總結視頻、請求字幕,或希望從任何 YouTube 視頻中提取並重新格式化內容時使用。

技能元數據

來源捆綁(默認安裝)
路徑skills/media/youtube-content

參考:完整 SKILL.md

信息

以下是 Hermes 在觸發此技能時加載的完整技能定義。這是技能激活時代理看到的指令。

YouTube 內容工具

從 YouTube 視頻中提取字幕並將其轉換為有用的格式。

設置

pip install youtube-transcript-api

輔助腳本

SKILL_DIR 是包含此 SKILL.md 文件的目錄。該腳本接受任何標準 YouTube URL 格式、短鏈接 (youtu.be)、Shorts、嵌入鏈接、直播鏈接或原始的 11 字符視頻 ID。

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

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

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

# Specific language with fallback chain
python3 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. 獲取:使用輔助腳本及 --text-only --timestamps 參數獲取字幕。
  2. 驗證:確認輸出非空且為預期語言。如果為空,請重試時不帶 --language 參數以獲取任何可用的字幕。如果仍然為空,告知用戶該視頻可能已禁用字幕。
  3. 分塊(如需):如果字幕超過 ~50K 字符,將其分割為重疊的塊(~40K 字符,重疊 2K 字符),在合併之前對每個塊進行摘要。
  4. 轉換:轉換為請求的輸出格式。如果用戶未指定格式,默認為摘要。
  5. 核查:在呈現之前,重新閱讀轉換後的輸出,檢查連貫性、正確的時間戳和完整性。

錯誤處理

  • 字幕已禁用:告知用戶;建議他們檢查視頻頁面上是否有可用的字幕。
  • 視頻私有/不可用:轉發錯誤並要求用戶驗證 URL。
  • 無匹配語言:重試時不帶 --language 參數以獲取任何可用的字幕,然後向用戶註明實際語言。
  • 缺少依賴項:運行 pip install youtube-transcript-api 並重試。