Skip to content

Add NetEase Cloud Music API add-on#16

Open
xiasi0 wants to merge 2 commits intomusic-assistant:mainfrom
xiasi0:add-netease-cloud-music-api
Open

Add NetEase Cloud Music API add-on#16
xiasi0 wants to merge 2 commits intomusic-assistant:mainfrom
xiasi0:add-netease-cloud-music-api

Conversation

@xiasi0
Copy link
Copy Markdown

@xiasi0 xiasi0 commented Apr 11, 2026

Summary

Add a Home Assistant add-on that runs NeteaseCloudMusicApiEnhanced as a local HTTP service so Music Assistant can integrate NetEase Cloud Music.

Why this add-on is needed

The NetEase Cloud Music provider in Music Assistant relies on a local API service for authentication and playback metadata. Shipping this as a Supervisor add-on makes setup consistent and avoids requiring users to run a separate Node service manually.

Risks / considerations

  • This add-on wraps an unofficial API service (NeteaseCloudMusicApiEnhanced). The upstream API can change or become unavailable without notice.
  • Users must have valid NetEase Cloud Music accounts/subscriptions for full-quality playback. No unlocking or bypass of restricted content is performed.
  • The add-on exposes a local HTTP API intended for LAN use only.

Related

Copy link
Copy Markdown

@chatgpt-codex-connector chatgpt-codex-connector bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: f7a38f6d9b

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread netease_cloud_music_api/rootfs/run.sh Outdated
Comment thread netease_cloud_music_api/Dockerfile
Comment thread netease_cloud_music_api/Dockerfile
MarvinSchenkel pushed a commit to music-assistant/server that referenced this pull request Apr 20, 2026
## Summary
- Add a new NetEase Cloud Music provider for Music Assistant.
- Implement QR-code login flow (scan with NetEase Cloud Music app) and
provider setup UX.
- Implement core capabilities aligned with existing streaming providers:
library sync (artists/albums/tracks/playlists), search, playback,
recommendations, lyrics, and quality selection/fallback.
- Add dynamic recommendation entries for Private FM and Heart Mode, with
request/caching safeguards to avoid excessive refresh traffic.

## External Service Requirement
- This provider depends on a NeteaseCloudMusicApi-compatible backend
(`api_base_url`, default `http://127.0.0.1:3000`).
- The companion Home Assistant add-on is optional and only intended for
plug-and-play setup. It is not a hard project requirement.
- If the companion add-on is unavailable or blocked in some
environments, users can still run any compatible backend service
manually and keep using this provider.

## Compliance and Access Policy
- This provider integration itself does not implement unlock, bypass, or
crack logic for restricted content.
- Playback follows account permissions returned by the upstream API
service.
- For non-entitled content, behavior is constrained by upstream response
(preview/fallback), without circumvention.
- We are aware that upstream compatible API documentation mentions
capabilities related to forced requests for restricted content; this
provider does not use that path, and we have not implemented or tested
such behavior in this integration.

## Audio Quality Notes
- Quality is requested via a level ladder with graceful fallback based
on account and song entitlement.
- In testing, high-tier Master 192k can be obtained for eligible
advanced subscribers.
- Standard Hi-Res entitlement often resolves below expected 192k in
current upstream behavior; this path still needs further investigation.
- NetEase Hi-Res catalog spans multiple tiers (for example, ~48k to 192k
depending on track/entitlement), but this API path often does not return
the expected highest Hi-Res tier for regular subscriptions in current
testing.

## Related
- Music Assistant add-on PR (optional convenience deployment):
music-assistant/home-assistant-addon#16
- Music Assistant docs PR:
music-assistant/music-assistant.io#584

## Testing
- Local venv checks passed for provider scope (ruff, mypy, compile).
- Existing related provider tests passed (QQ Music and DLNA test
targets).
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant