AlgerMusicPlayer: a Vue and Electron music player that runs its own local service
一个第三方音乐播放器、本地服务、桌面歌词、音乐下载、远程控制
At a glance
- What is it?
- AlgerMusicPlayer is a third-party music client built with Vue and Electron. It bundles a local service based on netease-cloud-music-api, adds desktop lyrics and remote control, and is released under the MIT licence.
- Who is it for?
- Adopt AlgerMusicPlayer if you want a desktop music client whose data path stays on your own machine and you are willing to read the Yuque install document and DEV.md before building it. Skip it if you need a documented public API, a stable desktop release channel, or an iOS build, since the README lists iOS as a future item with no date.
- Can I use it commercially?
- Yes. MIT is a permissive licence: you can use, modify and sell software built on it, as long as you keep its copyright and licence notices.
- Is it still maintained?
- Yes. The repository last received commits 10 days ago.
- What is it written in?
- Mainly Vue, according to GitHub's language statistics.
Answers come from the project's GitHub data, last synced on September 29, 2026, and from our analysis. They are not legal advice.
DEEP OPEN-SOURCE ANALYSIS
What AlgerMusicPlayer is, and who is meant to run it
AlgerMusicPlayer is a third-party music player written primarily in Vue, packaged with Electron, and published under the MIT licence. The README describes it in one line: a third-party music player, local service, desktop lyrics, music download, and remote control. That list is the honest scope. It is not a streaming service and it does not host audio. It is a client that talks to a service you run yourself.
The intended user is someone who wants a desktop music application with more control than a browser tab: a separate always-on-top lyrics window, an EQ, playback speed control, scheduled playback, and a remote control surface that lets another device drive the player. The README also lists account login and sync, play history, favourites, playlists, MV, rankings and daily recommendations, so the feature surface is closer to a full client than a minimal player.
Two constraints shape who should care. First, the README states the software is for learning and exchange, forbids commercial use, and asks users to support the official services. Second, the README points to an external Yuque document for installation and common problems rather than documenting installation in the repository. If you need a project whose setup is fully described in its own README, this is not that project.
The local service is the architectural decision that matters
The README lists a technical feature it calls localised service with no dependency on an online API, based on netease-cloud-music-api. That single choice explains most of the rest of the design. Instead of the Electron renderer calling a remote endpoint directly, the application runs a service locally and the client talks to it. The README also states that music resource resolution is based on @unblockneteasemusic/server, which is a separate component from the API layer.
So there are two moving parts behind the interface: an API-compatible service and a resource resolver. The README presents both as dependencies the project builds on, not as things it reimplements. That is a reasonable split, but it also means the behaviour you get is partly the behaviour of those upstream components, and the README does not describe how they are versioned, pinned, or updated inside the app. If resource resolution changes upstream, this repository is downstream of that change.
The repository layout supports the Electron reading. There is an electron.vite.config.ts, a build directory, a resources directory, and an android directory. The package.json main field points at ./out/main/index.js, which is the Electron main process output, and the build scripts call electron-builder for Windows, macOS and Linux separately. The README claims full platform adaptation across Desktop, Web, Mobile Web, Android (marked as testing) and iOS (marked as later). The Android and iOS entries are the weakest claims in the list: Android is labelled as a test, and iOS is labelled as something to come, with no date attached in the README.
Installing it and getting a first play
The README gives a two-command start. Run the install, then the dev script, and Electron Vite launches the application in development mode.
npm install
npm run devThe README does not document what the first screen looks like after that, so the honest expectation is: a window opens, and the local service is expected to be running behind it. If the window opens but nothing plays, the README's own pointer is the Yuque document it links at the top, which it describes as covering installation and common problems. That link is where the project puts its troubleshooting, not the README.
If you want a web build instead of the Electron shell, package.json defines dev:web, which runs vite dev directly. That is a different entry point from npm run dev and is not mentioned in the README's start section.
npm run dev:webFor a distributable build rather than a dev session, the scripts are platform-specific: build:win, build:mac, build:linux, plus build:mac:x64 and build:mac:arm64. Each runs electron-vite build first and then electron-builder with --publish never. There is also build:unpack, which builds and runs electron-builder --dir to produce an unpacked directory rather than an installer. The README does not mention any of these scripts, so treat them as repository facts rather than documented workflow.
npm run build:unpackWhere the documentation runs out
The README is a feature list with a two-line start block. It does not document configuration keys, environment variables, ports, or how the local service is started and stopped. There is a .env.development file at the top level of the repository, but the README does not explain what belongs in it. If you need to point the client at a different service instance, or change a port because something else already holds it, the README will not tell you how.
The README also does not document rollback, migration between versions, or what happens to local data when you upgrade. The release history shows a jump from v4.9.0 in August 2025 to v5.0.0 in December 2025 to v5.1.0 in March 2026, and a major version bump usually implies something changed in how data or state is handled. The README is silent on that. CHANGELOG.md exists in the repository, so the information may be there, but it is not in the README.
The legal framing is the other limitation worth stating plainly. The README says the software is for learning and exchange only, prohibits commercial use, and says the consequences of misuse are the user's responsibility. The repository is MIT licensed, which governs the code. Those two statements sit at different levels and the README does not reconcile them. If you plan to use this at a company, that is a question for your own counsel, not something this article can settle.
How it compares with a plain browser client or a server-first player
The obvious alternative is a self-hosted server-first player, where the library, the database and the playback logic live on a machine you control and any number of thin clients connect to it. That model gives you one library across devices and a clear place to look when something breaks. AlgerMusicPlayer inverts the emphasis: the Electron application is the product, and the local service exists to feed it. The README describes remote control playback, so there is some multi-device use, but the centre of gravity is the desktop window.
The second alternative is simply using a web player in a browser. That costs nothing to install and needs no build step. What it does not give you is a separate desktop lyrics window, global or in-app custom shortcuts, a mini mode, or status bar control, all of which the README lists. Those are the reasons to accept an Electron download and a local service process.
The third comparison is against the upstream components themselves. netease-cloud-music-api and @unblockneteasemusic/server are things you could run directly and then point any client at. AlgerMusicPlayer's contribution is the interface, the lyrics windows, the EQ, and the packaging across desktop platforms. If you only need an API, you do not need this application.
Maintenance, release cadence and what the licence does not cover
The repository is not archived, and the last push was on 2026-09-19. Releases are infrequent rather than continuous: v4.9.0 on 2025-08-07, v5.0.0 on 2025-12-20, and v5.1.0 on 2026-03-22. The gap between v5.0.0 and v5.1.0 is roughly three months, and the gap before that was about four. That is a project that ships when it ships, not one with a fixed cadence.
Upgrade cost is hard to estimate from the README because it documents neither migration nor rollback. The practical implication is that you should treat a major version bump as something to read CHANGELOG.md for before applying. The repository has husky hooks, commitlint, eslint, prettier and a bun-based i18n check script, so contributions are gated by tooling, but that says nothing about how upgrades affect an installed copy.
The licence is MIT, which permits commercial use of the code. The README separately says the software is for learning and exchange and forbids commercial use. Those statements conflict on their face, and I am not going to resolve it here because that is a legal question. Note also that the README's disclaimer about supporting official services is a request about the content you play, which is a different matter from the code licence.
Editorial conclusion
Adopt AlgerMusicPlayer if you want a desktop music client whose data path stays on your own machine and you are willing to read the Yuque install document and DEV.md before building it. Skip it if you need a documented public API, a stable desktop release channel, or an iOS build, since the README lists iOS as a future item with no date. Before you commit, verify three things: that npm install completes on your platform, that the local service starts and the client can reach it, and that the resource-resolution behaviour matches what you expect from a third-party client.
Frequently asked questions
Which platforms does AlgerMusicPlayer support?
The README claims full platform adaptation across Desktop, Web, Mobile Web, Android and iOS. It marks Android as testing and iOS as a later item, so only the desktop, web and mobile web targets are presented as working.
How do I install AlgerMusicPlayer from source?
The README gives two commands: npm install followed by npm run dev. It points to an external Yuque document for installation details and common problems rather than documenting them in the repository.
Does AlgerMusicPlayer need an online API?
The README lists a localised service with no dependency on an online API, based on netease-cloud-music-api. Music resource resolution is listed separately as being based on @unblockneteasemusic/server.
Is AlgerMusicPlayer free to use commercially?
The repository is MIT licensed, but the README also states the software is for learning and exchange and forbids commercial use. Those two statements conflict, so the README alone does not settle the question.
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/algerkong-algermusicplayer)
Community notes