Community编程与开发github.com

Vaakom/agent-skills

将你的 YouTube 播放列表、喜欢视频及 Google Takeout 档案导入本地 Markdown 媒体库,仅需只读账号访问权限。

agent-skills 是什么?

该技能允许 AI 代理将 YouTube 数据(包括个人播放列表、喜欢视频以及 Google Takeout 导出的档案)本地化为 Markdown 格式的媒体库。它通过只读的 OAuth 2.0 授权访问 YouTube Data API v3,确保不触及账号密码、不提交凭据,安全性高。技能支持基本的诊断检查(doctor)、桌面 OAuth 授权(auth)、同步(sync)以及从 ZIP 或目录导入 Google Takeout 数据(import-takeout)等命令。元数据分类通过本地 Ollama 服务(默认 Qwen2.5 7B Instruct)进行,无需依赖云 AI,保持数据隐私。该技能适用于 Cursor、Claude Code 等 AI 代理平台,用户只需提供 Google Cloud 桌面 OAuth 客户端并启用 YouTube Data API v3 即可开始使用。

兼容平台~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/Vaakom/agent-skills/tree/HEAD/skills/youtube-library

Installed? Explore more 编程与开发 skills: steipete/bluebubbles, steipete/eightctl, steipete/blucli · View all 6 →

在你喜欢的 AI 中提问

打开一个已预加载此 Agent Skill 的新对话。

文档

YouTube 库

使用 Python 3.12 运行 scripts/youtube_library.py。务必在命令前显式指定 --vault VAULT_DIR --runtime LOCAL_DATA_DIR。输出位于 context/Media Library;生成的文件名使用英文。

Google 凭据使用 Windows DPAPI 保护。绝不要请求 Google 密码、打印令牌或提交凭据。

命令

  • doctor:检查本地环境,不进行账号授权。
  • auth --client CLIENT_JSON:用户请求的桌面 OAuth,仅使用 youtube.readonly 范围。用户需完成账号选择和授权。
  • sync:读取个人播放列表和喜欢视频,通过本地 Ollama 分类元数据,更新 Markdown。
  • import-takeout --input PATH:导入 ZIP 或已解压的 Google Takeout 目录。
  • set-topic --video-id ID --topic TOPIC:持久化用户选择的分类。

示例:python scripts/youtube_library.py --vault VAULT_DIR --runtime LOCAL_DATA_DIR doctor。

在授权前,需创建一个 Google Cloud 桌面 OAuth 客户端并启用 YouTube Data API v3。除 Python 标准库外,无需其他依赖。

元数据分类使用通过本地回环 Ollama 服务的 Qwen2.5 7B Instruct(地址 127.0.0.1:11435)。如果该服务不可用,则使用 Review;不要切换到云 AI。

喜欢视频 API 最多暴露最近 1000 个喜欢视频。保留历史导入;缺少记录不表示已移除。第三方保存的播放列表、稍后观看和观看历史不在本脚本范围。

保持源播放列表顺序和重复成员关系,保留用户在被管理块之外的文本,并在重写生成的笔记前进行备份。损坏的块标记必须导致执行失败。元数据被视为不可信内容。

运行 python scripts/test_youtube_library.py 进行综合验证。测试不建立真实的账号访问。

未经单独请求,不要安排同步或下载媒体。

相关技能