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
工作流程
- 獲取:使用輔助腳本及
--text-only --timestamps參數獲取字幕。 - 驗證:確認輸出非空且為預期語言。如果為空,請重試時不帶
--language參數以獲取任何可用的字幕。如果仍然為空,告知用戶該視頻可能已禁用字幕。 - 分塊(如需):如果字幕超過 ~50K 字符,將其分割為重疊的塊(~40K 字符,重疊 2K 字符),在合併之前對每個塊進行摘要。
- 轉換:轉換為請求的輸出格式。如果用戶未指定格式,默認為摘要。
- 核查:在呈現之前,重新閱讀轉換後的輸出,檢查連貫性、正確的時間戳和完整性。
錯誤處理
- 字幕已禁用:告知用戶;建議他們檢查視頻頁面上是否有可用的字幕。
- 視頻私有/不可用:轉發錯誤並要求用戶驗證 URL。
- 無匹配語言:重試時不帶
--language參數以獲取任何可用的字幕,然後向用戶註明實際語言。 - 缺少依賴項:運行
pip install youtube-transcript-api並重試。