Bili Note 是一个面向知识库的 B 站视频与图文笔记工具:完整归档字幕、图文正文、图片与评论,按内容信息量和质量动态控制笔记长度,把 B 站内容整理成可学习、可检索、可追问的 Markdown 笔记。
它的核心特点是:
- 完整归档:保存完整字幕、图文正文、图片、完整评论、元数据和证据索引,主笔记中的关键判断可以通过论文式编号链接回到原文位置复核。
- 非固定长度:不把短视频和长课程压成同样字数,而是按信息量和内容结构决定提炼粒度。
- 质量感知:结合内容热度、互动质量、评论讨论度和发布时间等信号调整笔记预算,让更值得深读的内容获得更充分的整理。
- 写前定标:先根据原始材料生成推荐字数、压缩比和写作粒度,再开始写笔记;写后评分只用于验收和微调。
它的目标不是把内容压成几句摘要,而是生成一份“学完这节课或读完这篇教程之后真的有收获”的学习型笔记。
- 提炼 B 站技术视频、课程、观点视频、多 P 系列课和图文/动态/opus 长文。
- 把完整字幕、图文正文、图片、评论、元数据和证据索引长期保存到知识库。
- 为人类阅读和 Agent 后续问答准备可引用的证据。
- 根据视频时长、字幕字数、图文正文量、互动热度和评论量控制笔记详略,避免长课、短视频和长图文都被压成同样长度。
- 先用预算确定目标字数和结构密度,再写主笔记,减少写完后大幅返工。
一次完整提取会生成两层结果:面向阅读的主笔记,以及面向复核和追问的原始材料包。主笔记会先依据材料包里的预算确定详略,再组织学习收获、关键概念、方法流程、实践清单和证据位置;材料包保存完整字幕或图文正文、图片、评论、元数据、JSONL 索引、写前预算和写后评分结果。
展开完整输出清单
主笔记通常包含:
- 学完你应该获得什么
- 一句话总论
- 适用场景与前置知识
- 知识地图
- 核心概念卡
- 方法或流程
- 关键洞察
- 实践清单
- 坑点与反例
- 自测题
- 笔记预算与信噪比
- 证据脚注与原文位置
- 来源、覆盖与局限
原始材料包通常包含:
- 完整图文 Markdown、纯文本、图片清单和本地图片
- 图文全文索引和图文证据索引
- 完整字幕文本、SRT 和原始 JSON
- 完整评论与评论 JSONL
- 字幕全集和评论全集
- 字幕证据索引、图文证据索引、评论证据索引、合并证据索引
- 内容元数据、字幕清单、图文清单、评论清单
- 笔记预算和评分结果
把下面这句话发给 Agent:
请帮我安装这个 skill:
https://github.com/Rimagination/bili-note
在 B 站视频页点击分享,复制视频链接,然后把下面这句话发给 Agent:
请帮我提取这个视频的内容:https://www.bilibili.com/video/BVxxxx/
如果也想提取评论区里的有用内容,可以说:
请帮我提取这个视频的内容和评论区有用的内容:https://www.bilibili.com/video/BVxxxx/
图文/动态/opus 链接也一样:
请帮我提取这个 B 站图文的内容:https://www.bilibili.com/opus/1194341967364882439
需要评论区时可以说:
请帮我提取这个 B 站图文的内容和评论区有用的内容:https://www.bilibili.com/opus/1194341967364882439
如果你有固定文件夹,或者想保存到 Obsidian 知识库里,再加一句保存路径:
帮我存放在:“D:\知识库\B站总结” 里
Bili Note 的默认路线尽量少依赖:视频元数据、公开字幕、图文正文、图片清单、评论、归档、证据索引和笔记预算都使用 Python 标准库,不需要先安装一堆 Python 包。网页 AI 字幕和音频转写属于增强路线,只有默认字幕不可用或用户明确需要兜底时才用。
当前网页 AI 字幕路线依赖 Chrome + web-access:需要用户日常 Chrome 已登录 B 站,并且 web-access 能在 http://localhost:3456/targets 看到对应的 B 站视频页。Edge、Playwright Chromium 和原生浏览器 CDP 端口目前不能直接用于这条路线。
第一次使用或换机器后,可以先把这句话发给 Agent:
请帮我检查 Bili Note 的运行环境是否就绪,并告诉我当前适合走字幕、网页 AI 字幕还是音频转写路线。
Agent 会运行:
python scripts/check_environment.py这个检查会覆盖 Python、本 skill 的脚本完整性、B 站公开接口、Chrome + web-access 浏览器入口、ffmpeg、ASR 后端、yt-dlp 和 pytest。
依赖按能力分层理解:
| 层级 | 用来做什么 | 需要什么 | 缺失时怎么办 |
|---|---|---|---|
| 必需 | 启动核心工作流 | Python 3.10+、已安装本 skill、能访问 B 站公开接口 | 先修复 Python 或重新安装 skill |
| 默认路线 | 抓元数据、公开字幕、图文正文、图片清单、评论、归档、生成索引和预算 | 无第三方 Python 包,使用标准库 | 这条路线应优先尝试 |
| 推荐增强 | 获取网页播放器里的 B 站 AI 字幕 | Chrome、web-access skill、已打开并登录的 B 站视频页、浏览器 target id |
没有时跳过网页 AI 字幕,说明覆盖范围 |
| 可选兜底 | 视频完全没有可用字幕时做音频转写 | ffmpeg,以及 faster-whisper / funasr / openai-whisper 任一 ASR 后端;yt-dlp 只在音频下载失败时需要 |
不默认安装;只有用户要求无字幕也要转写时再补 |
| 开发测试 | 跑本项目测试 | pytest |
普通使用不需要 |
因此,只装这个 skill 也可以先完成大多数公开视频和公开视频图文的正文、字幕、评论和归档;缺少的依赖只会影响相应的增强能力,不代表整个 skill 不可用。
- 先讲“为什么”和“怎么迁移使用”,再讲“原内容说了什么”。
- 课程型视频按学习模块组织,不按分 P 机械流水账压缩。
- 观点型视频按问题背景、作者判断、论据、适用边界和启发来整理。
- 技术教程和图文长文保留架构、数据流、代码思路、配置项、图片结论、评估方式和排错路径。
- 评论区只保留纠错、补充案例、实践经验、替代方案和争议点。
- 写笔记前必须先读取
metadata/note_budget.json,把推荐字数区间、写作粒度和质量倍率当作写作目标;写完后再用评分做验收。 - 关键判断默认使用论文式编号,例如
[1][2]。图文、字幕和评论证据共用同一套编号;文末脚注会链接到完整字幕、图文证据或评论归档,正文不直接堆长证据编号。
SKILL.md:Codex 使用这个 skill 时读取的完整工作流说明。scripts/check_environment.py:检查核心工作流、B 站公开接口、网页 AI 字幕、音频 ASR 和测试依赖是否可用。scripts/run_bili_note.py:一键运行视频/图文提取、评论、归档和证据索引流程。scripts/extract_bilibili.py:抓取元数据、字幕、音频、ASR 和评论。scripts/extract_bilibili_opus.py:抓取 B 站图文/动态正文、图片、代码块和图文评论。scripts/fetch_browser_ai_subtitles.py:通过已登录网页播放器下载 B 站 AI 字幕。scripts/archive_bili_materials.py:归档完整材料并生成全文索引和证据索引。scripts/score_bili_note.py:按预算验收主笔记长度、压缩比和证据引用。scripts/update_note_budget_section.py:把预算、互动质量和信噪比评分写回主笔记。
- LINUX DO:一个关注开发者、开源项目与 AI 工具交流的社区。感谢社区佬友对开源工具和 Agent 工作流的讨论与反馈。
Bili Note 的设计和实现参考、依托了这些主要项目与生态:
- Bilibili:视频、字幕、评论和互动数据来源。
- yt-dlp:可选音频下载兜底。
- FFmpeg:可选音频转码。
- OpenAI Whisper、faster-whisper、FunASR:可选 ASR 转写后端。
本项目使用 MIT License,详见 LICENSE。
