基于 NSH 构建

原生的 Spotify

Spotish 是一个非官方的原生桌面客户端,配合你的 Spotify 账号(免费或 Premium)使用。Spotify 自己的网页播放器在你已安装的浏览器中于后台运行,界面则由 NSH 原生绘制,而不是跑一整个网页应用。

Spotish 保留 Spotify 的广告。想去掉广告、任意点播并支持艺人,请开通 Premium。 开通 Spotify Premium ↗

Spotish 首页:原生侧边栏、卡片与播放条。

安装

curl -fsSL https://huacnlee.github.io/spotish/install.sh | bash

安装脚本会选择对应平台,并校验发行包的校验和。无需 sudo。

查看安装脚本 ↗

需要 macOS 14 及以上的 Apple 芯片设备、带 GTK 4.14 及以上的 x86_64 Linux,或 x86_64 Windows;另需 Chrome、Chromium、Edge 或 Brave,以及 Spotify 账号。macOS 版本未经公证,首次启动可能需要在“隐私与安全性”中允许。

歌手页:热门歌曲,正在播放的一首有标记。
歌手页:热门歌曲,正在播放的一首有标记。
已喜欢的歌曲,宽窗口下显示专辑列。
已喜欢的歌曲,宽窗口下显示专辑列。
正在播放:大封面,音乐的光在控件后升起。
正在播放:大封面,音乐的光在控件后升起。
窄窗口:侧栏整个收起,头像和菜单移到左上角。
窄窗口:侧栏整个收起,头像和菜单移到左上角。
窄窗口下的正在播放。
窄窗口下的正在播放。

工作原理

Spotish 调度 Spotify 官方网页播放器,并为它提供自己的原生界面。

  1. 原生外壳

    整个界面——侧边栏、列表、播放条与 Now Playing——都由 NSH 原生绘制,而非网页。

  2. 用你的账号播放

    你已安装的 Chrome、Chromium、Edge 或 Brave 在后台运行 Spotify 网页播放器;由你的账号播放,因此曲库、资料库和广告都与 Spotify 一致。

  3. 一次登录

    登录一次(或复用你已登录的浏览器);Spotish 会记住并接管播放。

你会得到

一个真实可用的客户端,用来验证 NSH 的跨平台能力。

原生,而非第二个浏览器

界面是跑在 Rust 引擎上的原生视图——没有 Electron,不用内嵌网页渲染整个屏幕。

自适应布局

桌面工作区会随窗口变窄收成图标窄条,并切换为带底部标签栏的手机布局。

专注的 Now Playing

以封面为中心的全屏视图,取用曲目本身的颜色,动效克制不打扰。

保留广告,引导 Premium

Spotish 绝不拦截或跳过 Spotify 的广告。去广告请用 Premium。

复用你的登录

指向一个你已登录的浏览器 profile,即可零登录。

跟随系统主题

明暗跟随系统。

关于本项目

Spotish 是非官方的个人实验项目,与 Spotify 无关联、未获其背书或赞助。它通过 Spotify 官方网页播放器播放,因此需要 Spotify 账号并受其条款约束。Spotish 绝不拦截或跳过 Spotify 的广告——开通 Spotify Premium 才是去广告、支持艺人的方式。所有音乐与封面归相应权利人所有。

用 NSH 构建

NSH(Native Shell)是一个 Rust UI 框架,让同一个应用通过各平台自己的原生视图渲染——macOS、Windows、Linux、iOS、Android、Web,乃至终端。Spotish 正是用一个真实、非平凡的应用来验证它:一套 Rust 引擎、一套 TSX 界面,处处原生。

nsh.dev ↗