B 站视频字幕提取与深度解读助手 —— 字幕纯文本提取 · 完整字幕通读 · 链接自动识别 · 长度可控 · txt 文件推送
✨ 核心特性 • 📖 功能概览 • 🚀 快速开始 • ⚙️ 配置项说明 • 🛠️ LLM 可调用工具 •
🎨 本项目由 AI 编写 · 源码基于 SodaCodeSave/astrbot_plugin_biliread 二次开发
| 特性 | 说明 |
|---|---|
| 📝 字幕纯文本提取 | 提取 B 站视频字幕原文,不做 AI 总结,直接返回给用户 |
| 🧠 深度字幕通读 | 完整字幕喂给 bot 自身,由 bot 自行解读 / 总结视频内容(可选,高 token 消耗) |
| 🔗 链接智能识别 | 支持 B 站完整链接 / BV 号 / b23.tv 短链 / 裸短码,自动识别解析 |
| ✂️ 长度控制 | 两个工具可分别配置字幕最大返回长度,防止上下文溢出 |
| 📄 txt 文件推送 | 可选将完整字幕保存为 txt 文件发送到聊天 |
| 🔒 登录态支持 | 配置 B 站 Cookie 后获取完整 AI 字幕(字幕接口需要登录态) |
聊天中直接发 B 站链接 / BV 号,bot 自动调用工具返回字幕纯文本。
开启后,要求 bot 解读视频时自动通读完整字幕再组织语言。
| 特性 | bilibili_caption |
bilibili_read |
|---|---|---|
| 定位 | 快速提取字幕原文 | 为 bot 自身阅读做深度解读 |
| 返回 | 字幕文本,供 AI 展示给用户 | 完整字幕,喂入 bot 思考流 |
| token 消耗 | 可控(可截断) | 较高(默认全文通读) |
| 是否默认启用 | ✅ 始终可用 | ❌ 默认关闭,需开启配置 |
方式一:插件市场
- AstrBot WebUI → 插件市场 → 搜索
bilicaption
方式二:GitHub 仓库
- AstrBot WebUI → 插件管理 → + 安装
- 粘贴仓库地址:
https://github.com/OMSociety/astrbot_plugin_bilicaption
💡 插件安装时会自动读取
requirements.txt安装依赖(bilibili-api-python / aiohttp / aiofiles),无需手动安装。
💡 B 站字幕接口需要登录态,不配置 Cookie 无法获取字幕(AI 字幕对匿名用户隐藏)。请先配置再使用。
在插件配置的 bilibili_cookie 分组中填写:
| 字段 | 获取方式 |
|---|---|
sessdata |
浏览器登录 bilibili.com → F12 → Application → Cookies → 复制 SESSDATA 的值 |
bili_jct |
同上,复制 bili_jct 的值 |
配置完成后在 WebUI 重载插件(或重启 AstrBot),即可在对话中发送 B 站链接测试。
| 配置项 | 类型 | 默认值 | 说明 |
|---|---|---|---|
bilibili_cookie.sessdata |
string | "" |
B 站 SESSDATA Cookie(必需,字幕接口需要登录态) |
bilibili_cookie.bili_jct |
string | "" |
B 站 bili_jct Cookie |
max_subtitle_length |
int | 0 |
caption 工具字幕最大字符数,0 表示不限制 |
auto_send_txt |
bool | false |
开启后提取字幕自动发送 txt 文件到聊天 |
enable_read_tool |
bool | false |
启用 bilibili_read 深度解读工具(高 token 消耗) |
read_max_subtitle_length |
int | 0 |
read 工具字幕最大字符数,0 表示不限制(全文通读) |
在 WebUI 配置面板填写,或参考以下结构(data/config/bilicaption_config.json):
{
"bilibili_cookie": {
"sessdata": "你的SESSDATA",
"bili_jct": "你的bili_jct"
},
"max_subtitle_length": 0,
"auto_send_txt": false,
"enable_read_tool": false,
"read_max_subtitle_length": 0
}插件注册 2 个 LLM 工具(bilibili_read 需开启配置 enable_read_tool),模型会自动判断何时调用,你只需用自然语言说需求:
用户: 帮我提取这个视频的字幕 https://b23.tv/4bdIZBf
🤖 → bilibili_caption(bvid=https://b23.tv/4bdIZBf)
[字幕] 《人工智能发展简史:从图灵到 GPT》
大家好,欢迎来到本期视频...
用户: 解读一下这个视频 BV1GJ411x7h7
🤖 → bilibili_read(bvid=BV1GJ411x7h7)
(通读完整字幕后自行组织语言输出解读)
获取哔哩哔哩视频的字幕纯文本。如果视频没有字幕则返回提示信息。
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
bvid |
string | ✅ | BVID / B 站完整链接 / b23.tv 短链,例如 BV1GJ411x7h7 或 https://b23.tv/4bdIZBf |
通读哔哩哔哩视频的完整字幕以便 bot 解读视频内容。当用户要求总结、分析、评价某个 B 站视频时调用。
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
bvid |
string | ✅ | BVID / B 站完整链接 / b23.tv 短链 |
注意:
bilibili_read返回完整字幕原文,不附加任何预制提示词。由 bot 自行阅读后决定如何解读。
Q:需要配置吗?
A:需要。B 站字幕接口要求登录态,请配置 bilibili_cookie.sessdata 与 bili_jct(获取方式见快速开始)。
Q:所有视频都能获取字幕吗? A:不是。UP 主未上传字幕且 B 站无 AI 字幕的视频无法获取内容,此时会提示「暂无可用字幕」。
Q:为什么不做 AI 总结?
A:bilibili_caption 定位就是原文提取。bilibili_read 则是把总结权交给 bot 自身,不预制提示词。
Q:bilibili_caption 和 bilibili_read 有什么区别?
A:caption 快速返回字幕文本让你看;read 把全文喂给 bot 让 bot 自己通读再输出解读。read 费 token 但解读质量更高。两者互不替代,可按需配置开关。
Q:跟 BiliRead 有什么区别? A:BiliRead 调用第三方 LLM 总结字幕;本插件跳过第三方 LLM,直接返回字幕原文,或利用当前对话的 bot 自身做解读。
如果这个插件对你有帮助,欢迎点亮 Star ⭐,有问题和建议请提交 Issue 或 Pull Request。
- AstrBot 开源聊天机器人框架
- SodaCodeSave/astrbot_plugin_biliread 上游插件(AGPL-3.0)
本项目采用 AGPL-3.0 开源协议(继承上游 BiliRead)。