B站视频转录+收藏夹自动扫描二合一。手动发链接转写文本(三级降级:CC字幕→AI字幕→Whisper),或定时扫描收藏夹自动转录+AI摘要+通知。基于 @54lynnn/bilibili-transcript。
---
name: bilibili-auto-transcript
version: "3.1.0"
description: "B站视频转录+收藏夹自动扫描二合一。手动发链接转写文本(三级降级:CC字幕→AI字幕→Whisper),或定时扫描收藏夹自动转录+AI摘要+通知。基于 @54lynnn/bilibili-transcript。"
homepage: https://clawhub.ai/54lynnn/bilibili-transcript
metadata:
{
"openclaw":
{
"emoji": "📼",
"requires": { "bins": ["yt-dlp", "ffmpeg", "curl"] },
"install":
[
{
"id": "pip",
"kind": "pipx",
"package": "openai-whisper",
"bins": ["whisper"],
"label": "Install Whisper (STT)",
},
],
},
}
---
# 📼 Bilibili 视频转录 & 收藏夹自动扫描
**双模式技能** — 可以手动转录单个视频,也可以定时扫描收藏夹自动处理。
## 模式一:手动转录
当你给我一个 B站链接时,我会自动执行转录。
**用法:**
```bash
bash scripts/bilibili_transcript.sh "https://www.bilibili.com/video/BVxxxxx/"
```
**转录优先级(自动降级):**
1. ✅ **人工CC字幕**(zh-CN, zh-TW, en, ja 等)→ 100%准确,秒出
2. ✅ **AI字幕**(ai-zh, ai-en, ai-ja 等9种语言)→ 85-90%准确,秒出
3. ✅ **Whisper medium** 语音转文字 → ~95%准确,需GPU
**输出:** 结构化 TXT 文件,含元数据 + 摘要占位符 + 完整原文。我会阅读全文后写结构化摘要。
---
## 模式二:收藏夹自动扫描
定时检查 B站收藏夹,发现新视频后自动完成「转录 → AI 摘要 → 保存 → 通知」全流程。
### 工作流
```
定时触发 → 扫描收藏夹API → 对比已处理列表
→ 发现新视频 → 转录(三级降级)
→ AI读全文、写结构化摘要
→ 覆盖TXT中的摘要占位符
→ 记录avid到已处理列表
→ 通知用户(标题/作者/时长/转录来源/摘要/TXT文件)
```
### 首次设置
#### 1. 创建收藏夹
B站新建一个收藏夹,设为**公开**。
#### 2. 获取收藏夹ID
URL 中 `fid=` 后面的数字。
#### 3. 修改扫描脚本
编辑 `scripts/bilibili_scanner.py`,改 `FAV_MEDIA_ID` 为你的收藏夹ID。
#### 4. Chromium 登录B站(获取Cookie)
```bash
chromium-browser &
# 打开 bilibili.com 并登录
```
#### 5. 检查依赖
```bash
yt-dlp --version # 必需
ffmpeg -version # 必需
whisper --help # 可选,无字幕视频降级用
opencc --version # 可选,繁转简
```
#### 6. 配置定时任务(推荐每6小时)
```bash
openclaw cron add \
--name bilibili-scan \
--every 21600000 \
--message "运行扫描脚本:bash scripts/bilibili_scanner.py"
```
### 扫描脚本输出格式
```
COLLECTION_TOTAL:20
PROCESSED:15
NEW_VIDEOS:3
- BVID:BVxxxxx
TITLE:视频标题
DURATION:12分34秒
UPPER:UP主名
```
无新视频时输出:
```
ALL_CAUGHT_UP
```
---
## 公共部分
### 转录脚本
`scripts/bilibili_transcript.sh` — 两个模式共享同一个引擎。
### 依赖
- `yt-dlp` — 视频下载、字幕获取
- `ffmpeg` — 音频处理(Whisper 模式)
- `whisper` (openai-whisper) — 语音转文字(降级)
- `opencc` — 繁转简(可选)
- `chromium-browser` — Cookie 支持(B站AI字幕)
### 输出文件格式
```
================================================================================
B站视频转录文档
================================================================================
📹 视频标题:xxx
🔗 B站链接:xxx
👤 作者:xxx
📅 发布时间:xxx
⏱️ 视频时长:xxx
📝 转录来源:xxx
⏰ 转录时间:xxx
================================================================================
第一部分:视频摘要(AI生成)
================================================================================
【结构化摘要 — 我会阅读全文后替换此占位符】
================================================================================
第二部分:完整原文
================================================================================
(完整转录内容...)
================================================================================
文档结束
================================================================================
```
### 配置参数
| 参数 | 默认值 | 说明 |
|------|--------|------|
| 收藏夹ID | (需设置) | URL `fid=` 的数字 |
| 输出目录 | `~/workspace/Bilibili auto-transcript/` | TXT存放路径 |
| 已处理记录 | `~/.openclaw/workspace/.auto-transcript-state/processed_videos.txt` | 去重文件(每行一个avid) |
| 扫描间隔 | 每6小时 | 自动模式定时 |
### B站收藏夹API
```
GET https://api.bilibili.com/x/v3/fav/resource/list?media_id={ID}&ps=20&pn=1
```
- `ps` 最大20(脚本已设 ps=20)
- 公开收藏夹无需Cookie
### avid vs bvid
- `id` = avid(数字)→ 去重追踪用
- `bvid` / `bv_id` = BV号 → 构建转录URL用
### 注意事项
1. **同文件覆盖** — 同一BV号多次转录覆盖旧文件,已处理列表防重复
2. **需要Cookie** — 通过 Chromium cookie 获取 AI 字幕,需先B站登录
3. **Whisper 耗时** — medium模型约耗时视频时长的30-50%
4. **B站API ps上限20** — 超过需分页
5. **摘要由AI生成** — 我会阅读全文后替换文件中的占位符
don't have the plugin yet? install it then click "run inline in claude" again.