DECKYMUSIC
所有插件All Plugins › 音乐与音频Music & Audio › Decky Music
QQ 音乐 · 正在播放
QQ 音乐 · 正在播放QQ Music · Now playing
网易云 · 私人 FM
网易云 · 私人 FMNetEase · Personal FM
QQ 音乐 · 推荐
QQ 音乐 · 推荐QQ Music · For you
网易云 · 逐字歌词
网易云 · 逐字歌词NetEase · Word-synced lyrics
QQ 音乐 · 搜索
QQ 音乐 · 搜索QQ Music · Search
网易云 · 发现
网易云 · 发现NetEase · Discover
QQ 音乐 · 我的音乐
QQ 音乐 · 我的音乐QQ Music · My music
网易云 · 搜索
网易云 · 搜索NetEase · Search
QQ 音乐 · 智能电台
QQ 音乐 · 智能电台QQ Music · Smart radio
网易云 · 我的
网易云 · 我的NetEase · My music

安装 Decky MusicInstall Decky Music

SteamOS

标准版 · 从 GitHub 下载。安装时 Decky 会按 SHA-256 校验并拉取两个后端二进制。 Standard · served from GitHub. Decky downloads both backend binaries during install and verifies their SHA-256.

免费Free
ZIP

安装 Decky Music · 国内镜像Install Decky Music · China mirror

SteamOS

CN 版 · 插件包和两个二进制全部走 Cloudflare 镜像,访问 GitHub 慢或不稳时推荐。功能与标准版完全一致,二进制字节相同。 CN build · the package and both binaries come from a Cloudflare mirror. Same features and byte-identical binaries — pick it when GitHub is slow.

免费Free
ZIP

离线完整包(full)Offline bundle (full)

SteamOS

二进制已打进包内,安装过程零下载,适合网络受限的环境;升级时请整包重装。 Binaries are bundled, so installing downloads nothing else — handy on restricted networks. Reinstall the whole bundle to upgrade.

免费Free
ZIP

三步装好Three steps to install

  1. 1 在上方任选一个版本,点「复制安装链接」。 Pick a build above and hit “Copy install URL”.
  2. 2 在 Decky 设置中找到 Manual Plugin Install,粘贴链接并安装。 In Decky settings, find Manual Plugin Install, paste the URL and install.
  3. 3 在快捷菜单(···)里打开 Decky Music,选音源、扫码登录,然后「打开播放器」。 Open Decky Music from the Quick Access menu (···), pick a source, scan to log in, then “Open player”.

⚠ Steam 客户端 1784934043 及更新版本需要 Decky Loader v3.2.8-pre1 或更高版本;请勿使用 GitHub 自动生成的 Source code 压缩包。 ⚠ Steam client 1784934043 and newer needs Decky Loader v3.2.8-pre1 or later. Don’t use GitHub’s auto-generated “Source code” archives.

关于这款插件About this plugin

Decky Music 把一整套音乐 App 装进了 SteamOS 游戏模式。它不是网页套壳:界面按 Steam Deck 的大屏与手柄重新设计,音乐服务、播放队列和音频输出跑在独立的 Rust 进程里——网络慢、解码忙、后端出错,都不会卡住你的 Steam。 Decky Music puts a complete music app inside SteamOS Game Mode. It isn’t a wrapped web page: the UI is designed for the Deck’s screen and controller, while music services, the play queue and audio output run in separate Rust processes — slow networks, busy decoders or backend errors never freeze Steam.

两大曲库,一个播放器Two libraries, one player

QQ 音乐与网易云音乐同时支持,在快捷菜单里一键切换。推荐、榜单、分类搜索、歌单 / 专辑 / 歌手详情、我喜欢与收藏歌单都在;正在播放页有同步歌词与翻译,网易云还支持逐字歌词和热评。 Both QQ Music and NetEase Cloud Music, switchable from the Quick Access menu. Recommendations, charts, categorised search, playlist / album / artist pages, liked songs and saved playlists — plus synced, translated lyrics, with word-by-word lyrics and hot comments on NetEase.

边打游戏边听,不打扰Keeps playing while you game

离开插件、进入游戏后继续连续播放。私人 FM、猜你喜欢、雷达推荐等电台无限续播;蓝牙耳机按键和系统媒体控件(MPRIS)可直接控制;播放出错时会弹 Steam 系统通知,玩游戏时也看得到。 Playback continues after you leave the plugin and launch a game. Endless radio (Personal FM, Guess-you-like, Radar), headset buttons and system media controls via MPRIS, and a Steam toast if something goes wrong — even mid-game.

稳,是第一需求Built to be boring-reliable

后端崩了会自动拉起并重注登录态;网络断了,下次按播放键从中断处接着放;上游超时先原地重试,不会悄悄跳歌。音质可选标准 / 高品质 / 无损三档上限,拿不到就逐档降级。 Crashed backends restart and re-apply your login. Lost the network? Press play and it resumes where it stopped. Upstream timeouts retry in place instead of silently skipping. Choose a Standard / High / Lossless quality cap with graceful fallback.

双平台能力一览Feature matrix

QQ 音乐QQ Music 网易云音乐NetEase Cloud Music
扫码登录QR login 手机 QQ 或微信扫码Mobile QQ or WeChat 网易云音乐 App 扫码NetEase Cloud Music app
推荐与发现Discover 推荐歌单、新歌首发、猜你喜欢、雷达推荐、榜单Playlists, new releases, Guess-you-like, Radar, charts 每日推荐、推荐歌单、私人 FM、榜单Daily picks, playlists, Personal FM, charts
搜索Search 热搜;歌曲 / 歌单 / 专辑 / 歌手分类搜索与分页Trending; songs / playlists / albums / artists with paging
我的音乐Library 喜欢的歌曲、自建歌单、收藏歌单Liked songs, created & saved playlists 喜欢的歌曲、听歌排行、自建歌单、收藏歌单Liked songs, listening rank, created & saved playlists
电台Radio 猜你喜欢、雷达推荐Guess-you-like, Radar 私人 FM(红心 / 垃圾桶)Personal FM (like / trash)
歌词Lyrics 同步歌词与翻译Synced + translation 逐字歌词、翻译与热评Word-synced, translation, hot comments

手柄就是遥控器Your controller is the remote

  • L1R1切换顶层页面Switch top tabs
  • L2R2切换二级页签Switch sub-tabs
  • A选择 / 播放Select / play
  • B返回Back
  • X上下文菜单:红心、加入歌单Context menu: like, add to playlist
  • Y打开播放队列Open the queue
  • ☰全局暂停 / 继续Global play / pause

实机截图On-device screenshots

全部为 Steam Deck 游戏模式下的原始截图(1280×800),未经修饰。点击查看大图,键盘 ← → 翻页。 Unretouched captures from a Steam Deck in Game Mode (1280×800). Click to enlarge; use ← → to browse.

性能与资源占用Performance & footprint

打游戏时,音乐插件应该是「隐形」的。以下数字来自 Steam Deck 真机与本地实测记录。 While you game, a music plugin should be invisible. Figures below come from on-device Steam Deck and local measurements.

≈ 10.9 MB 安装时总下载量
插件包 + 两个后端二进制
Total install download
package + both backend binaries
≈ 18 MB provider 常驻内存
QQ + 网易云同进程 · 单线程
Provider resident memory
QQ + NetEase in one process · 1 thread
1.2 % 播放无损时 player CPU
Steam Deck · QQ 无损
Player CPU while playing lossless
Steam Deck · QQ lossless
≈ 2 ms QQ 后端冷启动
原 Python 实现约 250 ms
QQ backend cold start
was ~250 ms in Python

优化前后对比Before vs. now

每一行按各自的最大值缩放,越短越好。悬停查看测量条件。Each row is scaled to its own maximum — shorter is better. Hover for test conditions.

包体Package size

离线完整包Offline bundle 63.8 → 5.6 MB
安装时下载Install download 71.1 → 10.9 MB

QQ 后端:Python → RustQQ backend: Python → Rust

冷启动Cold start ~250 → ~2 ms
空闲内存Idle memory 98 → 7 MB
批量请求 CPUBatch CPU time 0.54 → 0.04 s

播放时资源(Steam Deck · QQ 无损)While playing (Steam Deck · QQ lossless)

player 唤醒Player wakeups 61 → 23 /s
player 内存Player memory 25 → 19 MB
provider 线程Provider threads 9 → 1

网易云连接复用NetEase connection reuse

12 个连续请求12 sequential requests 10.79 → 7.86 s
榜单曲目Chart tracks 1852 → 938 ms

来源:路线图与验收记录。数值随网络、账号与上游服务状态变化,仅代表记录时的测量结果。 Source: roadmap & verification log. Results vary with network, account and upstream service state; they reflect the recorded runs only.

工作原理How it works

界面只跟 bridge 说话;bridge 是唯一的状态真相源;联网和出声交给插件沙盒外的两个 Rust 进程。 The UI only talks to the bridge; the bridge owns all state; networking and audio live in two Rust processes outside the plugin sandbox.

React UI ↔ Python bridge ↔ provider / player (Rust) 插件沙盒外 · 独立进程 Outside the sandbox · own processes Decky RPC UDS NDJSON React UI 快捷菜单 + /music 大屏 QAM + /music page Python bridge 唯一真相源 · 仅标准库 Single source of truth 队列 · 电台 · 重试 · 监督 queue · radio · retry · supervise provider · Rust QQ + 网易云 · 歌词 · URL QQ + NetEase · lyrics · URLs player · Rust 拉流 · 解码 · 出声 stream · decode · output 音乐服务 API Music services PipeWire MPRIS2 D-Bus

不拖垮 SteamNever takes Steam down

网络请求、解码与后端异常都在独立进程里,插件内降级为错误态;子进程崩了由 bridge 自动拉起。Network calls, decoding and backend faults stay in separate processes and degrade to an in-plugin error state; crashed children are restarted by the bridge.

不开放端口No open ports

bridge 与子进程走 Unix 域套接字 + NDJSON 协议 v1,不监听任何 TCP 端口;Rust 两端共用 wire crate。The bridge talks to its children over a Unix domain socket with NDJSON protocol v1 — no TCP listener at all. Both Rust sides share the wire crate.

不泄露凭证No leaked secrets

播放 URL、Cookie 与凭证从不写入日志或发给界面;二进制安装时按 SHA-256 校验。Play URLs, cookies and credentials never reach logs or the UI; binaries are SHA-256 verified at install.

阅读完整的架构设计与协议 ›Read the full architecture & protocol ›

系统需求System requirements

SteamOS

最低配置:Minimum:

  • 操作系统:OS: SteamOS 游戏模式(gamescope 会话)SteamOS Game Mode (gamescope session)
  • 处理器:Processor: x86_64
  • 运行库:Runtime: glibc 2.39+
  • 插件宿主:Host: Decky Loader(Steam 客户端 1784934043+ 需 v3.2.8-pre1+) (v3.2.8-pre1+ for Steam client 1784934043+)
  • 音频:Audio: 用户会话 PipeWire、ALSA 兼容层与 libasound.so.2PipeWire in the user session, ALSA compatibility and libasound.so.2
  • 网络:Network: 宽带互联网连接Broadband Internet connection
  • 存储空间:Storage: 两个后端二进制合计约 10 MB,另加插件本体About 10 MB for both backend binaries, plus the plugin itself

推荐配置:Recommended:

  • 设备:Device: Steam Deck(已完成真机验收)Steam Deck (verified on device)
  • 插件宿主:Host: 最新版 Decky LoaderLatest Decky Loader
  • 账号:Account: QQ 音乐需扫码登录;网易云部分歌曲可匿名播放,推荐与私人资产需登录QQ Music requires QR login; some NetEase tracks play anonymously, personal features need login
  • 音质:Quality: 对应平台会员可解锁高品质 / 无损A membership on the service unlocks High / Lossless
已知限制Known limitations
  • 歌曲是否可播、能拿到哪档音质,取决于账号权益、版权、地区与服务端状态;项目不提供代理或地区绕过能力。Playability and quality depend on account entitlements, licensing, region and service state; the project provides no proxy or region bypass.
  • 切换 QQ 音乐与网易云会停止播放并清空当前队列(两端歌曲 ID 不兼容)。Switching between QQ Music and NetEase stops playback and clears the queue (song IDs are incompatible).
  • 电台内容不跨会话保存;普通队列会恢复,但插件重启后不会自动开始播放。Radio isn’t persisted across sessions; the normal queue is restored but won’t auto-play after a restart.
  • 不做本地音频缓存,每次播放都重新拉流。No local audio cache — every play streams afresh.
  • 已有真机验收记录来自 Steam Deck;非 Deck 的 SteamOS 设备、ARM、桌面模式及其他发行版尚未验证。Device verification so far is on Steam Deck only; non-Deck SteamOS hardware, ARM, Desktop Mode and other distros are unverified.

最近更新Recent updates

v1.1.2

网易云浏览更快Faster NetEase browsing

  • 连续请求复用网络连接,不再每次重新握手,在 Steam Deck 上连续浏览时整体耗时约减少四分之一。Back-to-back requests now reuse connections instead of re-handshaking, cutting total browsing time on Steam Deck by about a quarter.

查看全部发布说明 ›See all release notes ›