此 skill 完全自包含,所有脚本均在
scripts/目录内,无需额外项目依赖。
脚本只需要一个第三方库,在运行前确保已安装:
bash
pip install requests
可选安装(用于终端显示扫码二维码):
bash
pip install qrcode
场景你需要做什么用户给链接/BVID,想要字幕或摘要检查登录 → 获取字幕 → 生成摘要用户问"某内容在几分几秒"获取字幕(如已有则跳过)→ 搜索 SRT 时间戳用户 Cookie 失效或首次使用引导扫码登录 → 重新获取字幕
从用户输入中提取 BVID(格式: BVxxxxxxxxxx)。
BV1ZL411o7LZhttps://www.bilibili.com/video/BV1ZL411o7LZhttps://b23.tv/xxx)需先让用户提供完整链接或 BVID检查 subtitles_output/<BVID>/<BVID>.txt 是否已存在:
运行获取脚本(路径相对于 skill 目录):
bash
python <skill-dir>/scripts/fetch_subtitle.py <BVID> --cookie cookie.txt --output-dir subtitles_output
<skill-dir> 是此 SKILL.md 所在的目录路径。脚本会自动:
.txt、 .srt、 .vtt 三种格式常见错误处理:
错误处理方式Cookie 不存在/无效引导用户登录(见下方"扫码登录")该视频没有字幕告知用户(硬字幕需 OCR,超出 skill 能力)网络超时建议用户检查网络并重试
当 cookie.txt 不存在或已失效时,引导用户登录。
根据当前环境选择合适方式:
方式 A:AI 可运行终端命令(如 Antigravity/Claude Code)
告知用户需要登录 B 站以获取 AI 字幕
运行登录脚本: bash
python <skill-dir>/scripts/cookie_login.py --output cookie.txt
脚本会在终端打印 ASCII 二维码和登录链接
如果 ASCII 二维码显示不清晰,可以用以下方式生成图片二维码给用户: python
import qrcode
img = qrcode.make("<扫码链接URL>")
img.save("qr_login.png")
用户在手机 B 站 App 扫码并确认后,Cookie 自动保存
继续执行第三步
方式 B:AI 无法运行命令(如 OpenClaw/Claude.ai)
引导用户自己在终端执行: bash
pip install requests qrcode
python <path-to-installed-skill>/scripts/cookie_login.py
或者让用户手动获取 Cookie:
SESSDATA 和 bili_jct 的值cookie.txt,格式: SESSDATA=xxx; bili_jct=xxx读取 subtitles_output/<BVID>/<BVID>.txt 的纯文本字幕,生成结构化摘要:
text
## 视频摘要:[BVID]
### 核心主题
(一句话概括视频主要讲了什么)
### 主要内容
1. [要点一]
2. [要点二]
3. [要点三]
...
### 关键结论
(视频最后强调或总结的观点)
字幕文本很长时:
当用户问"xxx 在哪个时间段"或"视频里什么时候讲到了 xxx"时:
确认已有 SRT 文件( subtitles_output/<BVID>/<BVID>.srt)
运行时间戳搜索脚本: bash
python <skill-dir>/scripts/search_timestamp.py \
subtitles_output/<BVID>/<BVID>.srt "<关键词>" --context 2
将结果整理成友好格式:
SRT 时间格式为
HH:MM:SS,mmm,向用户展示时简化为MM:SS。
text
bilibili-subtitle/ ← skill 根目录(本目录)
├── SKILL.md ← 本文件
└── scripts/
├── fetch_subtitle.py ← 字幕获取(自包含,无外部依赖)
├── search_timestamp.py ← 时间戳搜索
└── cookie_login.py ← 扫码登录获取 Cookie
用户工作目录下生成:
├── cookie.txt ← 登录 Cookie(自动生成)
└── subtitles_output/
└── <BVID>/
├── <BVID>.txt ← 纯文本字幕(用于摘要)
├── <BVID>.srt ← 带时间戳字幕(用于时间定位)
└── <BVID>.vtt ← VTT 格式字幕