Mineradio: an Electron music player whose agent answers to plain language
MR:可独立运行的本地音乐播放器与音乐可视化工具,支持本地音乐、歌词舞台、桌面歌词和 3D 可视化;LX Music 歌单导入与本机联动为可选扩展。
At a glance
- What is it?
- A GPL-3.0 Windows music player built on Electron, maintained as an unofficial fork of XxHuberrr/Mineradio. Playlists, lyrics and visualization come from imported files and scripts, and the shipped installer contains no music of its own.
- Who is it for?
- Mineradio suits a Windows user who wants local files, imported LX playlists and a command-driven player, and it does not suit anyone expecting bundled music, because sources are scripts you supply and platform account login is absent by design. Before installing, decide where your source scripts come from, keep %APPDATA%\Mineradio backed up before an in-place upgrade, and note that the agent sends your prompts straight to whichever model provider you configure.
- Can I use it commercially?
- Yes, with conditions. GPL-3.0 is a copyleft licence: if you distribute software that includes it, you must release that software's source code under the same licence. Running it internally without distributing it does not trigger that obligation.
- Is it still maintained?
- Yes. The repository last received commits 1 day ago.
- What is it written in?
- Mainly JavaScript, according to GitHub's language statistics.
Answers come from the project's GitHub data, last synced on October 1, 2026, and from our analysis. They are not legal advice.
Editorial analysis
The agent wraps player commands as tools, not as a chat box
The feature people notice first is 小M, a floating ball that opens a panel, with Alt+A as the shortcut and Ctrl+Alt+A as a global hotkey that still works after you hide the ball in the advanced settings. What is behind it matters more than the window: existing player actions are wrapped as callable tools so a sentence becomes an operation. The documented examples include playing a song by artist, setting the volume to 40 percent, switching to lossless quality, opening the music library, adding the current track to a favourites list, and creating a commute playlist.
The model service is chosen in 小M's own settings. Local services such as Ollama are one option; anything else needs an API key you obtain and enter yourself, and the project states that it bundles, collects and manages no key on your behalf. Requests go directly to whichever provider you picked, so the terms and privacy policy you accept there also cover what you type into the panel.
build:win verifies tooling before electron-builder runs
Development needs Node and two commands:
npm install
npm startThe Windows installer is one script, and the script behind it in package.json is a chain rather than a single call. prepare:windows-tools runs build/prepare-windows-tools.ps1 through powershell.exe, verify:release runs node build/verify-release.js, electron-builder produces the NSIS package, and build/finalize-windows-release.js closes the job. It downloads and checksums pinned versions of FFmpeg and RePKG on the way in, then leaves four files in dist/: the Mineradio.Setup.1.6.1.exe installer, its .blockmap, a latest.yml update feed and a .SHA256.txt.
The macOS DMG has its own script, npm run build:mac, and the note is explicit that it has to run on macOS rather than being cross-built from Windows. That matches the release artefacts: the download links in the documentation are Windows installers.
The installer carries the player and none of the music
The bundled set is worth reading before you judge the size. It holds the Electron main program, the pages, the desktop lyrics and all front-end resources; 小M's front end, back end, tool calling, hotkeys, voice scripts and settings; the sound, artist and album code, the real-time spectrum, and the LAN remote code with its QR code runtime dependencies; FFmpeg 8.1.1 and RePKG v0.4.0-alpha with their third-party licence notices; and the logic for safe in-place upgrades, path validation and uninstall protection.
What is deliberately absent is as informative: no LX Music program itself, no built-in music source, no platform account login, and no song, lyric, cover or wallpaper. Supported platform is Windows 10 and 11 on x64. The installer lets you pick the directory and whether to create a desktop shortcut, upgrades the original release, older releases and other derivative builds in place, and version 1.6.1 closes a running Mineradio before overwriting files while keeping playlists, settings and user data in %APPDATA%\Mineradio.
Streams arrive from scripts you import, playlists from files and links
The audio source manager sits in the top right of the page and is where playback actually comes from. It imports local LX-compatible source scripts, single links, or batches of files, and it can switch between sources. Nothing arrives preloaded, which is the same boundary the installer contents describe.
Playlist handling got the most attention in 1.6.1. The playlist plaza now spans five platforms with 20 category tags, public playlist search and pagination. Queue semantics changed in a way that matters in use: a playlist card opens a full detail view first, clicking one track appends to what is already playing, and only 播放全部 replaces the queue. Leaderboards moved to real platform charts, with one overall chart plus 19 platform categories. Import also takes LX playlist files and multi-platform share links, and export writes .lxmc playlists that LX Music can read. Auto-sync gained multiple periods, per-item retry, counts of what was added or removed, failure reasons and a sync log.
Twenty-nine radio modes sit next to a full audio chain
Music radio offers 29 private roam, scene, style and energy modes, each of which can be favourited and pinned. Around it sits an effects chain rather than a volume slider: an equalizer, custom sound field, spatial audio, vocal and accompaniment separation, smart mastering, smart DJ, preamp gain and output device selection. Release 1.6.1 added cross-track loudness equalization, plus backup and restore, queue save and undo, multi-field sorting, random shuffle and duplicate cleanup in the list organizer.
Lyrics run local or online, with translation, offset correction and several in-window animations, and the desktop window is adjustable in horizontal position, height, size and opacity. Visualization covers a bottom real-time spectrum with its own height control, particle effects, a 3D lyric stage, custom wallpapers, video backgrounds and reading Wallpaper Engine wallpaper assets. Recording and preview covers 60 FPS H.264 scene capture, GIF previews and converting Wallpaper Engine resources. Update checking reads GitHub Release, configured through the mineradio.update field in package.json.
A QR code on the LAN hands control of the player to a phone
The LAN remote feature lets a phone scan a QR code and then drive the desktop player over the same network, and it is listed among the packaged runtime dependencies alongside the desktop tray, media controls, immersive mode, desktop fusion playback, a draggable playlist bar and a mini queue. The top level of the repository holds server.js and a services/ directory, which is where a listening component lives, and the directories cuefield/, qishui-audio-decryptor/ and qishui-auth-v6/ sit there too without being explained anywhere in the visible documentation.
What the scan flow does not come with is a pairing secret. The description of the feature stops at scanning the code and controlling the player, with no password, device token or account step named, so treat the network it opens as the same trust boundary as the Wi-Fi it runs on.
The committed version trails the shipped one, and two lockfiles coexist
Two version numbers in the repository disagree with the release history. package.json says 1.6.0 and its build section repeats buildVersion 1.6.0, while the shipped installer and the release notes are 1.6.1, published 2026-09-10 after v1.6.0 on 2026-08-15 and v1.5.7.3 on 2026-08-09. So the version string on main is one release behind the artefact people download. The field is bumped at release time, or not bumped at all.
The root also carries package-lock.json and pnpm-lock.yaml next to pnpm-workspace.yaml, while every documented command is npm based. package.json sets private to true, so nothing is published to a registry; distribution is the GitHub Release installer, and the project asks that public source correspond to that installer. The licence is GPL-3.0-only, with LICENSE and NOTICE.md at the root, and the README states plainly that this is an unofficial derivative of XxHuberrr/Mineradio with no affiliation to NetEase Cloud Music, QQ Music or Tencent Music Entertainment. The last push to main is dated 2026-10-01.
Editorial conclusion
Mineradio suits a Windows user who wants local files, imported LX playlists and a command-driven player, and it does not suit anyone expecting bundled music, because sources are scripts you supply and platform account login is absent by design. Before installing, decide where your source scripts come from, keep %APPDATA%\Mineradio backed up before an in-place upgrade, and note that the agent sends your prompts straight to whichever model provider you configure.
Frequently asked questions
Does Mineradio come with music sources or songs included?
No. The installer deliberately excludes the LX Music program itself, built-in music sources, platform account login, and any song, lyric, cover or wallpaper. Sources arrive as scripts you import yourself through the audio source manager, which supports local LX-compatible scripts, links and batch file import.
Which platforms does Mineradio run on?
The installer supports Windows 10 and 11 on x64, and macOS has a separate build script that has to be run on macOS. The AI agent 小M works over text, and voice input where the environment allows it.
Do I need my own API key to use the 小M agent in Mineradio?
Yes, unless you point it at a local service such as Ollama. For hosted providers you apply for and enter the API key yourself in 小M's settings, and the project states it bundles, collects and manages no keys. Requests go straight from your machine to the provider you select.
Will installing Mineradio overwrite my playlists and settings?
The installer upgrades the original release, older releases and other derivative builds in place, and version 1.6.1 closes a running Mineradio before overwriting files. Playlists, settings and user data live in %APPDATA%\Mineradio and are kept, so the upgrade path is meant to be non-destructive.
Can Mineradio import LX Music playlists and export them back?
Import takes LX playlist files and multi-platform share links, and export writes .lxmc playlists compatible with LX Music. Version 1.6.1 added a five-platform playlist plaza with 20 category tags, public playlist search and pagination.
Official sources
Add this badge to your README
If you maintain this project, the badge below links readers to this analysis and shows its maintenance status from the daily GitHub snapshot. Paste the markdown into your README; add ?metric=license or ?metric=stars to the image URL for a different field.
[](https://hysenlabs.com/projects/ww085213-mineradio-lx-music)