初见哔哩:一个小插件如何帮你从 B 站算法的牢笼中越狱

自媒体专栏25分钟前更新 cansnow
34 0 0

初见哔哩:一个小插件如何帮你从 B 站算法的牢笼中越狱


一场意外的发现

故事要从一次浏览器故障说起。

有位开发者的浏览器出了点问题,打开 B 站后发现自己是未登录状态。但令人意外的是——首页推荐的视频类型多样、精彩无比,比登录状态下的推荐好看太多了。

动漫、纪录片、手工制作、冷门乐器……这些内容在他登录后的首页上从未出现过。登录后的首页永远是小米汽车、iPhone 手机、外国人来中国旅游、中日关系,每次看个几分钟就关了。

那一刻他意识到一个令人不安的事实:我们已经习惯被算法控制太久了。

这就是 TabulaBili(中文名:初见哔哩)诞生的起点。

GitHub:https://github.com/tjsky/TabulaBili


B 站首页的「两难困境」

每一个 B 站重度用户都面临过这样的两难:

选择一:不登录

  • ✅ 推荐内容泛化、多样、充满惊喜

  • ❌ 页面频繁弹出烦人的登录框

  • ❌ 限制页面滚动

  • ❌ 最高只能看 480P/720P 画质

  • ❌ 不能发弹幕、评论、点赞、收藏

选择二:登录

  • ✅ 1080P+ 高清画质

  • ✅ 完整的社区功能

  • ❌ 首页推荐流迅速被算法捕获

  • ❌ 反复推送同质化内容

  • ❌ 视野日益狭窄

  • ❌ 你以为你在「刷」,其实是算法在「喂」

这就像一个精心设计的陷阱——给你高清画质和社区特权作为诱饵,代价是你的注意力被算法精准收割。你越刷,推荐越窄;推荐越窄,你越以为「B 站就这些内容」。

但 B 站的内容远比你首页上看到的丰富得多。


TabulaBili 是什么?

TabulaBili 这个名字源自哲学概念 Tabula Rasa(白板说 / 初生无瑕)——人的心灵生来如同一块白板,一切认知都来自后天经验。

它的理念很简单:让你既享受登录状态下的完整特权,又让首页推荐流永远保持「人生若只如初见」的纯净状态。

TabulaBili-Plus

你看到的 tjsky/TabulaBili 仓库是原版 TabulaBili 的增强版,在原项目基础上做了以下改进:

  • 功能性优化:优化 B 站域名匹配逻辑,防止误匹配到非 B 站的三方网页

  • 自动「换一换」:加入自动触发「换一换」功能,应对 B 站前 10 个视频强制按个性化算法推送的问题

  • UI 美化:修改弹窗排版,让扩展文字能完整显示

  • Chrome 商店适配:修改图标和扩展名,满足上架 Chrome 应用商店的「无冒充混淆」要求

  • 代码重构:将 CSS 从 HTML 中分离,提升可维护性


四大核心特性

🎬 画质无损与功能完整

全局保持你的 B 站账号登录状态,完美享受:

  • 1080P+ 高清画质

  • 发弹幕、评论、点赞、收藏

  • 观看进度记录

  • 稍后再看

所有登录特权,一个不少。

🔓 彻底打破信息茧房

每次刷新首页,推荐流强制重置为大盘纯净热门流,让你跳出算法算计,探索更广阔的视频世界。

对算法而言,你每一次刷新首页,都是一次「失忆」式的全新访问。无论你在浏览器本地看多久、存了多少追踪指纹,后端推荐算法在处理 feed 请求时都无法读取你的身份信息。

⚡ 零性能与内存损耗

采用 Chrome MV3 底层网络规则拦截

  • 无需在页面注入复杂的 DOM 操作脚本

  • 没有任何常驻后台进程

  • 不与 B 站的 Wbi 签名算法冲突

  • 底层规则执行,近乎零开销

🍎 Apple 级美学控制面板

  • 支持深色模式自适应(Dark Mode)

  • 带有平滑微动画的独立控制弹窗

  • 一键开闭与页面智能自动刷新

  • 切换开关时,如果检测到你在 B 站页面,自动帮你重载让新模式立即生效


技术原理:「外科手术式」的请求清洗

这是 TabulaBili 最精妙的部分。

B 站推荐是怎么工作的?

B 站首页的推荐流是通过前端异步请求后端接口拉取数据的,核心接口为:

api.bilibili.com/x/web-interface/wbi/index/top/feed/rcmd

当你的浏览器发起这个请求时,请求头中会自动携带 Cookie(包括 SESSDATA、buvid 等身份标识)。B 站后端根据这些 Cookie 识别你的身份,然后下发个性化推荐内容

TabulaBili 做了什么?

TabulaBili 利用 Chrome 扩展 Manifest V3declarativeNetRequest(DNR)机制,在浏览器底层网络层进行「外科手术式」的请求头清洗

[浏览器 B 站首页发起推荐请求]
         │
         ▼
[首页第一屏:B 站强制推送前 10 个个性化视频]
         │
         ▼
[TabulaBili-Plus 检测首页载入]
   → 等待「换一换」按钮出现
   → 自动点击,发起新一轮推荐请求
         │
         ▼
[TabulaBili 底层拦截 (DNR)]
   → 自动剥离请求头中的 Cookie
   → (SESSDATA / buvid 等身份标识)
         │
         ▼
[B 站后端推荐算法服务器]
   → 识别为「全新到访的匿名访客」
   → 下发大盘默认热门流
         │
         ▼
[你的浏览器首页]
   → 呈现无个性化痕迹的纯净推荐流

为什么是 DNR 而不是前端拦截?

前端拦截(Hook Fetch/Ajax)需要向每个页面注入 JavaScript 脚本,这有三个问题:

  1. 增加页面加载开销——注入的脚本要抢在 B 站自己的请求之前执行

  2. 与 Wbi 签名冲突——B 站使用复杂的 Wbi 签名算法对请求参数加密,前端修改请求容易导致签名校验失败

  3. 维护成本高——B 站前端代码频繁更新,注入脚本需要持续适配

DNR 方案完全绕过了这些问题:规则在浏览器底层执行,不需要注入任何 JS,不接触 Wbi 签名,稳定性极高。

安全与隔离

拦截规则仅针对首页 feed 接口生效。

当你点击进入视频播放页(/video/)或用户中心时:

  • 视频流请求(playurl)不受拦截

  • 其他所有 API 不受拦截

  • Cookie 正常携带

  • 画质与账号特权丝毫不受影响

TabulaBili 只做一件事:清洗首页推荐请求的身份信息。其他一切照旧。


实际体验:像第一次打开 B 站

原作者在博客中记录了他的实测体验:

开启前后,内容推荐有很大的变化,出现了以前从来没有看到过的内容。我以前的首页推荐内容基本就是小米汽车、iPhone 手机、外国人来中国旅游、中日关系等,每次看个几分钟就关了。开启插件后出现了很多以前从没见过的动漫等有点奇怪的视频,像极了第一次打开 B 站的感觉。

这可能就是初见哔哩吧。

这种体验不是个例。当你从算法编织的信息茧房中走出来,你会发现 B 站的内容生态比你想象的丰富得多——知识区有人在做深海生物科普,生活区有人在内蒙古拍游牧日常,音乐区有人在用代码生成实验电子乐……这些内容一直都在,只是算法觉得「不适合你」,把它们藏了起来。


安装与使用

安装步骤

  1. GitHub 仓库 下载最新 Release

  2. 打开 Chrome 浏览器,地址栏输入 chrome://extensions/

  3. 开启右上角的「开发者模式」(Developer mode)

  4. 点击「加载已解压的扩展程序」(Load unpacked),选择解压后的 TabulaBili-v1.*.* 文件夹

  5. 在扩展工具栏中找到 TabulaBili-Plus 并固定(Pin)

使用方法

  • 开启模式(ACTIVE):开启纯净访客模式,立即屏蔽个性化推荐

  • 关闭模式(OFF):一键恢复原版 B 站个性化推荐

  • 智能刷新:切换开关时自动重载当前 B 站页面

  • 强制刷新:检测到访问 B 站首页时,自动点击「换一换」按钮,替换首屏的 10 个个性化推荐视频

项目结构

TabulaBili-Plus/
├── manifest.json   # 扩展配置文件声明
├── rules.json      # DNR 网络请求头拦截规则集
├── popup.html      # 弹窗控制面板 UI
├── popup.css       # 独立样式表
├── popup.js        # 弹窗逻辑与规则动态切换脚本
├── content.js      # 自动化「换一换」脚本
├── promo.html      # 软件截图生成器(非运行必需)
├── LICENSE         # MIT 开源许可证
└── README.md       # 项目说明文档

FAQ

看久了之后,还会受算法影响吗?

完全不会。 扩展在底层移除了推荐接口的整个 Cookie 请求头,无论你在浏览器本地看多久、存了多少追踪指纹,后端推荐算法在处理 feed 请求时都无法读取。对算法而言,你每一次刷新首页,都是一次「失忆」式的全新访问。

会影响历史播放记录和点赞收藏吗?

没有任何影响。 扩展只处理首页推荐流的请求,你在播放页的观看进度、一键三连、稍后再看等行为都会正常保存在你的 B 站账号下。

会不会被 B 站检测到?

目前 B 站的 Feed 接口没有基于 Cookie 的 WAF 校验令牌,无 Cookie 请求不会报错。但需要注意:把 Cookie 全干掉会触及 B 站对不登录访客基于 IP 的请求速率限制。 所以不要狂刷首页,刷太快会 429。

未来 B 站改版了怎么办?

一句未雨绸缪的提示:虽然目前一切正常,但万一未来 B 站改版可能会导致首页异常,请尝试关闭扩展即可恢复正常。


开源精神

TabulaBili 采用 MIT 开源许可证

项目秉持极度开放与自由的开源精神:

  • 自由开发与分发:任何人都可以自由获取源码、修改功能逻辑、定制 UI 界面,甚至打包分发或用于商业项目

  • 署名要求:仅需在二次开发或分发时保留原作者版权及许可声明

  • 免责声明:本扩展按原样提供,作者不对任何因使用或修改本扩展产生的意外损失或账号问题承担连带责任

致谢


反思:算法不该替你决定看什么

TabulaBili 的意义远不止一个浏览器插件

它是一个关于注意力自由的隐喻

我们每天都在被推荐算法包围——短视频平台、新闻客户端、音乐 App、购物网站……每一个都在用精密的算法猜测你的喜好,然后精确投喂。你以为是你在选择内容,但其实是算法在选择你。

B 站首页只是其中一个切面。

TabulaBili 提供了一种温和而优雅的抵抗方式:不是对抗平台,不是卸载应用,不是拒绝登录——而是在享受完整服务的同时,把选择权拿回自己手里

你的首页,应该由好奇心驱动,而不是由算法驱动。


项目地址https://github.com/tjsky/TabulaBili

「人生若只如初见。」

让每一次打开 B 站,都像第一次。

© 版权声明

相关文章

暂无评论

暂无评论...

网址设置

网址样式切换

详细

网址卡片按钮

显示

布局设置

左侧边栏菜单

展开

页面最大宽度

1700px

搜索框设置

搜索框背景上下位置

仅对图片背景生效

50%

自定义搜索框背景

  • 静图

    随机壁纸

  • 静图

    随机4K

自定义搜索框高度

  • 聚焦
  • 信息
  • 默认
设置