⏳ This skill is pending AI review.

Scores will appear once the review pipeline completes.

version unknown

bilibili-douyin-notes

@lucky-luor⭐ 61 stars

把B站/抖音/YouTube/小红书视频整理成Markdown课堂笔记。用户发来 bilibili.com、b23.tv、douyin.com、youtube.com、youtu.be、xiaohongshu.com、xhslink.com 等视频链接(或分享口令)并要求做笔记、总结、转文字时使用。产出符合模板规范、经质量门禁校验的课堂笔记 .md 文件。

Choose how to use this skill

You do not need every option. Choose the path your AI client supports. The stable page stays the same; versioned files are immutable.

1. Native installer

This listing has no registered native installer command. Use the complete package or source fallback below, depending on what your client supports.

Do not guess an installer command or replace an existing version without reviewing the diff.

2. Complete package recommended

Download the ZIP when available. It includes SKILL.md plus the references, security notes and version metadata.

No complete ProSkills package is published for this listing yet.

3. Prompt-only

Copy the prompt above when the agent can read the stable page or when you want to adopt the workflow without installing a skill.

Need only the instruction file?

Download SKILL.md only if your client requires a single file. The complete ZIP is safer for a full installation because it preserves the references and release context.

No path installs or executes anything by itself. Your agent still needs access to the project files. Before updating, compare the installed version and review the diff.

—/10

// RATINGS

⭐GitHub Stars
⭐⭐ 61 on GitHubGitHub ↗

Growing

🟢ProSkills Score
—
📍

Not yet listed on ClawHub or SkillsMP

// README

bilibili-douyin-notes

把 B站 / 抖音 / YouTube / 小红书视频一键整理成 Markdown 课堂笔记的 AI Agent Skill

四平台视频 · 字幕抓取 · 本地语音识别 · 重点截图 · 笔记模板 —— 免登录可用,不调任何付费 API

CI License: MIT Platform Python Agent Skills

简体中文 | English

💬 对 AI 说一句「帮我把这个视频做成课堂笔记:<B站/抖音/YouTube/小红书链接>」,就能得到下面这样的笔记 👇 (完整示例:李宏毅机器学习 · 局部最小值与鞍点)


✨ 功能特性

  • 多平台支持:B站(bilibili.com / b23.tv 短链 / BV号)、抖音(douyin.com / v.douyin.com / iesdouyin.com 链接 / 分享口令文本)、YouTube(youtube.com / youtu.be / Shorts 链接,优先取官方/自动字幕)与小红书(xiaohongshu.com / xhslink.com 视频笔记分享链接)
  • 字幕优先:自动抓取B站官方/AI字幕(可选登录),零成本秒出文稿
  • ASR 兜底:无字幕时用 faster-whisper 本地语音识别(CPU int8,国内走 hf-mirror 镜像),不调任何付费 API
  • 重点截图:按转写稿时间戳锚点 + PyAV 抽帧,本地画质初筛自动校验并标记黑屏/空屏/模糊帧(像素占比法,白底 PPT 不误判),最终由 Agent 视觉复核决定取舍;无硬编码锚点时自动从文稿提取关键词
  • 抖音免登录:游客身份(ttwid + a_bogus 签名)直接下载无水印视频,无需账号 Cookie
  • 小红书免登录:解析分享页内嵌数据直接下载视频笔记,无签名、无需账号(仅支持视频笔记,不支持图文与评论)
  • 课堂笔记模板:小节结构 + 关键术语加粗 + 真实代码引用 + 知识地图 + 概念卡片 + 自测题,文末附可回看跳转的视频时间索引

🧩 工作流程

视频链接(B站/抖音/YouTube/小红书)
        │
        ▼
┌─────────────────────┐
│ 第一步:抓取          │  B站:元数据 + 官方字幕(SESSDATA 可选)
│ (按平台分流)        │  抖音:元数据 + 无水印视频下载(免登录)
│                     │  YouTube:元数据 + 官方/自动字幕(无字幕下载音频)
│                     │  小红书:元数据 + 视频下载(免登录)
└─────────────────────┘
        │ 有字幕?──────否───┐
        ▼ 是                ▼
┌──────────────┐   ┌──────────────────────┐
│ 直接用字幕文本 │   │ 第二步:faster-whisper │
└──────────────┘   │ 本地 ASR 转写          │
        │          └──────────────────────┘
        ▼                  │
┌─────────────────────┐   │
│ 第二步半(可选)      │◄──┘
│ 重点截图(PyAV 抽帧) │
└─────────────────────┘
        │
        ▼
┌─────────────────────┐
│ 第三步:AI 按模板     │  课堂笔记 .md
│ 生成课堂笔记         │  (小节+要点加粗+代码+知识地图+概念卡片+自测题)
└─────────────────────┘

⚡ 快速开始

# 一行安装(Claude Code;其他 Agent 把路径换成对应的 skills 目录)
git clone https://github.com/lucky-Luor/bilibili-douyin-notes.git ~/.claude/skills/bilibili-douyin-notes && pip install -r ~/.claude/skills/bilibili-douyin-notes/requirements.txt

装好后直接对 AI 说:**「帮我把这个视频做成课堂笔记:https://www.bilibili.com/video/BVxxxx」**。详细安装与可选配置见下文。

📦 安装

本 skill 遵循 Agent Skills 规范(SKILL.md),任何支持该规范的 AI Agent 均可安装。 支持的安装路径:

  • ~/.claude/skills/ —— Claude Code
  • ~/.zcode/skills/ —— ZCode
  • ~/.agents/skills/ —— DSH、Codex 等多种 Agent 共用的通用 skills 路径

其他兼容 Agent 放入其各自的 skills 目录即可。

# 1. 克隆到你的 agent 的 skills 目录(以 ZCode 为例)
git clone https://github.com/lucky-Luor/bilibili-douyin-notes.git ~/.zcode/skills/bilibili-douyin-notes

# 2. 安装 Python 依赖(按需:各平台流程所需依赖见 requirements.txt 内注释)
pip install -r requirements.txt

# (可选)只装测试依赖:tests/ 离线可跑,无需 faster-whisper / av / gmssl(numpy / pillow 仍需安装)
pip install -r requirements-dev.txt

# 3. (可选)扫码登录B站,自动获取 AI 字幕
python scripts/bili_fetch.py --login   # 生成二维码 PNG 图片并打印路径,B站 App 扫码即登录,SESSDATA 自动写入 config.json
                                       # 无 B站App:cp config.example.json config.json 后按文件内注释手动填写

路径说明:SKILL.md 中示例命令的 <skill安装目录> 为占位符,使用时请替换为 本 skill 的实际安装路径(脚本内部均基于 __file__ 相对定位,改路径不影响运行)。

组件用途是否必需
faster-whisper语音识别兜底做无字幕视频笔记时必需
av(PyAV)音频解码 / 视频抽帧同上(faster-whisper 依赖链会带上)
gmssl抖音 a_bogus 签名(SM3)仅抖音链接需要
yt-dlp / youtube-transcript-apiYouTube 元数据、字幕与音频(建议另装 deno)仅 YouTube 链接需要
numpy / pillow截图画质初筛(像素占比法 QC)仅截图流程需要

⚙️ 配置

复制 config.example.json 为同目录 config.json:

{
  "SESSDATA": ""  // B站登录 cookie;留空也能用(官方CC字幕+ASR兜底均可)
}

获取方式(推荐):python scripts/bili_fetch.py --login,生成二维码 PNG 图片并打印路径,B站 App 扫码即登录, SESSDATA 自动写入 config.json;二维码过期自动换新。手动路径:浏览器登录 bilibili.com → F12 → Application → Cookies → 复制 SESSDATA。该文件已被 .gitignore 排除,不会被提交 (含登录凭据,请勿分享)。抖音、小红书流程无需任何配置;YouTube 被风控时可配 youtube_proxy,小红书可选配 xhs_cookie。

转写性能(可选配置)

CPU 转写慢时可在 config.json 调整:asr_model(tiny~large-v3,高阶加载失败自动降一档)、 asr_device(auto/cpu/cuda,cuda 失败自动回退 cpu)、asr_cpu_threads(0=自动)。 每次降级都会打印原因,不静默。整理完成后可让 AI 询问你是否清理缓存的媒体文件 (scripts/clean_media.py,默认只列清单、--apply 实删)。

🚀 使用

安装后直接对 AI 说:

帮我把这个视频做成课堂笔记:https://www.bilibili.com/video/BVxxxx

总结一下这个抖音视频:https://v.douyin.com/xxxx/

把这个 YouTube 视频整理成笔记:https://www.youtube.com/watch?v=xxxx

这个小红书视频做个笔记:<App 里「分享 → 复制链接」得到的整段文本>

也可以直接手动调用脚本(详见 SKILL.md 的工作流程章节):

# 先探元数据:不抓字幕、不写文件(确认视频可访问/时长/分P数)
python scripts/bili_fetch.py --probe "<视频链接>"

# B站:抓取元数据与字幕
python scripts/bili_fetch.py "<视频链接>" "<输出目录>"

# 抖音:抓取元数据并下载无水印视频(免登录)
python scripts/douyin_fetch.py "<链接或分享口令>" "<输出目录>"

# YouTube:抓取元数据与字幕(无字幕时加 --download 下载音频)
python scripts/yt_fetch.py "<视频链接>" "<输出目录>"

# 小红书:抓取元数据并下载视频(免登录,链接需带 xsec_token)
python scripts/xhs_fetch.py "<分享链接或分享文本>" "<输出目录>"

# 无字幕时:本地语音识别
python scripts/bili_transcribe.py "<输出目录>/metadata.json"

# ASR 术语校正:先 dry-run 看报告,确认后 --apply(自动留 .bak)
python scripts/apply_glossary.py "<输出目录>/01_分P名.txt"

# (可选)抽取重点截图(需 ASCII 文件名时加 --ascii-names)
python scripts/bili_screenshot.py "<输出目录>/metadata.json" "<输出目录>" "<输出目录>/images"

# 时间索引深链填充(v3 笔记默认执行,short 跳过)
python scripts/note_nav.py "<笔记.md>" --meta "<输出目录>/metadata.json" --txt-dir "<输出目录>"

# 生成笔记后的质量门禁(errors 为 0 才交付)
python scripts/validate_note.py "<笔记.md>" --meta "<输出目录>/metadata.json" --txt-dir "<输出目录>"

📁 目录结构

├── SKILL.md               # Agent Skills 规范定义:触发条件、三步工作流程、笔记模板
├── scripts/
│   ├── bili_fetch.py      # B站:元数据 + 字幕抓取(--probe 只探元数据)
│   ├── douyin_fetch.py    # 抖音:元数据 + 无水印视频下载(游客身份)
│   ├── yt_fetch.py        # YouTube:元数据 + 字幕三级回退(无字幕按需下载音频)
│   ├── xhs_fetch.py       # 小红书:视频笔记元数据 + 视频下载(免登录)
│   ├── bili_transcribe.py # faster-whisper 本地 ASR 兜底(多平台兼容)
│   ├── bili_screenshot.py # 重点截图(锚点/自动关键词 + PyAV 抽帧 + 像素占比法 QC)
│   ├── transcript_chunk.py# 长转写稿分块(map-reduce 前置)
│   ├── apply_glossary.py  # ASR 术语校正(dry-run 报告 / --apply 落盘)
│   ├── note_nav.py        # 时间索引深链填充 / v2 参考时间戳生成
│   ├── clean_media.py     # 询问式媒体清理(默认只列清单、--apply 实删)
│   ├── validate_note.py   # 笔记质量门禁(errors 为 0 才交付)
│   ├── ensure_abogus.py   # abogus.py 缺失时从上游固定 commit 下载(SHA-256 校验)
│   └── abogus.py          # 抖音 a_bogus 签名算法(GPLv3,按需下载,不入仓库)
├── tests/                 # 离线 pytest 测试(不联网、无需重依赖)
├── examples/              # 示例笔记(真实视频生成,已通过质量门禁)
├── docs/images/           # README 配图
├── references/
│   ├── anchors.json       # 截图关键词锚点表(时刻由脚本按转写稿运行时推导)
│   ├── asr-glossary.json  # ASR 技术术语校正表
│   ├── glossary-user.example.json  # 用户层词表示例
│   └── note-template.md   # 课堂笔记模板
├── config.example.json    # 配置模板(SESSDATA)
└── LICENSE                # MIT

❓ 常见问题

Python 3.10+,以及任意一个支持 Agent Skills(SKILL.md)规范的 AI Agent,如 Claude Code、Codex、ZCode。不需要 GPU,也不需要任何付费 API。

不用。不登录也能抓官方 CC 字幕,没有字幕时自动走本地语音识别。扫码登录(python scripts/bili_fetch.py --login)后可以拿到 B站 AI 字幕,多数视频能跳过语音识别,速度快很多。抖音、小红书完全不需要登录;YouTube 一般也不需要,遇到风控时再配 cookies / 代理。

在 config.json 里把 asr_model 调小(如 small / base),或在有 NVIDIA 显卡时设置 asr_device: "cuda"。也可以先只转写一个分P(--page 1)估算耗时。

用 scripts/apply_glossary.py 做术语校正:先 dry-run 看报告,确认后 --apply。发现新的错法可以用 --add "错法=正确词" 补进词表,越用越准。

通常是平台更新了签名算法,参见

// HOW IT'S BUILT

KEY FILES

SKILL.mdREADME.md

// REPO STATS

61 stars