安装依赖前需先用 gh 登录并授予 read:packages 权限,否则拉不到 GitHub Packages 上的私有依赖;OBS 悬浮层需先在设置里启用 API,默认端口为 13091;Stream Deck 插件需单独下载安装,并在启用 API 和授权后从动作里完成授权
ytmdesktop2
VenipaCC0-1.0活跃维护非官方的 YouTube Music 桌面客户端,基于 Electron 构建,支持 Discord RPC 状态显示和 LastFM 听歌记录同步。
Unofficial Youtube Music Desktop App, with Discord RPC & LastFM support.
gh auth refresh -s read:packages
pnpm install
pnpm devREADME 未说明
非官方 YouTube Music 桌面客户端,带 Last.fm 记录、Discord 状态和 OBS 悬浮层
非官方的 YouTube Music 桌面客户端,基于 Electron 构建,支持 Discord RPC 状态显示和 LastFM 听歌记录同步。
核心能力
- 用 Last.fm 记录收听并同步 Now Playing
- 在系统托盘弹出紧凑的正在播放视图
- 支持 Better Lyrics、Unison、LRCLIB 的逐行歌词
- 通过 Discord Rich Presence 展示当前曲目
- 提供 OBS 浏览器源悬浮层与 Stream Deck 插件
容易踩的坑
- v1.8.6v1.8.6 - queue fix if song matched instead of video最新正式版2026-10-20 · 2026-10-20 22:56 UTC
Changes
- feat(queue): add songId to queue items for improved audio track identification (8fa1fa2)
- feat(scroll-area): add hideOnBlur functionality for improved scrollbar visibility (56e4744)
- v1.8.5v1.8.5 - updated lastfm auth, new tray view queue list and volume control, updated api queue endpoint2026-10-20 · 2026-10-20 21:44 UTC
查看更新说明
Changes
- fix(tray-view): update loading state and improve type definitions (5760c2c)
- feat(tray-view): enhance tray view functionality with queue management and volume control (0d1193b)
- feat(lastfm): enhance Last.fm integration with browser authorization and callback handling (7d5d7c4)
- v1.8.4-rc.0v1.8.4-rc.0 - wayland shortcut fixpre-release2026-10-19 · 2026-10-19 08:55 UTC
查看更新说明
Changes
- feat(linux): enhance Wayland support and update desktop ID for global shortcuts (b287bb3)
- v1.8.3v1.8.3 - customizable shortcuts, lastfm looped song support2026-10-18 · 2026-10-18 16:50 UTC
查看更新说明
Changes
- feat: add global shortcuts feature and enhance documentation (6e724c8)
- feat: implement global shortcuts management (8b45e99)
- feat: track loop state and give state to api, lastfm loop aware listen status (f681c1d)
- v1.8.3-rc.0v1.8.3-rc.0 - small fix regarding hybrid (d)GPUpre-release2026-10-13 · 2026-10-13 23:17 UTC
查看更新说明
Changes
- fix: applied new flag set to support gpu accel for hybrid gpu #62 (e41db48)
用户点评
登录用户的真实使用记录,可按版本和硬件筛选还没有人点评。第一个说出真实体验的人最有价值。
[!NOTE] We hit 1000 Stars, thanks for your continued support ♥️
I've never imagined that a personal project for my one use would become that large :)
Additionally v1.0 has been released, completed rewritten services and updated UI. stay tuned for new planned features ♥️
Features
Last.fm
Scrobble and update Now Playing while you listen.

Tray view
Compact now-playing popup from the system tray.

Lyrics
Timed lyrics in the player (Better Lyrics, Unison, LRCLIB).

Discord Rich Presence
Show the current track in Discord.

Themes
Bundled or custom SCSS/CSS for the YouTube Music UI.

OBS overlays
First-party now-playing browser sources. Enable API, open Settings -> OBS, copy URL into an OBS Browser Source (default port 13091).

http://127.0.0.1:13091/embed/now-playing
Shared links (ytmd://)
Open tracks, playlists, and channels in the app (ytmd:// or swap https:// on music.youtube.com URLs).
Stream Deck
- Enable API + require authorization
- Install the Stream Deck plugin
- Authorize from a YTMDesktop2 action
More detail in apps/docs/content/docs/features.
Project setup
Monorepo (pnpm). App: apps/ytmdesktop2. Stream Deck: packages/streamdeck.
# gh required for github packages (Venipa/xosms)
gh auth refresh -s read:packages
pnpm install
pnpm dev
Inspiration
ytmdesktop and th-ch / Pear Desktop inspired a lot of my own work on this project: ideas, approaches, and the wider desktop YouTube Music space. Also Last.fm, Better Lyrics, and LRCLIB. Grateful they exist.