Kaset:用 SwiftUI 重做 YouTube Music 的 macOS 客户端,值不值得装
缺少 YouTube 和 YouTube Music macOS 应用。 Kaset 用于 YouTube Music 和 YouTube 的本机 macOS 客户端,使用 Swift 和 SwiftUI 构建。
秒懂
- 它是什么?
- Kaset 是一个用 Swift 和 SwiftUI 写的原生 macOS 客户端,覆盖 YouTube Music 和 YouTube 的播放、库管理、歌词与扩展。它依赖 WebKit 和你的 Premium 订阅,未签名分发,适合愿意手动处理 Gatekeeper 的用户。
- 适合谁用?
- Kaset 适合那些已经在用 YouTube Music Premium、受够了浏览器标签页、又想要原生控制中心和媒体键集成的 macOS 用户。它不适合追求零配置的人,因为应用未签名,首次运行需要手动清除隔离属性,而且 DRM 播放依赖 WebKit 和 Premium 账号,免费用户只能获得受限体验。
- 能商用吗?
- 可以。MIT 是宽松许可证:你可以使用、修改并销售基于它的软件,只需保留版权和许可证声明。
- 还在维护吗?
- 在维护。仓库最近一次提交在 1 天前。
- 用什么语言写的?
- 主要是 Swift(依据 GitHub 的语言统计)。
以上回答依据项目的 GitHub 数据(最近同步于 2026年9月15日)和我们的分析,不构成法律意见。
开源项目深度解析
Kaset 解决的是什么问题
YouTube Music 没有官方 macOS 客户端,网页版在 Safari 或 Chrome 里用起来总差一口气:没有原生媒体键、没有控制中心集成、没有系统级通知。Kaset 用 SwiftUI 重做了一层壳,把 YouTube Music 和 YouTube 塞进一个原生窗口,附带 Apple Music 风格的侧边栏和 Liquid Glass 播放条。它的目标用户很明确:已经订阅 YouTube Music Premium、每天在 Mac 上听歌看视频、又不想被浏览器标签页绑架的人。Kaset 不是 YouTube 的替代品,它只是把 YouTube 的网页能力搬进原生容器,同时补上 macOS 系统集成的短板。
播放机制:WebKit 容器与 Premium 依赖
Kaset 的播放核心是 WebKit。README 明确说它支持 DRM 保护的 YouTube Music 内容,前提是你有 Premium 订阅。这意味着音频和视频流实际上是在 WebKit 的网页视图里解码的,Kaset 本身不处理 DRM 解密。系统级均衡器直接作用于 WebKit 播放输出,所以 EQ 调整会影响所有经过这个容器的声音。背景音频的实现方式是关闭窗口后继续播放,退出应用才停止,这比浏览器后台标签页更可控,但本质上还是网页播放的延续。这种架构的代价是内存占用可能高于纯原生播放器,因为 WebKit 渲染引擎本身就不轻。
安装与首次运行:未签名应用的门槛
安装方式有两种:从 Release 页面下载 zip,或者用 Homebrew 执行 brew install sozercan/repo/kaset。README 特别指出应用未签名,手动下载的话需要先清除扩展属性,命令是 xattr -cr /Applications/Kaset.app。这一步是为了去掉 quarantine 标记,否则 macOS 会阻止打开。未签名意味着没有公证,Gatekeeper 会弹警告,你得右键打开或手动放行。Homebrew 安装的版本同样未签名,但 brew 不会自动处理 quarantine,所以你可能还是需要跑一遍 xattr。系统要求 macOS 15.4 或更高,Apple Intelligence 相关功能需要 macOS 26。
扩展与自动化:uBlock Origin Lite 和 URL Scheme
Kaset 支持加载 WebKit Web Extensions,README 提到了 uBlock Origin Lite 和 SponsorBlock。这意味着你可以拦截广告和跳过赞助段落,但扩展需要自己去找安装方式,项目只提供了 docs/extensions.md 的链接。URL Scheme 是 kaset://play?v=VIDEO_ID,可以直接唤起应用播放指定视频。此外,针对 YouTube 的 watch 链接和 youtu.be 短链接会被应用拦截并转到 YouTube 模式。AppleScript 支持让自动化成为可能,README 提到可以配合 Raycast、Alfred 和 Shortcuts 使用。这些机制合起来,Kaset 不只是一个播放器,更像一个可编程的媒体控制台。
界面与本地化:17 种语言,但深度有限
UI 本地化覆盖 17 种语言,包括简体中文和繁体中文,切换位置在 Settings → General → Language。界面风格模仿 Apple Music,有侧边栏导航和 Liquid Glass 播放条,这在视觉上比网页版更统一。但本地化只涉及界面文字,YouTube 内容本身的语言还是由 Google 账号决定。歌词功能支持逐行高亮,但需要时间数据可用,AI 解释和情绪分析只在 macOS 26 以上才有。这意味着老系统用户会少掉一部分功能,而新系统用户才能体验到完整能力。
真正的局限:不是 YouTube 的完整替代
Kaset 的 YouTube 模式能浏览推荐、搜索、订阅、Shorts、稍后观看、历史、评论,还支持原生控制、字幕、画质选择和画中画。但 README 没有提到直播聊天、上传视频、频道管理这些创作者功能。如果你只是看视频,那够用;如果你是创作者或重度依赖 YouTube 的社区功能,Kaset 就不合适。另一个限制是 DRM 播放完全依赖 Premium,免费用户只能看到无 DRM 的内容,体验会大打折扣。还有,应用未签名意味着每次 macOS 大版本更新后,可能都需要重新处理 Gatekeeper 权限,维护成本是持续的。
与官方网页版的对比:原生集成 vs 功能完整
直接对比对象是 YouTube Music 的网页版。网页版不需要安装、永远最新、功能由 Google 直接维护,但没有媒体键、没有控制中心、没有系统级通知。Kaset 用原生壳换来了这些集成,代价是失去网页版的即时更新和 Google 的官方支持。另一个替代方案是第三方命令行播放器如 yt-dlp 加 mpv,但那种方式没有 UI、没有歌词、没有队列管理,适合技术用户而非日常听众。Kaset 的定位介于两者之间:它保留了 YouTube 的界面逻辑,但把系统集成做透了。
编辑结论
Kaset 适合那些已经在用 YouTube Music Premium、受够了浏览器标签页、又想要原生控制中心和媒体键集成的 macOS 用户。它不适合追求零配置的人,因为应用未签名,首次运行需要手动清除隔离属性,而且 DRM 播放依赖 WebKit 和 Premium 账号,免费用户只能获得受限体验。安装前先确认你的 macOS 版本不低于 15.4,并检查 Release 页面是否有与你芯片架构匹配的构建。若你依赖 YouTube 的完整网页功能,比如评论区管理或直播聊天,Kaset 的 YouTube 模式可能仍不及官方网页版。最后,由于项目不隶属 Google,账号安全与功能可用性都建立在第三方逆向工作的稳定性上,升级 macOS 后应重新验证播放是否正常。
社区笔记