{"adoption": {"forks": 314, "observed_at": "2026-08-28T04:08:16.052327+00:00", "stars": 3744}, "canonical_url": "https://ross.abutalabs.com/products/foamzou-melody", "card": {"archived": false, "artifact_type": "application", "description": "我的音乐精灵", "domain": ["media", "audio", "self-hosted", "web-development"], "enriched": true, "function": ["search-engine", "web-scraping", "audio-processing", "self-hosted", "web-framework"], "health_score": 72, "homepage": null, "language": "JavaScript", "license": "Apache-2.0", "license_family": "permissive", "maturity": "active", "member_repos": ["foamzou/melody"], "name": "foamzou/melody", "platform": ["self-hosted", "cross-platform"], "pushed_at": "2026-02-19T03:15:29+00:00", "repo": "foamzou/melody", "stars": 3744, "tags": ["music-cloud-disk", "netease-cloud-music", "song-search", "media-download", "pwa", "music-management", "automation", "docker", "web-server", "nodejs"], "topics": ["music"], "urls": [], "use_cases": ["upload songs to netease cloud music disk", "search songs across multiple music platforms", "sync netease playlist to local storage", "unlock greyed-out songs that can't play", "download audio from bilibili or douyin links", "schedule automatic playlist uploads", "self-host a personal music management tool"], "what_it_is": "Melody is a self-hosted web application ('your music genie') that helps users search for songs across music and video platforms (NetEase, QQ Music, Kugou, Migu, Bilibili, Douyin) and upload them to their music platform cloud disk. It supports scheduled playlist syncing, one-click downloads, and 'unlocking' greyed-out songs by finding alternative sources.", "when_to_avoid": ["you need a fully legal, licensed music streaming service", "you want a commercial or public-facing deployment (the project forbids commercial use and offers no online demo)", "you don't use Chinese music platforms like NetEase or QQ Music", "you're unwilling to accept the legal responsibility for platform terms-of-service compliance"], "when_to_choose": ["you want to back up or migrate songs to a music platform cloud disk", "you need to search and download music from multiple Chinese music/video sites in one place", "you want scheduled syncing of playlists to local or cloud storage", "you prefer a self-hosted tool with Docker deployment and PWA mobile support"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/foamzou-melody", "repo": "foamzou/melody", "role": "main", "score": 65}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:08:16.052327+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-29T18:29:04.630257+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "6039f73881bb785b2f061134b630cc8db986ec878875dccb4f5fc790e283064e", "fetched_at": "2026-08-28T04:08:16.052327+00:00", "kind": "readme", "missing": false, "url": "https://github.com/foamzou/melody"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:08:16.052327+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-29T18:29:04.630257+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "6039f73881bb785b2f061134b630cc8db986ec878875dccb4f5fc790e283064e", "fetched_at": "2026-08-28T04:08:16.052327+00:00", "kind": "readme", "missing": false, "url": "https://github.com/foamzou/melody"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-29T18:29:04.630257+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "6039f73881bb785b2f061134b630cc8db986ec878875dccb4f5fc790e283064e", "fetched_at": "2026-08-28T04:08:16.052327+00:00", "kind": "readme", "missing": false, "url": "https://github.com/foamzou/melody"}], "taxonomy_version": 1}, "health_score": {"inputs": ["days_since_push", "days_since_release", "archived"], "kind": "computed", "method": "health_v1"}, "homepage": {"kind": "observed", "observed_at": "2026-08-28T04:08:16.052327+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:08:16.052327+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:08:16.052327+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-29T18:29:04.630257+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "6039f73881bb785b2f061134b630cc8db986ec878875dccb4f5fc790e283064e", "fetched_at": "2026-08-28T04:08:16.052327+00:00", "kind": "readme", "missing": false, "url": "https://github.com/foamzou/melody"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:08:16.052327+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:08:16.052327+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-29T18:29:04.630257+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "6039f73881bb785b2f061134b630cc8db986ec878875dccb4f5fc790e283064e", "fetched_at": "2026-08-28T04:08:16.052327+00:00", "kind": "readme", "missing": false, "url": "https://github.com/foamzou/melody"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:08:16.052327+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:08:16.052327+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:08:16.052327+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-29T18:29:04.630257+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "6039f73881bb785b2f061134b630cc8db986ec878875dccb4f5fc790e283064e", "fetched_at": "2026-08-28T04:08:16.052327+00:00", "kind": "readme", "missing": false, "url": "https://github.com/foamzou/melody"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:08:16.052327+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:08:16.052327+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-29T18:29:04.630257+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "6039f73881bb785b2f061134b630cc8db986ec878875dccb4f5fc790e283064e", "fetched_at": "2026-08-28T04:08:16.052327+00:00", "kind": "readme", "missing": false, "url": "https://github.com/foamzou/melody"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-29T18:29:04.630257+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "6039f73881bb785b2f061134b630cc8db986ec878875dccb4f5fc790e283064e", "fetched_at": "2026-08-28T04:08:16.052327+00:00", "kind": "readme", "missing": false, "url": "https://github.com/foamzou/melody"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-29T18:29:04.630257+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "6039f73881bb785b2f061134b630cc8db986ec878875dccb4f5fc790e283064e", "fetched_at": "2026-08-28T04:08:16.052327+00:00", "kind": "readme", "missing": false, "url": "https://github.com/foamzou/melody"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-29T18:29:04.630257+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "6039f73881bb785b2f061134b630cc8db986ec878875dccb4f5fc790e283064e", "fetched_at": "2026-08-28T04:08:16.052327+00:00", "kind": "readme", "missing": false, "url": "https://github.com/foamzou/melody"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 68, "longevity": 100, "rhythm": 40}, "computed_at": "2026-09-02T17:46:02.011165+00:00", "flags": [], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 1732, "days_push": 195, "days_rel": 589, "gap_med": 4, "n_releases_24m": 2}, "score": 65, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}