插件架构 — Grayjay 连接各平台的方式
为什么用插件架构
Grayjay 最核心的技术决策之一,就是不把 YouTube、Twitch、Bilibili 等平台的支持写死在应用本体里。所有对外部平台的对接都以插件(Plugin)的形式存在,应用本体只负责提供播放器、订阅管理、信息流渲染这些通用能力。
这个设计有三个直接好处:
按需安装。你只用 YouTube 和 Twitch,就只装这两个插件,不被没用到的平台逻辑占空间、拖启动。
可扩展。任何有开发能力的人都可以为 Grayjay 编写新平台的插件,官方在 GitLab 上维护了插件开发文档。社区贡献已经让插件列表扩展到了 20+ 平台。
抗风险。某个平台的 API 策略变了,只需要更新对应的插件,应用本体不受影响。
插件列表
Grayjay 插件分为几个成熟度等级:
- 正式版:YouTube、Odysee、Rumble、Patreon、Nebula、SoundCloud、PeerTube、Bilibili
- Beta:Twitch、Kick、Dailymotion、BitChute
- Alpha:TED Talks、Curiosity Stream、Mixcloud、Radio Browser、FOSDEM、Internet Archive、Spotify
Alpha 阶段的插件功能可能不完整或不稳定,Beta 阶段可以正常使用但可能有边角问题,正式版则是日常使用无明显问题。

安装插件的方式
有两种方式安装插件:
方式一:应用内扫描 QR 码。打开 Grayjay 的 Sources 页面,点击插件中心,扫描 plugins.grayjay.app 上对应平台下方的 QR 码,应用会直接拉起安装。
方式二:浏览器点击「Open in Grayjay」。在手机浏览器打开 plugins.grayjay.app,找到你想要的插件,点击插件卡片上的「Open in Grayjay」按钮,浏览器会触发 Grayjay 安装对应插件。
默认插件
Grayjay 安装完成后默认启用 YouTube 插件,这是官方最成熟、测试最充分的插件。其他所有平台都需要手动添加。