一个用于 B 站视频页的 Tampermonkey 油猴脚本:自动检测当前视频字幕情况,并在检测到 AI 字幕时按你的设置自动开启 AI 字幕。同时提供可视化面板、提示气泡、自定义快捷键、面板隐藏与状态记忆等功能。
- 自动检测当前视频是否存在 AI 字幕
- 检测到 AI 字幕时,会按设置自动尝试开启
- 你可以通过面板或快捷键控制“是否自动开启 AI 字幕”
- 开关变更会立即作用到当前视频
- 支持 B 站 SPA 路由切换
- 支持多 P /
cid变化重新判断 - 分 P 切换时支持轮询字幕状态,确保 AI 字幕自动开启
- 右下角悬浮控制面板
- 支持开启 / 关闭自动功能
- 支持隐藏 / 显示控制面板
- 支持提示气泡自动淡出
- 支持自定义快捷键(通过 Tampermonkey 菜单设置)
- 支持设置 AI 字幕语言偏好(当前支持中文 / 英文,默认中文)
- 自动开启 AI 字幕时,优先选择偏好语言,不存在时自动回退到可用 AI 字幕
- 记住自动功能开关状态
- 记住面板显示 / 隐藏状态
- 记住 AI 字幕语言偏好
- 对同一视频的普通字幕检测结果做缓存,减少重复检测
bilibili-auto-ai-subtitle.user.js:油猴脚本主文件
- 脚本地址:https://greasyfork.org/zh-CN/scripts/569016-bilibili-auto-ai-subtitle
- 打开后点击安装即可,Tampermonkey 通常会自动识别并提示安装。
- 先安装浏览器扩展:
- Tampermonkey
- 打开 Tampermonkey 管理面板。
- 选择“创建新脚本”或“导入”。
- 将
bilibili-auto-ai-subtitle.user.js文件内容完整粘贴进去。 - 保存脚本。
- 打开任意 B 站视频页进行测试。
上传到 GitHub 后,可以打开该脚本文件的 Raw 链接,Tampermonkey 通常会自动识别并提示安装。
不同浏览器对脚本安装提示策略不同,如果没有自动弹出安装页:
- 先确认 Tampermonkey 已启用
- 刷新目标页面后重新打开脚本链接
- 检查扩展是否允许在当前站点运行
如果你手动修改了 .user.js 文件:
- 需要重新复制到 Tampermonkey 中保存
- 或重新打开新的 Raw 链接重新安装
- 直接打开视频页
- 站内跳转到另一个视频
- 多 P 视频切换分 P
- 视频存在 AI 字幕时是否会自动开启
- 切换 AI 字幕自动开关时,当前视频是否立即生效
- 手动关闭后重新开启
- 面板隐藏后再恢复
在 Tampermonkey 脚本菜单中,可以设置:
- 自动开关快捷键
- 面板显隐快捷键
- AI 字幕语言偏好(中文 / 英文)
脚本会自动保存你的快捷键配置和 AI 字幕语言偏好。
右下角会显示一个悬浮面板,例如:
AI字幕自动开:开|偏好:中文(Alt+A)AI字幕自动开:关|偏好:英文(Alt+A)
点击主按钮可以切换“是否自动开启 AI 字幕”的设置。
点击 × 可以隐藏面板。
Alt+A:切换自动 AI 字幕功能Alt+H:显示 / 隐藏控制面板
打开 Tampermonkey 脚本菜单,可以看到:
- 设置自动开关键
- 设置面板显隐键
支持输入例如:
Alt+AShift+SCtrl+Alt+Z
进行以下操作时,会出现自动淡出的提示:
- 开启自动 AI 字幕
- 关闭自动 AI 字幕
- 隐藏面板
- 显示面板
- 修改快捷键
脚本会优先检测当前视频是否存在 AI 字幕:
- 如果检测到 AI 字幕 → 自动尝试开启 AI 字幕,并优先选择你设置的 AI 字幕语言
- 如果当前视频没有你偏好的 AI 字幕语言 → 自动回退到任意可用 AI 字幕
- 如果没有检测到 AI 字幕 → 不做任何操作
你可以通过:
- 点击右下角面板按钮
- 使用你设置的自动开关快捷键
来控制当前脚本是否自动尝试开启 AI 字幕。
开启后,脚本会在检测到 AI 字幕时自动尝试切换到你设置的偏好语言;如果当前视频不存在该语言,则自动回退到其他可用 AI 字幕。这个设置会立即作用到当前视频:当前视频有 AI 字幕时会立即尝试开启,关闭时会立即尝试关闭当前字幕。
脚本会优先通过结构化数据、接口与 DOM 组合方式检测字幕情况,并在需要开启 AI 字幕时按以下顺序选择字幕项:
- 优先匹配你设置的语言(例如
ai-zh/ai-en) - 再根据节点文本、
data-lan、data-value等属性匹配语言标识 - 如果当前视频不存在偏好语言,则回退到任意可用 AI 字幕项
同时脚本会尝试区分:
- AI 字幕
- 普通字幕 / 人工字幕
并根据规则决定是否自动切换。
这个脚本更偏向:
- 事件驱动 + 轻量轮询(分 P 场景补偿)
- 有限重试
- 同视频结果缓存
这意味着:
- 常驻资源占用较低
- 分 P 时以低频轮询保障自动开启
可能原因:
- 当前视频没有 AI 字幕
- 当前视频没有可用 AI 字幕
- B 站页面结构发生变化
- 当前字幕按钮 / 字幕项选择器失效
- 页面尚未加载完成
这是刻意设计:
- 避免脚本和用户抢控制权
- 你可以通过面板或快捷键再次手动开启
可能原因包括:
- 当前视频没有可用 AI 字幕
- 当前视频还没加载到可识别的字幕项
- B 站页面结构发生变化,导致当前选择器未命中
使用快捷键:
- 默认
Alt+H
如果你改过快捷键,请在 Tampermonkey 菜单里查看或重新设置。
下图展示了脚本在 B 站视频页中的实际运行效果:右下角会显示悬浮控制面板,页面左下区域可看到 AI 字幕标签,便于确认当前脚本已生效。
如果你本地修改后想同步到 GitHub:
git status
git add README.md bilibili-auto-ai-subtitle.user.js .gitignore
git commit -m "Update userscript"
git push如果你通过 Greasy Fork 发布脚本:
- 用户自动更新通常取决于 Greasy Fork 上已发布的最新版本
- 每次发布前请记得递增
@version - 仅更新 GitHub 并不会自动等于 Greasy Fork 已发布新版本,除非你在 Greasy Fork 侧正确配置了外部同步源
MIT
