Profile
Back to NewsBack
GitHub Trending 1 min
Reader Mode
wzy403/BiliSmartSkip: 一款智能的 Chrome/Firefox 浏览器插件,通过分析弹幕内容自动识别 B 站视频中的嵌入式广告段,并提供自动或手动的跳过功能

wzy403/BiliSmartSkip: 一款智能的 Chrome/Firefox 浏览器插件,通过分析弹幕内容自动识别 B 站视频中的嵌入式广告段,并提供自动或手动的跳过功能

14 hours ago

Bilibili 广告跳过助手

中文 | English

一款智能的Chrome/Firefox浏览器插件,通过多信号源分析自动识别B站视频中的嵌入式广告段,并提供自动或手动的跳过功能。

功能特点

  • 多信号智能识别: 综合视频章节、简介、字幕、弹幕等多种数据源,精准识别广告段落
  • 自动跳过: 支持自动跳过广告段,无需手动操作
  • 手动跳过: 在广告段显示跳过按钮,用户可选择性跳过
  • 自定义快捷键: 支持设置键盘快捷键,在手动模式下一键跳过广告
  • 模式切换: 支持在自动和手动模式间自由切换
  • 轻量高效: 无后台常驻,不影响页面性能
  • 界面友好: 美观的跳过按钮和设置界面

工作原理

插件根据视频的章节、简介、字幕和弹幕,用本地规则判断广告从哪里开始、到哪里结束。例如,UP 主标出的广告章节、观众发出的“空降 5:30”,以及字幕中的赞助和推广内容,都会作为判断依据。

找到疑似广告,但起止位置不明确或不同来源的时间对不上时,即使开了自动模式,也需要你点击按钮跳过。识别仍可能有误判或漏检。

每段广告只会自动跳过一次。如果你拖回这段内容,可以点击按钮再次跳过。

安装方法

方法一:商店安装(推荐)

| 浏览器 | 安装步骤 | |--------|----------| | Chrome | 1. 打开 Chrome Web Store
2. 点击 「添加至Chrome」 | | Firefox | 1. 打开 Firefox 附加组件
2. 点击 「添加到Firefox」 |

方法二:开发者模式安装

  1. 下载并解压源码。
  2. 打开 chrome://extensions/,开启“开发者模式”。
  3. 点击“加载已解压的扩展程序”,选择包含 manifest.json 的目录。
更新源码后,需要在扩展管理页点击“重新加载”,再刷新视频页面。

使用方法

基本使用

  1. 安装插件后,打开任意B站视频页面
  2. 插件会自动在后台分析弹幕,识别广告段
  3. 根据设置的模式:
- 自动模式: 检测到广告段时自动跳过 - 手动模式: 显示"跳过广告"按钮,点击即可跳过

切换模式

  1. 点击浏览器工具栏中的插件图标
  2. 使用开关切换"手动"和"自动"模式
  3. 设置会自动保存并在所有标签页生效

设置跳过快捷键

  1. 点击浏览器工具栏中的插件图标
  2. 在"跳过快捷键"区域点击"设置"按钮
  3. 按下想要的快捷键组合(如 Alt + S)
  4. 快捷键会自动保存,在手动模式下按下即可跳过广告
  5. 如需取消快捷键,点击"重置"按钮即可

弹幕时间格式

支持 5:30、五分三十秒、5分30秒、10.5分钟 等写法,也支持 705工程、0705工程 这类表示 7 分 5 秒的写法。

解析出时间不等于允许跳过,插件还会检查附近的跳过意图、区间有效性及其他来源的边界证据。

项目结构

BiliSmartSkip/
├── scr/                    # 扩展源码
│   ├── constants.js        # 关键词和配置
│   ├── utils.js            # 日志、时间解析等工具
│   ├── api.js              # 获取视频信息、字幕和弹幕
│   ├── page-data.js        # 读取页面已有的公开视频信息
│   ├── detectors.js        # 各来源的广告判断规则
│   ├── segment-detector.js # 广告段落的起止判断
│   ├── skipper.js          # 跳过按钮、倒计时和播放器跳转
│   ├── content.js          # 初始化和页面切换处理
│   ├── popup.html          # 设置弹窗
│   ├── popup.js            # 保存模式和快捷键设置
│   └── icon.png            # 插件图标
├── LICENSE                 # 开源协议
├── README.md               # 项目说明文档(中文)
├── README_EN.md            # 项目说明文档(英文)
└── manifest.json           # 插件配置文件

权限与数据

  • storage:在本机保存模式和快捷键设置。
  • www.bilibili.com:在视频页面运行插件。
  • api.bilibili.com:获取视频信息、章节和字幕地址。
  • comment.bilibili.com:获取弹幕。
  • i0.hdslb.com、aisubtitle.hdslb.com:下载字幕文件。

开发验证

测试文件保存在 test-branch 分支。使用 Node.js 运行数据获取与故障回退测试:

git checkout test-branch
node --test tests/*.test.cjs

反馈与贡献

欢迎提交 Issue 或 Pull Request。报告误跳或漏跳时,请附上视频链接、出现问题的时间,以及使用的是自动还是手动模式,方便复现。

开源协议

本项目采用 GUN License 开源协议。

版本历史

v2.1.0

  • 🎉 支持同一视频中的多段广告分别跳过
  • ✅ 改进广告起止判断,结合字幕上下文、章节和弹幕时轴寻找完整广告区间
  • ✅ 避免仅凭普通关键词自动跳过,起止时间冲突时改为手动确认
  • ✅ 修复部分视频信息获取失败,以及多 P 视频信息取错的问题

v2.0.0

  • 🎉 新增多信号检测管道:视频章节、简介时间戳、字幕内容分析
  • 🎉 字幕与弹幕跨层联合定位,提升广告起止时间精度
  • 🎉 新增自定义跳过快捷键,支持在手动模式下通过键盘一键跳过广告
  • ✅ 支持 "705工程" 等编码时间格式
  • ✅ 弹幕关键词升级为方向性双向锚定算法
  • ✅ 大幅扩展广告关键词词库

v1.1.0

  • 🎉 新增倒计时跳过功能
  • ✅ 优化了广告段识别算法

v1.0.0

  • 🎉 首次发布
  • ✅ 支持自动/手动跳过模式
  • ✅ 智能弹幕时间识别
  • ✅ 美观的用户界面

设置页面 & 跳过广告功能 展示

简洁直观的设置面板,支持一键切换自动/手动跳过模式,设置实时生效。 当检测到广告段时,插件会在视频右下角显示精美的"跳过广告"按钮,一键即可跳过!

!跳过广告功能演示

Chat with me