关于 solo-index-youtube
用于将 YouTube 视频字幕编入可搜索知识库的技能。优先使用 solograph MCP 工具,也可通过 yt-dlp 下载字幕并以文本方式检索。
主要功能
- 01索引指定频道或所有已配置频道
- 02限制视频数量并进行试运行
- 03通过 solograph 或 Grep 搜索字幕
- 04提取主题、见解和可执行要点
适用场景
- 01为指定频道的视频建立可搜索索引
- 02在下载的字幕中查找相关主题
- 03整理视频中的重要片段和要点
MCP 相关
有 solograph MCP 工具时,使用 solograph 编制索引,并通过 source_list、source_search、source_tags 和 source_related 验证。没有 MCP 工具时,则使用 yt-dlp 和本地文本搜索。
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ fortunto2/ solo-factory --skill solo-index-youtube安装后在 Claude Code 中输入/solo-index-youtube确认已加载。
详细介绍
/index-youtube
将 YouTube 视频字幕编入可搜索的知识库。根据可用工具,支持两种模式。
前提条件
检查 yt-dlp 是否可用:
which yt-dlp || echo "MISSING: install yt-dlp (brew install yt-dlp / pip install yt-dlp / pipx install yt-dlp)"
参数
解析 $ARGUMENTS 中的频道句柄或「all」:
- 如果为空或为「all」:编入所有频道(根据配置确定,或询问用户)
- 如果包含一个或多个句柄:仅编入这些频道(例如,
GregIsenberg ycombinator) - 可选标志:
-n <limit>(每个频道的最多视频数,默认为 10)、--dry-run(仅解析)
模式检测
检查可用的模式:
模式 1:使用 solograph MCP(推荐)
如果 MCP 工具 source_search、source_list、source_tags 可用,请使用 solograph 进行编入和搜索。
设置(如果尚未安装):
# Install solograph
pip install solograph
# or
uvx solograph
通过 solograph CLI 编入:
# Single channel
solograph-cli index-youtube -c GregIsenberg -n 10
# Multiple channels
solograph-cli index-youtube -c GregIsenberg -c ycombinator -n 10
# All channels (from channels.yaml in solograph config)
solograph-cli index-youtube -n 10
# Dry run (parse only, no DB writes)
solograph-cli index-youtube --dry-run
如果 solograph-cli 不在 PATH 中,请尝试:
uvx solograph-cli index-youtube -c <handle> -n 10
通过 MCP 验证:
source_list— 检查是否出现 youtube 来源source_search("startup idea", source="youtube")— 测试语义搜索source_tags— 查看从字幕中自动检测到的主题source_related(video_id)— 按标签查找相关视频
模式 2:不使用 MCP(独立回退方案)
如果 MCP 工具 solograph 不可用,请直接使用 yt-dlp 下载字幕并进行分析。
步骤 1:下载视频列表
# Get recent video URLs from a channel
yt-dlp --flat-playlist --print url "https://www.youtube.com/@GregIsenberg/videos" | head -n 10
步骤 2:下载字幕
# Download auto-generated subtitles (no video download)
yt-dlp --write-auto-sub --sub-lang en --skip-download --sub-format vtt \
-o "docs/youtube/%(channel)s/%(title)s.%(ext)s" \
"<video-url>"
步骤 3:将 VTT 转换为可读文本
# Strip VTT formatting (timestamps, positioning)
sed '/^$/d; /^[0-9]/d; /^NOTE/d; /^WEBVTT/d; /-->/d' docs/youtube/channel/video.vtt | \
awk '!seen[$0]++' > docs/youtube/channel/video.txt
步骤 4:创建索引
使用 Read 工具读取每份字幕。对于每个视频,提取:
- 标题(来自文件名或 yt-dlp 元数据)
- 关键主题和见解
- 可执行的要点
- 值得关注片段的时间戳(如果有章节标记)
将摘要索引写入 docs/youtube/index.md:
# YouTube Knowledge Index
## Channel: {channel_name}
### {video_title}
- **URL:** {url}
- **Key topics:** {topic1}, {topic2}
- **Insights:** {summary}
- **Actionable:** {takeaway}
步骤 5:搜索已编入索引的内容
字幕保存为文本文件后,使用 Grep 进行搜索:
# Search across all transcripts
grep -ri "startup idea" docs/youtube/
输出
向用户报告:
- 编入索引的视频数量
- 下载的字幕数量(与跳过的数量对比——无可用字幕)
- 有章节标记的视频数量
- 索引文件位置
- 如何搜索已编入索引的内容(MCP 工具或 Grep 命令)
常见问题
“MISSING: install yt-dlp”
**原因:**未安装 yt-dlp。
**解决方法:**运行 brew install yt-dlp(macOS)、pip install yt-dlp 或 pipx install yt-dlp。
跳过视频(无字幕)
**原因:**视频没有自动生成的字幕或手动字幕。 **解决方法:**这是预期情况——部分视频没有字幕。只有提供字幕的视频才能编入索引。
YouTube 速率限制
**原因:**短时间内请求过多。
**解决方法:**降低 -n 限制,在 yt-dlp 命令中添加 --sleep-interval 2,或使用 --cookies-from-browser chrome 进行身份验证访问。
未找到 solograph-cli
**原因:**未安装 solograph,或其不在 PATH 中。
**解决方法:**使用 pip install solograph 或 uvx solograph 安装。运行 which solograph-cli 进行检查。