尧图网站设计 尧图网站设计YAOTU DESIGN
ARTICLE DETAIL

资讯详情

深耕网站设计与一线实操的经验洞察。

哔哩哔哩增强脚本 Bilibili-Evolved 深度解析:从零功能空壳到私人定制 B 站

哔哩哔哩增强脚本 Bilibili-Evolved 深度解析:从零功能空壳到私人定制 B 站 哔哩哔哩增强脚本 Bilibili-Evolved 深度解析从零功能空壳到私人定制 B 站【免费下载链接】Bilibili-Evolved强大的哔哩哔哩增强脚本项目地址: https://gitcode.com/gh_mirrors/bi/Bilibili-Evolved如果你安装完 Bilibili-Evolved兴冲冲地刷新 B 站页面大概率会一脸疑惑界面几乎没有变化。这个号称强大的哔哩哔哩增强脚本的开源项目userscript在全新安装后实际上不预装任何功能——它不是半成品而是刻意为之。本文就从这句反直觉的设定讲起按上手 → 架构 → 场景 → 进阶 → 排障 → 生态逐层拆解帮助你判断它值不值得装、怎么装以及能装出什么效果。一个反直觉的开局为什么装完脚本B 站却什么都没发生绝大多数浏览器脚本走的是装完即生效路线而 Bilibili-Evolved 选择了另一条路脚本本体只提供宿主环境——设置面板、组件加载机制、核心 API 与主题系统所有具体功能都做成组件component插件plugin样式style三类可安装单元按需取用。组件完整的功能模块如动态过滤、弹幕增强、下载工具存放在registry/lib/components/按 feeds、live、style、touch、utils、video 等场景分类。插件依附于某个组件的扩展能力放在registry/lib/plugins/比如给快捷键系统加暗色模式开关、给下载器加音视频合并支持。样式纯视觉改造如隐藏首页轮播、替换封面、自定义滚动条集中在registry/lib/components/style/。这样设计有三个直接收益脚本体积可控、功能互不干扰、用户只承担自己真正需要的开销。代价是它很重——项目 README 明确给出了最低配置i5-10500 级别 CPU、8GB 内存、1080p 分辨率如果你用的是入门级设备请做好预期管理而不是装上后才抱怨卡顿。第一级让脚本真正有功能的最小路径约 8 分钟前置条件浏览器需装有 Tampermonkey 或 Violentmonkey。注意两个官方明示的坑Greasemonkey 与 AdGuard 不兼容较旧的浏览器里 Violentmonkey 可能跑不起来。第一步安装主脚本。从项目 README 提供的正式版jsDelivr 源或 GitHub 源或预览版链接中任选一个脚本管理器会弹出安装确认。安装后刷新任意 B 站页面页面左侧中央会出现功能面板与设置面板的入口第二步打开设置面板。它管理所有组件的开启/关闭、选项修改以及组件的安装与卸载第三步添加功能。在设置面板左下角的组件/插件/样式管理里有三种方式批量逐行粘贴多个功能直链一次性安装、浏览载入本地功能文件、在线打开在线仓库窗口挑选如果你是 v1 老用户还能用v1 设置迁移组件把旧设置一键搬进 v2——它会自动下载并安装旧版已开启功能对应的组件省去逐项重建的功夫。装完几个组件后在关于面板里可以核对脚本的详细版本号并执行设置导出/导入方便换设备或备份第二级撑起上百个功能的双轨架构长什么样Bilibili-Evolved 的源码仓库被清晰地分成两条轨道理解这一点你就理解了它为什么能长期维护一百多个功能核心轨道src/随主脚本一起发布包含生命周期管理src/core/life-cycle.ts、网络请求src/core/ajax.ts、DOM 观察src/core/observer.ts、设置系统src/core/settings/、主题色src/core/theme-color/、性能追踪src/core/performance/等基础设施。组件轨道registry/独立构建、独立安装的功能库。每个组件用index.ts作为 webpack 入口通过defineComponentMetadata声明元数据构建产物是一个可独立分发、可随时卸载的 JS 文件。两条轨道通过src/core/core-apis.ts中导出的externalApis衔接——它把 ajax、settings、toast、download、themeColor、shadowRoot 等能力打包成对外 API第三方组件作者无需改动主仓库源码就能调用核心能力甚至还能拿到包装好的GM_*接口monkeyApis与 Vue、Lodash 等运行库。为什么双轨是它的灵魂第一第三方组件可以停留在主仓库之外通过registry/lib/docs/third-party.ts注册即可避免外部代码混入主源码的维护负担第二组件声明页面作用域用的是urlInclude/urlExclude这类声明式配置而不是在入口函数里手工判断页面类型这让哪个功能在哪个页面生效一目了然也降低了 B 站改版时的适配成本。第三级用三个真实场景看它到底解决了什么场景一批量下载视频还要按规则自动命名registry/lib/components/video/download/实现了下载能力。值得称道的是它的边界设计下载组件明示不能超出账号权限非大会员下不了大会员清晰度大陆网络下不了港澳台番剧也提醒勿短时间大量下载以免触发 B 站 IP 封禁。批量下载时文件命名支持丰富的占位变量userUP 主名、userIDUP 主 ID以及publishYear、publishMonth、publishDay等发布时间字段下载下来的文件天然就是整理好的档案。这个功能适合有视频收藏与归档习惯的用户而不是偶尔存个片的路人。场景二信息流太吵按你的规则重新过滤动态首页的信息密度对重度用户是负担registry/lib/components/feeds/filter/支持按类型或关键词过滤动态还能移除侧边卡片group-filter更进一步按关注分组筛选动态unfold自动展开被折叠的动态extend-live把正在直播面板替换为可显示超过 10 个直播间的版本。这些组件各自独立、可组合启用——你完全可以只装动态反折叠一个而不必为它接受一整套信息流改造。场景三把整个 B 站首页与顶栏换成你想要的样子registry/lib/components/style/里藏着最花哨的部分custom-navbar支持重构顶栏布局、自定义按钮排列与透明填充home-redesign提供 fresh、minimal 两套首页改版方案fresh 还支持多种布局区域切换dark-mode则同时提供跟随系统、定时调度、集成式与旧版等多套暗色方案。它们的共同点是以组件而非改一份 CSS的方式封装所以你可以像装 App 一样随时装卸、随时对比玩坏了卸载即可不影响 B 站原生体验。第四级进阶玩家的工具箱与隐藏玩法到这里脚本的能力边界已经清晰剩下的就是一些少有人提但很实用的细节换源不换脚本脚本基础 CDN 可更换webpack/cdn/下提供了 GitHub 与 jsDelivr 等多套源配置doc/cdn.md有操作说明。网络环境变化时不用重装改配置即可。快捷键体系registry/lib/components/utils/keymap/提供全局快捷键映射插件目录里还挂着keymap-toggle-danmaku-list、keymap-toggle-player-light等现成按键扩展说明它的快捷键系统是开放可插拔的。主题色智能跟随src/core/theme-color/能从页面提取主色调配合palette.json与图像滤镜让脚本界面与 B 站当前视觉风格自动协调。内置性能自检src/core/performance/提供组件追踪component-trace、插件追踪plugin-trace、Promise 追踪与统计怀疑某个功能拖慢页面时可在设置里启用详细日志定位。多语言与机器翻译src/components/i18n/machine-translator/为界面与内容翻译提供了机器翻译通道配合社区维护的 en-US、ja-JP 语言包非中文用户也能顺畅使用。开发者的一站式工具链dev-tools/里有一套相当完整的配套dev-server用 WebSocket 作为命令与事件控制面支持单组件按需构建、热编译与调试pr-check在提交前自动检查功能元数据、生成文档一致性、第三方源混入等问题feature-docs从组件元数据自动生成doc/features/features.md这份 1900 多行的功能文档绝大部分是生成而非手写的。遇到问题时先按这三步自查再带着最小复现提问脚本功能多、页面变化快出问题很正常。高效排查的顺序是看控制台打开浏览器开发者工具检查 Console 是否有脚本报错错误堆栈会直接指出是哪个组件或核心模块的问题。核对作用域与依赖确认该组件是否本应在此页面生效对照urlInclude/urlExclude语义以及是否与另一个组件功能冲突——比如直播信息扩充与动态侧边卡片里的原版正在直播板块就是互斥的需要二选一。确认版本与来源记录脚本版本号、浏览器版本与错误信息必要时在关于面板导出设置附上。项目对 issue 有一套明确规则值得每个用户遵守bug 反馈请带可复现步骤和环境信息脚本版本、浏览器版本、错误信息信息完整的 bug 优先级高于功能请求如果别人已报过同一个 bug 且你没有新信息直接在 issue 左下点赞表示 1而不是新增评论制造噪音新功能建议与提问请走讨论区而非 issue。这套流程保证了维护者有限的精力能花在刀刃上。社区、隐私与它可能的走向在数据隐私这件事上项目的声明非常干脆完全匿名所有用户数据仅在本机处理不存储到任何服务器也没有用户体验改善计划式的统计收集。需要留意的反向提醒是任何组件/插件都对用户数据有完全访问能力对于非本仓库提供的第三方组件请自行甄别其安全性。如果你也想参与贡献项目对开发者的友好度很高新功能以preview-features分支为基bug 修复以preview-fixes为基用 pnpm 安装依赖后pnpm run type、pnpm run lint-check加上核心与组件的两套构建即可完成本地验证CI 会跑type → lint → build-core → build-features全链路。想从零开始可以先克隆仓库git clone https://gitcode.com/gh_mirrors/bi/Bilibili-Evolved跑一遍dev-tools/dev-server的开发服务器体验改一行代码、页面热更新的本地调试流程。从技术路线看项目秉持不重复造轮子的协同哲学README 里明确表示与 pakku 弹幕过滤、BLTH 直播助手等功能重复的能力不会整合进脚本而是尽可能适配兼容——这种克制恰恰是它长期保持高质量的原因。可以预见它的开放组件生态会继续生长功能颗粒度会越来越细第三方组件的独立发布路径也会越来越顺。最后给你一个明确的下一步Bilibili-Evolved 的价值不是一个脚本而是一个可自由组装的 B 站改造平台它把上百个功能的决策权交还给你同时用双轨架构、声明式作用域和完整工具链把维护成本压到了单维护者也能长期运转的水平。如果你受够了 B 站默认界面的噪音想按自己的习惯重构浏览体验它值得一试。行动建议先安装主脚本从 35 个最高频的组件起步比如动态过滤、下载、暗色模式用一周感受取舍确认离不开后再逐步扩展并定期用关于面板导出设置做备份更新前瞄一眼 CHANGELOG.md了解新版本的变化。从空壳到满配这个过程本身就是理解这个项目的最好方式。【免费下载链接】Bilibili-Evolved强大的哔哩哔哩增强脚本项目地址: https://gitcode.com/gh_mirrors/bi/Bilibili-Evolved创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表