Bilibili Watcher - 一个开源的 B 站视频观看时长追踪工具
Bilibili Watcher - 一个开源的 B 站视频观看时长追踪工具
夏佳怡项目源码
如果你对这个项目感兴趣,欢迎Star GitHub 仓库:
Bilibili Watcher
使用截图
Light | Dark |
---|---|
项目背景
在当今数字化时代,视频学习已经成为一种重要的学习方式。Bilibili 作为中国最大的视频平台之一,拥有海量的学习资源。然而,很多用户在使用 B 站学习时,常常会遇到以下问题:
- 无法准确追踪自己的学习时长
- 难以分析自己的观看习惯
- 缺乏对学习进度的系统化管理
基于这些痛点,我开发了 Bilibili Watcher - 一个开源的 B 站视频观看时长追踪与分析工具。
项目特点
Bilibili Watcher 具有以下核心特点:
1. 数据可视化
- 提供直观的观看时长统计图表
- 支持多维度数据分析
- 清晰展示学习进度和趋势
2. 自动化追踪
- 定时自动同步 Bilibili 观看进度
- 无需手动记录,解放双手
- 实时更新数据,保持同步
3. 用户体验
- 支持浅色/深色主题切换
- 响应式设计,完美适配各种设备
- 简洁直观的界面设计
4. 数据安全
- 本地部署,数据完全掌握在自己手中
- 无需担心隐私泄露
- 支持数据导出和备份
快速开始
使用 Docker(推荐)
视频教程参考:https://v.douyin.com/AQjBm-1iCVQ/
克隆项目
1
2git clone https://github.com/krisxia0506/bilibili-watcher.git
cd bilibili-watcher配置环境变量
1
cp .env.example .env
编辑
.env
文件,设置必要参数:BILIBILI_SESSDATA
:你的 Bilibili SESSDATABILIBILI_BVID
:要追踪的视频 BVID
启动服务
1
docker-compose up -d
访问服务
- 前端界面:http://localhost:3000
- 后端 API:http://localhost:8080
技术实现
后端架构
项目采用领域驱动设计(DDD)架构,使用 Go 语言开发:
- Web 框架:Gin
- ORM:GORM
- 数据库:MySQL 8
- 定时任务:robfig/cron/v3
前端实现
前端使用现代化的技术栈:
- 框架:Remix
- UI 库:Shadcn UI
- 样式:Tailwind CSS
- 国际化:i18next
- 表单处理:React Hook Form + Zod
使用场景
1. 个人时间管理
- 追踪每日/每周/每月的视频观看时长
- 分析观看习惯,优化时间分配
- 了解自己最常观看的内容类型
2. 学习进度追踪
- 记录学习类视频的观看时长
- 分析学习效率和专注度
- 制定合理的学习计划
项目特色
完整的 DDD 实践
- 清晰的领域模型
- 合理的分层架构
- 可扩展的设计
现代化的技术栈
- 后端:Go + Gin + GORM
- 前端:Remix + TypeScript + Tailwind CSS
- 容器化:Docker + Docker Compose
完善的开发规范
- 遵循阿里巴巴开发规范
- 统一的代码风格
- 规范的 Git 提交信息
未来规划
功能扩展
- 支持更多视频平台
- 添加学习计划功能
- 集成笔记系统
性能优化
- 优化数据同步机制
- 提升查询效率
- 增强并发处理能力
用户体验
- 优化移动端适配
- 添加更多数据可视化图表
- 支持自定义主题
结语
Bilibili Watcher 不仅是一个工具,更是一个帮助用户更好地管理学习时间的助手。通过数据可视化和自动化追踪,它让学习过程变得更加透明和高效。如果你也在寻找一个能够帮助你追踪和管理 B 站学习时长的工具,不妨试试 Bilibili Watcher。