Skip to content

v2.0.0 - 极速心流 2.0 时代:统一功能开关中心、Headless 架构解耦与工业级生命周期治理

Choose a tag to compare

@luckjokerwang luckjokerwang released this 06 Sep 09:20
· 17 commits to main since this release

⚡ BiliFlow (极速心流) v2.0.0 里程碑发布

BiliFlow 正式跨入 2.0 时代!本次大版本升级完成了从“单体预设脚本”到“高度可配置、解耦稳健且极致复用的现代扩展架构”的全面蜕变。


🎛️ 1. 统一功能开关中心 (Feature Flags Matrix)

  • 按需自动化控制:
    • 支持一键开启/关闭“进入页面自动总结”;关闭时转为纯手动模式,HUD 提供清晰的操作面板;
    • 首创最小视频时长阈值(10s ~ 300s 可调,默认 60s):自动跳过短视频与切片,彻底杜绝 Token 滥耗。
  • 播放器原生体验解耦:
    • 进度条“发光高能打点”与“伴随悬浮 AI 卡片”解耦,支持分别独立开关,清爽还给原生播放器。
  • 按键与全屏体验自主定制:
    • 数字键 1~9 快速跳段开关;
    • 视频全屏时是否自动挂载侧边栏 HUD;
    • 操作与跳转提示气泡 (Toasts) 开关;
    • 页面初次加载时 HUD 默认展开或收起。

⚡ 2. 毫秒级响应式热更新通信 (Storage Reactive Broadcast)

  • 打通 chrome.storage.onChanged 实时广播通道;
  • 在设置页 (Options) 或弹窗 (Popup) 调整任何开关,所有已打开的 B 站播放页无刷新毫秒级热响应,无需 F5 重载。

🧩 3. 巨石组件解耦与 Headless Hooks 架构 (-72% 体积)

  • 彻底重构原 1000+ 行巨石组件 HudOverlay.tsx,核心主逻辑收敛至 280 行;
  • 全面落地 Headless Hooks(状态与控制)+ 原子展示组件 分层架构:
    • useSettings:响应式配置订阅与深度兜底;
    • useAutoSummary:封装视频时长检测、本地缓存查找、并发节流与生命周期;
    • useVideoController:播放器状态监控与高精度跳转;
    • useFullscreenDetector:多场景全屏 DOM 挂载监听;
    • 拆分 6 个职责单一的原子展示组件 (HUDHeader, ManualTriggerPanel, HighlightList, OriginalQuotesList, HighlightItemCard, HUDToast)。

🛡️ 4. 工业级 SPA 生命周期与防竞态

  • 重构播放器注入引擎 playerInjector.tsx,打点宿主与悬浮卡片宿主完全隔离;
  • 引入 AbortController 机制:在用户连续切集或 BVID 发生变化时,自动 Abort 掉上一集未决的 LLM 请求,重置 DOM 宿主与定时器,根除内存泄漏与串集 Bug。

🛠️ 5. UI 原子复用与设置页防御加固

  • 抽象出通用 <ToggleSwitch /> 与 <SliderInput /> 配置原子组件;
  • 修复 Options 页面渲染容错,全流程注入 mergeSettingsWithDefaults 保证历史版本数据 100% 平滑兼容迁移。