← 返回
未分类 Key

bilibili summary skill

处理 B 站(哔哩哔哩)视频字幕的完整工作流。能力包括:(1)引导用户扫码登录获取 Cookie;(2)自动获取视频字幕(优先 AI 字幕,自动回退 CC 字幕);(3)生成视频内容摘要;(4)当用户询问"某内容在哪个时间段"时,从字幕文件中精准定位时间戳。当用户提供 B 站视频链接、BVID,或提到"b站字幕"...
处理B站视频字幕全流程:扫码登录获取Cookie,自动获取AI字幕(无则回退CC字幕),生成视频摘要,并在用户询问某内容所在时间段时从字幕精准定位时间戳。适用于B站链接、BVID或“b站字幕”等场景。
baikemark baikemark 来源
未分类 clawhub v1.0.0 1 版本 100000 Key: 需要
★ 1
Stars
📥 604
下载
💾 81
安装
1
版本
#latest

概述

B 站视频字幕 Skill

> 此 skill 完全自包含,所有脚本均在 scripts/ 目录内,无需额外项目依赖。

依赖安装

脚本只需要一个第三方库,在运行前确保已安装:

pip install requests

可选安装(用于终端显示扫码二维码):

pip install qrcode

核心能力

场景你需要做什么
------------------
用户给链接/BVID,想要字幕或摘要检查登录 → 获取字幕 → 生成摘要
用户问"某内容在几分几秒"获取字幕(如已有则跳过)→ 搜索 SRT 时间戳
用户 Cookie 失效或首次使用引导扫码登录 → 重新获取字幕

工作流

第一步:解析 BVID

从用户输入中提取 BVID(格式:BVxxxxxxxxxx)。

  • 支持纯 BVID:BV1ZL411o7LZ
  • 支持完整链接:https://www.bilibili.com/video/BV1ZL411o7LZ
  • 短链(https://b23.tv/xxx)需先让用户提供完整链接或 BVID

第二步:检查字幕缓存

检查 subtitles_output//.txt 是否已存在:

  • 存在:直接使用,跳过第三步。告知"已找到本地缓存字幕"。
  • 不存在:进入第三步获取字幕。

第三步:获取字幕

运行获取脚本(路径相对于 skill 目录):

python <skill-dir>/scripts/fetch_subtitle.py <BVID> --cookie cookie.txt --output-dir subtitles_output

是此 SKILL.md 所在的目录路径。脚本会自动:

  1. 按优先级查找 Cookie(指定路径 → 当前目录 → 脚本目录)
  2. 优先获取 AI 字幕,无 AI 字幕时自动回退到 CC 字幕
  3. 同时输出 .txt.srt.vtt 三种格式

常见错误处理:

错误处理方式
---------------
Cookie 不存在/无效引导用户登录(见下方"扫码登录")
该视频没有字幕告知用户(硬字幕需 OCR,超出 skill 能力)
网络超时建议用户检查网络并重试

扫码登录(仅在需要时执行)

cookie.txt 不存在或已失效时,引导用户登录。

根据当前环境选择合适方式:

方式 A:AI 可运行终端命令(如 Antigravity/Claude Code)

  1. 告知用户需要登录 B 站以获取 AI 字幕
  2. 运行登录脚本:

```bash

python /scripts/cookie_login.py --output cookie.txt

```

  1. 脚本会在终端打印 ASCII 二维码和登录链接
  2. 如果 ASCII 二维码显示不清晰,可以用以下方式生成图片二维码给用户:

```python

import qrcode

img = qrcode.make("<扫码链接URL>")

img.save("qr_login.png")

```

  1. 用户在手机 B 站 App 扫码并确认后,Cookie 自动保存
  2. 继续执行第三步

方式 B:AI 无法运行命令(如 OpenClaw/Claude.ai)

  1. 引导用户自己在终端执行:

```bash

pip install requests qrcode

python /scripts/cookie_login.py

```

  1. 或者让用户手动获取 Cookie:
    • 登录 B 站 → F12 → Application → Cookies
    • 复制 SESSDATAbili_jct 的值
    • 写入 cookie.txt,格式:SESSDATA=xxx; bili_jct=xxx

第四步:生成摘要

读取 subtitles_output//.txt 的纯文本字幕,生成结构化摘要:

## 视频摘要:[BVID]

### 核心主题
(一句话概括视频主要讲了什么)

### 主要内容
1. [要点一]
2. [要点二]
3. [要点三]
...

### 关键结论
(视频最后强调或总结的观点)

字幕文本很长时:

  • 按内容逻辑分段,不要平均切割
  • 识别明显的"话题切换"作为章节分隔点
  • 摘要长度以覆盖主要观点为准

第五步:时间戳查询

当用户问"xxx 在哪个时间段"或"视频里什么时候讲到了 xxx"时:

  1. 确认已有 SRT 文件(subtitles_output//.srt
  2. 运行时间戳搜索脚本:

```bash

python /scripts/search_timestamp.py \

subtitles_output//.srt "<关键词>" --context 2

```

  1. 将结果整理成友好格式:
    • "视频在 01:23 左右提到了这个内容"
    • 多处匹配时列出所有时间点
    • 关键词找不到时,尝试近义词或分拆词搜索

> SRT 时间格式为 HH:MM:SS,mmm,向用户展示时简化为 MM:SS


目录结构

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 格式字幕

注意事项

  • AI 字幕需要登录:未登录只能获取 UP 主手动上传的 CC 字幕,大多数视频的 AI 字幕必须登录。
  • Cookie 有效期:通常有效数月,但账号异常登出会导致失效。
  • 字幕条数少:如果获取到的字幕极少(< 10 条),可能是 CC 字幕而非完整 AI 字幕,提示用户。
  • 硬字幕:烧录在画面中的字幕(如综艺、电影)无法获取,需 OCR 工具处理。

版本历史

共 1 个版本

  • v1.0.0 当前
    2026-03-30 22:35 安全 安全

安全检测

腾讯云安全 (Keen)

安全,无风险
查看报告

腾讯云安全 (Sanbu)

安全,无风险
查看报告

🔗 相关推荐

knowledge-management

web-tools-guide

user_ec205dbb
MANDATORY before calling web_search, web_fetch, browser, or opencli. Contains required error-handling procedures (web_se
★ 96 📥 170,475
knowledge-management

Obsidian

steipete
操作 Obsidian 仓库(纯 Markdown 笔记)并通过 obsidian-cli 自动化。
★ 451 📥 106,006
knowledge-management

Summarize

paudyyin
智能摘要工具,自动为长文本、文档、网页生成摘要,提取要点与关键词,支持自定义摘要长度。
★ 968 📥 523,328