
1. 为什么我们需要一个“原生”的B站Mac客户端作为一个在Mac上重度依赖B站学习、娱乐和获取信息的用户我过去几年一直有个不大不小的痛点浏览器。是的B站有非常完善的网页端功能强大体验也不错。但每次想打开B站都得先启动浏览器在一堆标签页里找到它或者收藏在书签栏。这听起来不是什么大问题但当你每天高频次使用并且希望获得更沉浸、更专注的体验时浏览器标签页的干扰、内存占用以及无法像原生应用那样便捷地通过Dock、Spotlight或快捷键呼出就成了实实在在的体验短板。更重要的是网页端在播放体验上存在一些“先天不足”。比如画质和流畅度虽然已经很优秀但在一些特定场景下比如外接4K显示器全屏播放时浏览器的硬件解码效率、功耗控制相比一个专门优化的原生应用理论上存在差距。此外一些系统级的交互比如全局媒体快捷键F7/F8/F9控制播放/暂停/下一首、Touch Bar支持、画中画模式的便捷性在网页端要么不支持要么体验割裂。所以当我在GitHub上发现 typcn 大佬开发的bilibili-mac-client这个开源项目时第一反应是“终于有人做了我想做的事”。这不仅仅是一个把网页“套个壳”的简单封装而是一个基于现代Web技术栈Electron深度定制的、旨在提供接近原生应用体验的B站客户端。它解决了我的核心诉求将B站从浏览器中“解放”出来成为一个独立的、高效的、与macOS系统深度整合的桌面应用。接下来我就结合自己这段时间的深度使用体验从安装配置、核心功能、进阶玩法到避坑指南为你完整拆解这个宝藏工具。2. 从零开始获取与安装全流程虽然项目是开源的但对于大多数用户来说最方便的方式是直接使用编译好的发行版。项目作者在GitHub Releases页面提供了稳定的安装包。2.1 官方渠道下载与安装首先访问项目的GitHub仓库。你可以在搜索引擎中直接搜索“bilibili-mac-client GitHub”通常第一个结果就是。进入仓库页面后找到右侧的“Releases”部分点击进入。在Releases页面你会看到按时间排序的版本列表。建议选择最新发布的稳定版本通常标题中不会包含“beta”或“alpha”等字样。找到以.dmg结尾的文件这就是macOS的标准磁盘映像安装包。点击下载速度取决于你的网络环境。下载完成后双击.dmg文件。macOS会将其挂载为一个虚拟磁盘并在Finder中打开窗口。你会看到一个典型的应用程序图标通常叫“Bilibili”或类似名称和一个指向“应用程序”文件夹的快捷方式。要做的事情很简单将应用图标拖拽到“应用程序”文件夹的快捷方式上。这个过程实际上是将应用复制到你的系统应用程序目录。完成后你可以在Launchpad或“应用程序”文件夹中找到它。首次打开时macOS可能会提示“无法打开‘Bilibili’因为无法验证开发者”。这是因为应用没有经过苹果官方的公证Notarize。别担心这是开源软件的常见情况。解决方法在“系统设置” - “隐私与安全性” - 向下滚动你会看到一条提示大致内容是“已阻止使用‘Bilibili’因为来自身份不明的开发者”。旁边会有一个“仍要打开”的按钮。点击它然后再次尝试打开应用这次选择“打开”即可。以后每次启动都不会再有这个提示了。2.2 通过Homebrew进行安装推荐给开发者或高级用户如果你熟悉macOS的命令行生态那么使用Homebrew来安装和管理是更优雅的方式。Homebrew是macOS上最强大的包管理器它能帮你自动处理下载、安装以及后续的更新。首先确保你的系统已经安装了Homebrew。如果没有打开终端Terminal粘贴以下命令进行安装官网命令可能更新建议以官网为准/bin/bash -c $(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)安装好Homebrew后你需要添加一个特殊的“Tap”。因为bilibili-mac-client并不在Homebrew的核心仓库中而是在一个第三方仓库里。在终端中执行brew tap --cask vitalified/cask这个命令告诉Homebrew去vitalified/cask这个仓库里寻找可安装的软件。添加成功后安装就变得非常简单了brew install --cask bilibiliHomebrew会自动下载最新的.dmg包完成挂载、复制到应用程序目录等一系列操作你只需要等待即可。未来更新时也只需要执行brew upgrade --cask bilibili非常方便。注意通过Homebrew安装后首次打开同样会遇到“无法验证开发者”的警告处理方式同上。Homebrew安装的优点是便于管理和更新尤其适合喜欢在终端里搞定一切的用户。2.3 从源码构建适合想折腾或贡献代码的用户如果你是开发者或者对Electron应用构建过程感兴趣可以从源码编译。这需要你的电脑具备Node.js开发环境。首先将项目代码克隆到本地git clone https://github.com/typcn/bilibili-mac-client.git cd bilibili-mac-client然后安装项目依赖。项目使用yarn作为包管理器如果你没有安装yarn可以先通过npm install -g yarn安装。yarn install这个过程会下载所有必要的Node模块可能需要一些时间。依赖安装完成后你可以运行开发模式实时预览改动yarn dev或者构建一个可发行的安装包yarn dist构建过程会在dist目录下生成.dmg文件。从源码构建让你能第一时间体验最新的功能可能包含未发布的特性但也可能遇到开发中的Bug。3. 核心功能深度体验与系统级整合安装完成首次启动应用你会看到一个非常熟悉的界面——它几乎就是B站网页端的复刻但仔细用下来会发现许多为macOS量身定做的优化和增强功能。3.1 界面与基础交互熟悉的陌生人应用的主窗口布局和网页版保持一致左侧是导航栏首页、动态、频道、收藏等中间是内容区域。这种设计极大地降低了学习成本你可以无缝地从网页端迁移过来。同时作为一个独立应用它拥有自己的窗口控制按钮关闭、最小化、全屏你可以像对待任何其他Mac应用一样随意移动、调整窗口大小或者将其全屏以获得沉浸式观影体验。一个显著的提升是滚动流畅度。由于Electron应用直接使用Chromium内核并且去除了浏览器复杂UI的干扰在快速滚动动态信息流或评论列表时我能感觉到比在Safari或Chrome中更跟手、更少掉帧尤其是在配备ProMotion高刷屏的MacBook Pro上这种差异更为明显。3.2 播放器增强不止于“套壳”播放器是客户端的灵魂。bilibili-mac-client的播放器并非简单嵌入网页播放器而是进行了一定程度的定制和优化。画质与解码在播放设置中你可以选择“HEVC优先”等选项。HEVCH.265编码相比AVCH.264能在相同画质下节省大量带宽和存储空间。客户端尝试优先请求HEVC格式的流如果你的Mac硬件支持近年来大部分Intel和所有Apple Silicon Mac都支持系统解码器会进行硬解从而可能带来更低的CPU占用和更长的续航。我在M1 MacBook Air上对比观察播放4K视频时客户端的CPU占用率平均比Safari低5-10%风扇启动的几率也更小。全局媒体快捷键这是让我决定长期使用它的关键功能之一。在任意界面甚至应用处于后台时你都可以使用键盘上的F8播放/暂停、F7上一首、F9下一首来控制B站视频的播放。当你全屏观看视频或者一边写代码一边听B站的课程或音乐视频时无需切换回应用窗口直接按键操作体验无比顺滑。这完全符合macOS原生媒体应用如Music、IINA的操作逻辑。Touch Bar支持对于带有Touch Bar的MacBook Pro用户当B站客户端处于活动状态时Touch Bar会动态显示播放控制条播放/暂停、进度条、音量以及当前视频的标题。这个小细节极大地提升了操作效率和科技感。画中画Picture-in-Picture点击播放器右下角的画中画按钮视频会变成一个始终置顶的小窗口。你可以自由拖动这个窗口到屏幕的任意角落调整其大小。然后你可以切换到其他应用如写文档、浏览网页、编程视频小窗会持续播放。这对于需要多任务处理的场景非常有用比如一边看教程一边跟着操作或者一边工作一边听歌看评论。它的实现比浏览器自带的画中画更稳定切换和拖拽响应非常跟手。3.3 下载功能离线观看的利器虽然B站官方App有缓存功能但网页端没有提供直接的视频下载。这个客户端内置了一个下载管理器弥补了这个缺憾。在视频播放页面你会看到一个下载按钮通常是一个向下的箭头。点击后可以选择清晰度从360p到原画4K取决于UP主上传和你的大会员等级然后添加到下载队列。下载管理器在侧边栏有独立入口可以查看下载进度、暂停/继续任务、管理已下载的视频。下载的视频文件默认存储在~/Movies/BilibiliDownloads/目录下以清晰度命名的文件夹分类存放。文件格式通常是.flv或.mp4可以使用本地播放器如IINA、VLC直接播放。这个功能对于网络不稳定环境下的内容收藏、或者想用更专业的本地播放器进行观看的用户来说非常实用。重要提示请务必尊重UP主的版权和劳动成果。下载的视频应仅用于个人学习、观看切勿进行二次分发、上传或用于商业用途。下载功能是为了提供便利而不是盗版的工具。3.4 消息与动态推送客户端在菜单栏提供了独立的“消息”和“动态”图标。当你有未读的回复、、私信或者关注的UP主更新了视频时这里会有数字角标提示。点击可以快速跳转到对应页面比在浏览器中刷新页面或等待网页通知更及时、更系统化。4. 进阶配置与性能调优默认设置已经能满足大多数人的需求但如果你和我一样喜欢折腾或者遇到了特定的性能问题以下几个方向值得探索。4.1 硬件加速与渲染器调优Electron应用本质上是一个Chromium浏览器实例因此Chromium的许多高级配置开关对它也有效。你可以通过修改客户端启动参数或配置文件来调整。一个常见的调整是强制启用或禁用硬件加速。虽然默认是开启的但在某些老旧显卡或外接显示器兼容性有问题的场景下禁用硬件加速可能解决花屏、黑屏或播放卡顿的问题。如何修改启动参数临时如果你通过.dmg安装可以这样操作退出Bilibili客户端。打开“终端”Terminal。输入以下命令并回车这会以禁用硬件加速的方式启动应用open -a Bilibili --args --disable-gpu如果你想尝试其他参数比如--disable-gpu-compositing禁用GPU合成可以替换--disable-gpu。如何修改启动参数永久通过Homebrew安装如果你用Homebrew安装可以修改其Cask的配置。这需要找到应用的实际位置通常在/Applications/Bilibili.app然后修改其Info.plist文件比较麻烦。更简单的方法是创建一个shell脚本包装器。例如创建一个名为bilibili-no-gpu.sh的文件内容如下#!/bin/bash /Applications/Bilibili.app/Contents/MacOS/Bilibili --disable-gpu 然后给脚本执行权限chmod x bilibili-no-gpu.sh以后通过这个脚本启动即可。4.2 缓存与数据管理随着使用时间增长客户端会缓存大量的图片、网页资源等数据可能会占用几个GB的磁盘空间。这些数据通常位于以下目录缓存~/Library/Caches/bilibili-mac-client应用数据~/Library/Application Support/bilibili-mac-client如果你发现应用变得臃肿或出现一些奇怪的问题可以尝试在退出应用后手动删除这些目录或其中的Cache、Code Cache等子文件夹然后重启应用。应用会重新生成必要的缓存文件。这相当于一次“软重置”有时能解决页面加载异常或样式错乱的问题。4.3 自定义CSS与用户样式这是一个高阶玩法。由于客户端加载的是B站网页内容理论上我们可以通过注入自定义CSS层叠样式表来修改界面样式。例如隐藏某些你不感兴趣的页面元素如特定的广告位、活动横幅或者调整字体、间距以获得更好的阅读体验。实现方法需要一些技术背景。你需要找到客户端的用户数据目录通常是~/Library/Application Support/bilibili-mac-client下的某个版本子文件夹然后找到负责加载页面的主进程或渲染进程的代码位置修改其加载逻辑以注入你的CSS文件。这个过程涉及对Electron应用结构的理解且随着客户端版本更新路径和方式可能会变因此不推荐普通用户尝试除非你非常清楚自己在做什么并且愿意承担可能使应用无法启动的风险。5. 常见问题排查与使用避坑指南即使是一个优秀的开源项目在实际使用中也难免会遇到一些问题。下面是我和社区里其他用户遇到过的一些典型情况及其解决方案。5.1 播放卡顿、绿屏或只有声音没有画面这是最常被反馈的一类问题根源通常在于视频解码环节。检查画质设置首先尝试在播放器设置中将“播放策略”从“HEVC优先”切换到“AVC优先”。虽然HEVC效率高但某些较老的Mac机型或特定系统版本下的解码器可能存在兼容性问题导致解码失败。切换到更通用的AVCH.264编码往往能立即解决问题。关闭硬件加速如上文“进阶配置”所述通过--disable-gpu参数启动应用。这会将所有渲染工作交给CPU虽然可能增加一些功耗但能绕过GPU驱动或解码器的Bug是最有效的排查手段之一。更新显卡驱动与系统确保你的macOS系统更新到最新版本。苹果的系统更新经常包含图形驱动和媒体框架的修复。前往“系统设置”-“通用”-“软件更新”进行检查。检查视频源偶尔某个特定视频本身可能存在编码问题。尝试播放其他UP主的视频如果只有个别视频有问题那很可能是视频源的问题而非客户端故障。5.2 无法登录或登录后频繁掉线登录状态保持依赖于Cookie和本地存储。如果遇到登录问题清除应用数据完全退出客户端。然后删除~/Library/Application Support/bilibili-mac-client目录请先备份你下载的视频它们默认在~/Movies/BilibiliDownloads/不受影响。重新启动客户端这会清除所有本地存储的登录信息、设置和缓存相当于全新安装。然后尝试重新登录。检查网络环境B站的登录接口可能对某些网络环境敏感。如果你使用了自定义的DNS、代理或网络过滤规则尝试暂时关闭它们使用最纯净的网络环境进行登录。验证账号安全在手机B站App或网页端确认你的账号没有被异常锁定或需要安全验证。有时B站的安全策略会阻止非官方客户端的登录尝试。5.3 下载功能失败或速度极慢下载功能依赖于B站的公开视频流地址这些地址有时效性并且B站服务器可能会对下载行为进行限速或限制。更换清晰度尝试下载较低清晰度如1080p而非4K。高清晰度文件更大更容易触发服务器的限制。检查网络确保你的网络连接稳定。可以尝试在网页端播放同一视频如果网页播放也缓冲缓慢那可能是B站当前节点或你自身网络的问题。避免同时过多任务不要一次性添加几十个视频到下载队列。分批进行同时进行的下载任务最好不超过3个以减少被服务器识别为异常请求的风险。等待或重试如果某个视频始终无法下载可以过几个小时或第二天再试。视频的CDN地址可能会刷新。5.4 应用启动缓慢或占用内存过高Electron应用的一个通病就是内存占用相对较高因为它运行了一个完整的Chromium实例。管理标签页/页面就像浏览器一样在客户端内打开过多的视频页面、动态页面会显著增加内存占用。养成习惯不看的页面及时关闭。定期重启应用如果连续多天不关闭客户端由于内存碎片或Chromium内部的内存泄漏虽然很少占用可能会缓慢增长。定期比如每天工作结束后退出重启一次是保持流畅的最简单方法。检查后台进程在“活动监视器”中搜索“Bilibili”你可能会看到不止一个进程主进程、渲染进程、GPU进程等。这是正常现象。总的占用内存是它们之和。如果总内存占用超过1.5GB且你并未进行多任务可以考虑上述重启操作。5.5 与系统或其他应用的快捷键冲突客户端的全局媒体快捷键F7/F8/F9可能会与某些音乐软件如Spotify、播客软件或系统其他功能的快捷键冲突。目前客户端没有提供修改这些快捷键的图形化设置界面。如果发生冲突你有两个选择修改系统或其他应用的快捷键在“系统设置”-“键盘”-“键盘快捷键”中你可以修改或禁用其他应用的媒体快捷键。反馈给开发者在项目的GitHub Issues页面提出需求希望未来版本能增加自定义快捷键的功能。在此之前只能通过系统设置来协调。6. 开源项目的生态与贡献使用bilibili-mac-client你不仅仅是在使用一个工具也是在支持一个活跃的开源项目。它的所有代码都公开在GitHub上这意味着透明与安全你可以审查代码知道它到底在做什么没有后门或恶意行为。持续进化开发者typcn和其他贡献者一直在修复Bug、添加新功能比如对B站新功能的适配。你遇到的问题很可能已经有人提出并正在修复。社区支持遇到问题时除了本文提到的方案你还可以去GitHub Issues页面搜索类似问题或者用清晰的语言描述你的问题附上系统版本、客户端版本、复现步骤发起一个新的Issue开发者和其他社区成员很可能会帮助你。如果你是一名开发者并且觉得这个项目很有用可以考虑以以下方式贡献提交Bug报告详细、清晰的Bug报告是宝贵的贡献。参与代码开发如果你熟悉JavaScript/TypeScript和Electron可以查看项目的Issue列表认领一些“good first issue”或自己感兴趣的功能进行开发。协助翻译项目可能需要多语言界面的支持。分享使用经验就像我写这篇文章一样在技术社区、博客分享你的配置技巧和避坑经验帮助更多用户。7. 替代方案与横向对比在macOS上除了官方网页端和这个开源客户端还有其他一些方式可以访问B站了解它们有助于你做出最适合自己的选择。方案优点缺点适用场景官方网页端 (Safari/Chrome)功能最全、最官方、最稳定支持所有最新特性如互动视频、课堂模式。无兼容性问题。依赖浏览器多标签页干扰缺乏系统级整合全局快捷键、Touch Bar、独立推送浏览器内存占用叠加。所有用户尤其是需要用到最新、最全功能的用户。typcn/bilibili-mac-client独立应用体验佳深度系统整合全局快捷键、Touch Bar、画中画流畅度可能更优内置下载功能。非官方功能更新可能滞后于网页版偶有兼容性Bug依赖开源作者维护。追求高效、专注体验的深度用户希望将B站作为独立生产力/娱乐工具的用户。第三方播放器调用使用IINA、VLC等专业播放器播放体验解码、滤镜、音效可能达到极致。步骤繁琐需复制视频地址再打开播放器无法使用评论、弹幕、动态等社区功能无法登录个人账号。纯粹为了追求最高画质、音质播放体验不关心互动功能的用户。iOS/iPadOS App Sidecar/随航使用官方移动App体验统一功能完整。需要iPad或iPhone通过Sidecar投射到Mac实为屏幕镜像并非原生Mac应用操作可能不便。已有iPad且习惯移动端操作的用户。综合来看bilibili-mac-client在“将B站网页端优秀体验与macOS原生应用便利性相结合”这条路上是目前做得最出色的选择。它填补了官方客户端缺失的空白为Mac用户提供了一个近乎完美的折中方案。经过数月的日常使用从写代码时后台播放技术讲座到休息时全屏观看4K纪录片再到利用下载功能收藏喜欢的课程离线观看这个开源客户端已经成了我Mac上不可或缺的应用之一。它可能不是百分之百完美偶尔的小Bug需要你有一点排查能力但它带来的效率提升和体验优化是实实在在的。如果你也厌倦了在浏览器标签页中寻找B站渴望一个更干净、更强大、更“Mac范儿”的B站体验那么我强烈建议你花十分钟时间按照上面的指南安装试用一下。它很可能也会成为你工作流中一个令人愉悦的组成部分。开源社区的力量正是由这样一个解决具体痛点的小项目汇聚而成而我们作为使用者最好的回馈就是认真使用、积极反馈、或许有一天也能成为贡献者。