作者:cxb23
基于AI分析的B站视频智能分段器,能够自动识别并跳过视频中的空白内容、无用情节和广告,提升观看效率。
参考来源:本项目基于 VideoAdGuard 进行个性化开发,感谢原作者的优秀工作!
- 空白内容识别:自动识别无意义的停顿、重复、语气词等
- 无用情节检测:识别与视频主题无关的闲聊和冗余内容
- 广告内容过滤:检测并跳过商业推广内容
- 有用内容保留:确保核心知识点和重要信息不被跳过
- 自动跳过:根据用户设置自动跳过指定类型的内容
- 手动跳过:提供智能跳过按钮,一键跳转到下一个有用内容
- 可视化标记:在进度条上显示不同类型的内容分段
- 精确时间控制:基于字幕时间轴的精确定位
- 灵活配置:可自定义跳过规则和置信度阈值
- 多模型支持:支持智谱AI、OpenAI、DeepSeek等多种大语言模型
- 缓存机制:智能缓存分析结果,避免重复分析
- 实时控制:支持实时启用/禁用功能
- TypeScript:类型安全的JavaScript超集
- Chrome Extension API:浏览器扩展开发
- Webpack:模块打包和构建工具
- 大语言模型:AI内容分析引擎
┌─────────────────┐ ┌─────────────────┐ ┌─────────────────┐
│ Content Script │ │ Background Script │ │ Popup UI │
│ │ │ │ │ │
│ • 页面监听 │◄──►│ • API请求代理 │◄──►│ • 用户设置 │
│ • 内容分析 │ │ • 跨域处理 │ │ • 状态显示 │
│ • UI交互 │ │ • 消息路由 │ │ • 操作控制 │
└─────────────────┘ └─────────────────┘ └─────────────────┘
│ │ │
└───────────────────────┼───────────────────────┘
│
┌─────────────────┐
│ Bilibili API │
│ │
│ • 视频信息获取 │
│ • 字幕数据提取 │
│ • 播放器信息 │
└─────────────────┘
│
┌─────────────────┐
│ AI Service │
│ │
│ • 内容分析 │
│ • 分段识别 │
│ • 类型判断 │
└─────────────────┘
- 克隆项目
git clone <repository-url>
cd SmartVideoSkipper- 安装依赖
npm install- 构建项目
npm run build- 加载扩展
- 打开Chrome浏览器
- 访问
chrome://extensions/ - 开启"开发者模式"
- 点击"加载已解压的扩展程序"
- 选择
builds/chrome目录
-
推荐配置(免费且高效)
- API地址:
https://open.bigmodel.cn/api/paas/v4/chat/completions - 模型名称:
glm-4-flash - API密钥:https://bigmodel.cn/usercenter/proj-mgmt/apikeys
- 优势:
- ✅ 完全免费:智谱AI提供免费额度
- ✅ 支持并发:可同时处理多个请求,提升分析速度
- ✅ 性能足够:对于视频内容分析任务完全够用
- ✅ 稳定可靠:国内访问稳定,响应速度快
- API地址:
-
其他可选模型
- OpenAI:https://platform.openai.com/api-keys
- DeepSeek:https://platform.deepseek.com/api_keys
- 通义千问、Gemini等
-
配置设置
- 点击扩展图标打开设置面板
- 在"API设置"部分输入API地址和密钥
- 选择合适的大语言模型
-
启用扩展
- 在设置面板中开启"启用扩展"
- 配置自动跳过规则
-
观看视频
- 访问B站视频页面
- 扩展会自动开始分析视频内容
- 分析完成后会显示智能跳过按钮和分段标记
-
智能跳过
- 点击"智能跳过"按钮跳转到下一个有用内容
- 或让扩展自动跳过指定类型的内容
- 启用扩展:开启/关闭智能分段功能
- 自动跳过空白内容:自动跳过无意义的停顿和重复
- 自动跳过无用情节:自动跳过与主题无关的内容
- 跳过广告内容:自动跳过商业推广内容
- 最小时长:只有超过此时长的内容才会被跳过(1-60秒)
- 置信度阈值:AI分析的置信度要求(0.1-1.0)
- API地址:大语言模型的API端点
- API密钥:用于身份验证的密钥
- 模型:选择使用的大语言模型
💡 推荐使用 glm-4-flash 模型:
- 智谱AI提供的免费模型,性能优秀
- 支持并发请求,可同时处理多个视频分析任务
- 对于视频内容分析任务完全够用
- 国内访问稳定,响应速度快
- 免费额度充足,适合日常使用
- 🔴 红色:空白内容(无意义的停顿、重复等)
- 🟠 橙色:无用情节(与主题无关的内容)
- 🟣 紫色:广告内容(商业推广)
- 🟢 绿色:有用内容(核心知识点)
- 显示可跳过的总时长
- 点击跳转到下一个有用内容
- 悬停显示详细统计信息
- 从B站API获取视频基本信息和字幕数据
- 解析字幕时间轴和内容文本
- 将字幕内容发送给大语言模型进行分析
- 模型根据预设规则识别不同类型的内容段落
- 返回分段结果和置信度评分
- 将AI分析结果转换为时间轴上的分段
- 根据用户设置过滤和优化分段
- 计算可跳过的总时长
- 在视频播放器上显示分段标记
- 提供智能跳过按钮和自动跳过功能
- 支持实时配置和状态监控
- 分析结果缓存24小时,避免重复分析
- 智能缓存清理,自动删除过期数据
- 支持手动清理缓存
- 按需加载,只在视频页面激活
- 内存优化,及时清理DOM元素
- 异步处理,不阻塞页面渲染
- 所有数据仅在本地处理
- 不会收集或上传用户个人信息
- API调用仅用于内容分析,不存储分析数据
- 支持完全离线使用(需要本地AI模型)
欢迎提交Issue和Pull Request!
- Fork项目
- 创建功能分支
- 提交代码
- 创建Pull Request
- 使用TypeScript编写
- 遵循ESLint规则
- 添加适当的注释和文档
GPL-2.0 License - 详见 LICENSE 文件
重要说明:本项目基于 VideoAdGuard 进行开发,遵循GPL-2.0开源协议。根据GPL许可证的"传染性"特性,本项目也必须使用GPL-2.0许可证。
- 感谢 VideoAdGuard 项目提供的技术参考和基础架构
- 感谢原作者 Warma10032 的优秀工作
- 感谢所有贡献者和用户的支持
- 作者:cxb23
- 项目地址:https://github.com/cxb23/SmartVideoSkipper
- 问题反馈:https://github.com/cxb23/SmartVideoSkipper/issues
注意:本扩展仅用于学习和研究目的,请遵守相关平台的使用条款。