# qwerwhr/musicfree-plugins architecture

> Architecture diagram of the GitHub repository qwerwhr/musicfree-plugins, generated by GitDiagram from its file tree, README and a sample of source files (last updated 2026-09-28). It is an AI-made overview: check details against the source.

- Interactive diagram: https://gitdiagram.com/qwerwhr/musicfree-plugins
- Repository: https://github.com/qwerwhr/musicfree-plugins

## Overview

This repository is a collection of MusicFree-compatible source plugins, not a standalone music player. The principal workflow is that a MusicFree Desktop user selects a plugin, which queries a music service and returns music data or playback links in the client’s expected format. The file names also indicate separate lyrics, radio, podcast, and video capabilities. The README documents subscription feeds, but no feed manifest appears in the supplied tree. Several sampled files are obfuscated or partial, so links show documented or filename-supported integrations rather than detailed internal call sequences.

Main entry points: [`QQ音乐 （非VIP）.js`](https://github.com/qwerwhr/musicfree-plugins/blob/main/QQ%E9%9F%B3%E4%B9%90%20%EF%BC%88%E9%9D%9EVIP%EF%BC%89.js) (QQ Music plugins), [`网易_竹玥.js`](https://github.com/qwerwhr/musicfree-plugins/blob/main/%E7%BD%91%E6%98%93_%E7%AB%B9%E7%8E%A5.js) (NetEase plugins), [`酷我.js`](https://github.com/qwerwhr/musicfree-plugins/blob/main/%E9%85%B7%E6%88%91.js) (Kuwo plugins), [`酷狗简云.js`](https://github.com/qwerwhr/musicfree-plugins/blob/main/%E9%85%B7%E7%8B%97%E7%AE%80%E4%BA%91.js) (Kugou plugin)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_music["Music sources"]
  node_qq["QQ Music plugins<br/>[QQ音乐 （非VIP）.js]"]
  node_netease["NetEase plugins<br/>[网易_竹玥.js]"]
  node_kuwo["Kuwo plugins<br/>[酷我.js]"]
  node_kugou["Kugou plugin<br/>[酷狗简云.js]"]
  node_migu["Migu plugin<br/>[元力MG.js]"]
  node_musicfree["Other music plugins<br/>[云云音乐.js]"]
end

subgraph group_audio["Audio discovery"]
  node_search["Music search<br/>[元力MG.js]"]
  node_radio["Radio and podcasts<br/>[网易云电台.js]"]
end

subgraph group_lyrics["Lyrics and storage"]
  node_lyrics["Lyric plugins<br/>[QQ歌词.js]"]
  node_webdav["WebDAV plugins<br/>[WebDAV.js]"]
end

subgraph group_media["Media sources"]
  node_videoplugins["Video plugins<br/>[bilibili.js]"]
  node_youtube["YouTube plugin<br/>[Youtube.js]"]
end

node_user(("MusicFree user"))
node_client["MusicFree Desktop"]
node_musicservices{{"Music services"}}
node_audiocatalogs{{"Audio catalogs"}}
node_lyricservice{{"Lyric services"}}
node_webdavservice{{"WebDAV server"}}
node_videoservices{{"Video services"}}

node_user -->|"uses"| node_client
node_client -->|"selects plugin"| node_qq
node_client -->|"selects plugin"| node_netease
node_client -->|"selects plugin"| node_kuwo
node_client -->|"selects plugin"| node_kugou
node_client -->|"selects plugin"| node_migu
node_client -->|"selects plugin"| node_musicfree
node_client -->|"requests search"| node_search
node_client -->|"requests audio"| node_radio
node_client -->|"requests lyrics"| node_lyrics
node_client -->|"requests storage"| node_webdav
node_client -->|"requests media"| node_videoplugins
node_client -->|"requests media"| node_youtube
node_qq -->|"queries"| node_musicservices
node_netease -->|"queries"| node_musicservices
node_kuwo -->|"queries"| node_musicservices
node_kugou -->|"queries"| node_musicservices
node_migu -->|"queries"| node_musicservices
node_musicfree -->|"queries"| node_musicservices
node_search -->|"searches"| node_audiocatalogs
node_radio -->|"queries"| node_audiocatalogs
node_lyrics -->|"queries"| node_lyricservice
node_webdav -->|"connects"| node_webdavservice
node_videoplugins -->|"queries"| node_videoservices
node_youtube -->|"queries"| node_videoservices

click node_qq "https://github.com/qwerwhr/musicfree-plugins/blob/main/QQ%E9%9F%B3%E4%B9%90%20%EF%BC%88%E9%9D%9EVIP%EF%BC%89.js"
click node_netease "https://github.com/qwerwhr/musicfree-plugins/blob/main/%E7%BD%91%E6%98%93_%E7%AB%B9%E7%8E%A5.js"
click node_kuwo "https://github.com/qwerwhr/musicfree-plugins/blob/main/%E9%85%B7%E6%88%91.js"
click node_kugou "https://github.com/qwerwhr/musicfree-plugins/blob/main/%E9%85%B7%E7%8B%97%E7%AE%80%E4%BA%91.js"
click node_migu "https://github.com/qwerwhr/musicfree-plugins/blob/main/%E5%85%83%E5%8A%9BMG.js"
click node_musicfree "https://github.com/qwerwhr/musicfree-plugins/blob/main/%E4%BA%91%E4%BA%91%E9%9F%B3%E4%B9%90.js"
click node_search "https://github.com/qwerwhr/musicfree-plugins/blob/main/%E5%85%83%E5%8A%9BMG.js"
click node_radio "https://github.com/qwerwhr/musicfree-plugins/blob/main/%E7%BD%91%E6%98%93%E4%BA%91%E7%94%B5%E5%8F%B0.js"
click node_lyrics "https://github.com/qwerwhr/musicfree-plugins/blob/main/QQ%E6%AD%8C%E8%AF%8D.js"
click node_webdav "https://github.com/qwerwhr/musicfree-plugins/blob/main/WebDAV.js"
click node_videoplugins "https://github.com/qwerwhr/musicfree-plugins/blob/main/bilibili.js"
click node_youtube "https://github.com/qwerwhr/musicfree-plugins/blob/main/Youtube.js"

classDef toneNeutral fill:#f8fafc,stroke:#334155,stroke-width:1.5px,color:#0f172a
classDef toneBlue fill:#dbeafe,stroke:#2563eb,stroke-width:1.5px,color:#172554
classDef toneAmber fill:#fef3c7,stroke:#d97706,stroke-width:1.5px,color:#78350f
classDef toneMint fill:#dcfce7,stroke:#16a34a,stroke-width:1.5px,color:#14532d
classDef toneRose fill:#ffe4e6,stroke:#e11d48,stroke-width:1.5px,color:#881337
classDef toneIndigo fill:#e0e7ff,stroke:#4f46e5,stroke-width:1.5px,color:#312e81
classDef toneTeal fill:#ccfbf1,stroke:#0f766e,stroke-width:1.5px,color:#134e4a
class node_qq,node_netease,node_kuwo,node_kugou,node_migu,node_musicfree,node_user toneBlue
class node_search,node_radio toneAmber
class node_lyrics,node_webdav,node_webdavservice toneMint
class node_videoplugins,node_youtube toneRose
class node_client,node_musicservices,node_audiocatalogs,node_lyricservice,node_videoservices toneIndigo
```

## Components

### Music sources

- [QQ Music plugins](https://github.com/qwerwhr/musicfree-plugins/blob/main/QQ%E9%9F%B3%E4%B9%90%20%EF%BC%88%E9%9D%9EVIP%EF%BC%89.js): `QQ音乐 （非VIP）.js`
- [NetEase plugins](https://github.com/qwerwhr/musicfree-plugins/blob/main/%E7%BD%91%E6%98%93_%E7%AB%B9%E7%8E%A5.js): `网易_竹玥.js`
- [Kuwo plugins](https://github.com/qwerwhr/musicfree-plugins/blob/main/%E9%85%B7%E6%88%91.js): `酷我.js`
- [Kugou plugin](https://github.com/qwerwhr/musicfree-plugins/blob/main/%E9%85%B7%E7%8B%97%E7%AE%80%E4%BA%91.js): `酷狗简云.js`
- [Migu plugin](https://github.com/qwerwhr/musicfree-plugins/blob/main/%E5%85%83%E5%8A%9BMG.js): `元力MG.js`
- [Other music plugins](https://github.com/qwerwhr/musicfree-plugins/blob/main/%E4%BA%91%E4%BA%91%E9%9F%B3%E4%B9%90.js): `云云音乐.js`

### Audio discovery

- [Music search](https://github.com/qwerwhr/musicfree-plugins/blob/main/%E5%85%83%E5%8A%9BMG.js): `元力MG.js`
- [Radio and podcasts](https://github.com/qwerwhr/musicfree-plugins/blob/main/%E7%BD%91%E6%98%93%E4%BA%91%E7%94%B5%E5%8F%B0.js): `网易云电台.js`

### Lyrics and storage

- [Lyric plugins](https://github.com/qwerwhr/musicfree-plugins/blob/main/QQ%E6%AD%8C%E8%AF%8D.js): `QQ歌词.js`
- [WebDAV plugins](https://github.com/qwerwhr/musicfree-plugins/blob/main/WebDAV.js): `WebDAV.js`

### Media sources

- [Video plugins](https://github.com/qwerwhr/musicfree-plugins/blob/main/bilibili.js): `bilibili.js`
- [YouTube plugin](https://github.com/qwerwhr/musicfree-plugins/blob/main/Youtube.js): `Youtube.js`

### Other components

- **MusicFree user**
- **MusicFree Desktop**
- **Music services**
- **Audio catalogs**
- **Lyric services**
- **WebDAV server**
- **Video services**

## Connections

- MusicFree user → MusicFree Desktop: uses
- MusicFree Desktop → QQ Music plugins: selects plugin
- MusicFree Desktop → NetEase plugins: selects plugin
- MusicFree Desktop → Kuwo plugins: selects plugin
- MusicFree Desktop → Kugou plugin: selects plugin
- MusicFree Desktop → Migu plugin: selects plugin
- MusicFree Desktop → Other music plugins: selects plugin
- MusicFree Desktop → Music search: requests search
- MusicFree Desktop → Radio and podcasts: requests audio
- MusicFree Desktop → Lyric plugins: requests lyrics
- MusicFree Desktop → WebDAV plugins: requests storage
- MusicFree Desktop → Video plugins: requests media
- MusicFree Desktop → YouTube plugin: requests media
- QQ Music plugins → Music services: queries
- NetEase plugins → Music services: queries
- Kuwo plugins → Music services: queries
- Kugou plugin → Music services: queries
- Migu plugin → Music services: queries
- Other music plugins → Music services: queries
- Music search → Audio catalogs: searches
- Radio and podcasts → Audio catalogs: queries
- Lyric plugins → Lyric services: queries
- WebDAV plugins → WebDAV server: connects
- Video plugins → Video services: queries
- YouTube plugin → Video services: queries
