用 AI Agent 全自动提取 B 站视频字幕并整理为 Joplin 笔记
一条命令下去,AI 自动打开浏览器、抓取 AI 字幕、翻译理解、写出学习笔记、存进 Joplin。全程无需手动操作。
一、先看效果
以「大象放映室」的《天价药是怎么降价的?》为例:
📺 视频时长 47 分钟,英文 AI 字幕 801 条
🤖 AI 自动翻译理解,生成结构化中文笔记
📒 笔记自动保存到 Joplin「学习笔记」文件夹
📝 笔记包含:知识地图、核心概念卡、关键判断矩阵、国际对比、实践框架
二、整体架构
整个流程涉及四个组件协同工作:
用户指令 → AI Agent(Claude Code / Pi)
│
┌───────────┼───────────┐
▼ ▼ ▼
bili-note browser-relay Joplin API
(skill) (扩展+中继) (localhost:41184)
│ │ │
▼ ▼ ▼
提取元数据 已登录Chrome 创建/更新笔记
探测字幕 执行JS获取 Markdown格式
下载字幕 字幕URL 存入指定文件夹
三、核心工具与接入方式
3.1 bili-note Skill — B 站内容提取引擎
是什么:一套 Python 脚本,负责从 B 站获取视频元数据、字幕探测、字幕下载、图文提取、评论区抓取、材料归档和笔记预算评估。
核心脚本:
3.2 Browser Relay — 浏览器控制桥梁
是什么:一个 Chrome 扩展 + 本地 Node.js 中继服务器,让 AI Agent 能够控制你真实登录的 Chrome 浏览器——导航页面、点击按钮、执行 JavaScript,全都通过 HTTP API 完成。
架构:
AI Agent ──HTTP──▶ localhost:18795 (中继服务器)
│
WebSocket
│
Chrome 扩展 (已安装)
│
你的 Chrome 浏览器
(带 B 站登录 Cookie)
安装步骤:
全局安装 CLI:
npm install -g browser-relay在 Chrome 扩展商店安装「Browser Relay」扩展
确认中继服务器已随扩展自动启动
验证:
curl http://127.0.0.1:18795/api/tabs应返回标签页列表
为什么用它而不是 Playwright/Puppeteer:你已经在 Chrome 里登录了 B 站——Browser Relay 直接复用你的登录态,不需要额外配置 Cookie。B 站的 AI 字幕接口需要登录后才能调用,这正是 browser-relay 的价值所在。
3.3 Joplin API — 笔记自动入库
是什么:Joplin 桌面版内置的 Web Clipper API,默认监听 localhost:41184,通过 HTTP + Token 认证。
配置步骤:
打开 Joplin → 工具 → 选项 → Web Clipper
启用 Web Clipper 服务
复制授权 Token(长串 hex 字符串)
验证:
curl "http://localhost:41184/folders?token=YOUR_TOKEN"
关键 API 端点:
四、完整实操流程
Step 1:检查环境就绪
python ~/.pi/agent/skills/bili-note/scripts/check_environment.py输出关注三点:Bilibili API: reachable、browser-relay: reachable, tabs=N、Joplin ping 通 JoplinClipperServer。
Step 2:提取视频元数据并探测字幕
python ~/.pi/agent/skills/bili-note/scripts/extract_bilibili.py \
"BV1SJM36qEy9" --out ./tmp_extract生成 subtitle_probe.json。如果 need_login_subtitle: true 且 subtitles: [],说明需要走浏览器路线。
Step 3:通过浏览器获取 AI 字幕
python ~/.pi/agent/skills/bili-note/scripts/fetch_browser_ai_subtitles.py \
--backend browser-relay \
--bvid BV1SJM36qEy9 \
--out ./tmp_extract这一步发生了什么:
脚本通过
/api/tabs自动发现已打开视频的 Chrome 标签页在页面中执行 JS 调用 B 站
/x/player/wbi/v2接口(浏览器自带登录 Cookie)获取 AI 字幕下载 URL
下载字幕 JSON → 转存为纯文本 TXT + SRT 格式
Step 4:AI 理解字幕并写笔记
Agent 读取完整字幕文本,按照 bili-note 规定的「学习型笔记」标准撰写:
知识地图(全景式结构图)
核心概念卡(是什么 / 为什么重要 / 怎么用 / 常见误区)
关键判断矩阵(区分事实描述、经验判断、推荐做法)
国际对比 / 实践框架 / 坑点反例
Step 5:保存到 Joplin
# 获取学习笔记文件夹 ID
curl "http://localhost:41184/folders?token=YOUR_TOKEN"
# 创建笔记(假设文件夹 ID 为 58e0f52e...)
curl -X POST "http://localhost:41184/notes?token=YOUR_TOKEN" \
-H "Content-Type: application/json" \
-d '{"title":"笔记标题","body":"Markdown 正文...","parent_id":"..."}'五、为什么不直接用 B 站 API
B 站有两个字幕接口:
公开接口只能告诉你「有 AI 字幕」,但不给你下载地址。播放器接口需要登录态 + WBI 签名,这就是必须走浏览器的原因——让已登录的 B 站页面替我们请求接口,不读取、不复制浏览器 Cookie。
六、这套流程还能做什么
📹 多分 P 视频:脚本自动处理所有分 P,逐 P 下载字幕
💬 评论区提取:加
--comments参数可抓取评论并过滤无关讨论📄 B 站图文:支持 opus 动态和专栏文章提取
🗂️ 材料归档:完整字幕、评论、元数据自动归档为 JSONL 索引
🎯 笔记预算:根据视频时长和信息密度自动推荐笔记字数区间
七、相关链接
---