Music Recommender
/install music-recommender
Music Recommender
Analyze a user's NetEase Cloud Music playlist, profile their taste, and recommend songs with clickable Bilibili links (free, no membership required).
Workflow
Step 1 — Parse Playlist
Extract playlist ID from user's link. Supported formats:
https://music.163.com/playlist?id=XXXXXhttps://music.163.com/#/playlist?id=XXXXX
Run the fetch script:
python3 {baseDir}/scripts/fetch_playlist.py \x3Cplaylist_id> > /tmp/playlist_\x3Cid>.json
Output: JSON array of {name, artists, album} objects.
Step 2 — Analyze Taste
Read the JSON output. Profile the user's taste:
- Top artists — count occurrences, identify top 10-20
- Language mix — estimate Chinese/English/Japanese/Korean ratio from song titles
- Genre tags — infer from artists and song names (e.g. 气声唱法, 90s怀旧, indie folk, dream pop)
- Era — identify decade distribution
- Mood — upbeat/melancholic/dreamy/energetic based on song names and artists
Summarize the taste profile in 3-5 bullet points.
Step 3 — Recommend
Based on the taste profile, recommend 10 songs that:
- Match the user's preferences (similar artists, genres, mood)
- Are NOT already in their playlist
- Are diverse — mix of Chinese and foreign, different sub-genres
- Include both well-known and lesser-known picks
For each recommended song, search Bilibili for a playable link:
python3 {baseDir}/scripts/search_bilibili.py "\x3Cartist> \x3Csong> 官方MV"
Output: BV_ID|TITLE|URL
Step 4 — Format Output
Present the recommendations as a plain text list (NOT HTML/markdown links) for Telegram compatibility:
🎵 Vulpis 今日推荐歌单
**华语女声:**
1. 陈粒 — 奇妙能力歌
https://www.bilibili.com/video/BVxxxxx
2. ...
**欧美梦幻:**
6. ...
Rules for Telegram formatting:
- Use bold for section headers, NOT markdown links
[text](url) - Put URL on its own line after the song name
- Group by genre/language (华语/欧美/日语 etc.)
- Keep descriptions short (5-10 words)
Step 5 — Record & De-duplicate
IMPORTANT: Only recommend ONCE per day. Before recommending:
-
Check if today's recommendation file exists:
~/.openclaw/workspace/music-history/YYYY-MM-DD.jsonIf it exists, reply with today's list and say "今天已经推荐过了". Do NOT generate a new one.
-
If not, load the full history to avoid repeats:
python3 {baseDir}/scripts/history.py showThis outputs all previously recommended songs across all days.
-
When generating recommendations, exclude any song that appears in the history.
-
After generating, save today's recommendations:
python3 {baseDir}/scripts/history.py savePipe in JSON array:
[{"name":"...","artists":"...","bvid":"...","url":"..."}]
History Storage
~/.openclaw/workspace/music-history/
├── 2026-03-29.json
├── 2026-03-30.json
└── ...
Each file: JSON array of recommended songs for that day.
Step 6 — (Optional) Extra Save
If user wants to save elsewhere, offer to:
- Write to Notion (Content Calendar or a Music DB)
- Generate an HTML page in the workspace
- Create a text file in the workspace
Notes
- NetEase API endpoint:
https://music.163.com/api/v6/playlist/detail?id=\x3CID>&n=1000 - Required headers:
User-Agent: Mozilla/5.0,Referer: https://music.163.com/,Cookie: os=pc; - Artist field is
ar(notartists) in NetEase API response - Bilibili search API:
https://api.bilibili.com/x/web-interface/search/all/v2?keyword=\x3Cquery> - Required headers for Bilibili:
User-Agent: Mozilla/5.0,Referer: https://www.bilibili.com/ - Default recommendation count: 10 songs
- Always use Bilibili links (free, no membership) instead of NetEase links
- 确保已安装 OpenClaw(本地或 Docker 部署)
- 在对话框中输入安装命令:
/install music-recommender - 安装完成后,直接呼叫该 Skill 的名称或使用
/music-recommender触发 - 根据 Skill 的参数说明提供必要输入,即可获得结构化输出
Music Recommender 是什么?
Analyze NetEase Cloud Music (网易云音乐) playlist and recommend songs matching their taste. Use when user asks for music recommendations, wants a daily playlist,... 它是一个面向 Claude Code / OpenClaw 的 AI Agent Skill 插件,目前累计下载 111 次。
如何安装 Music Recommender?
在 OpenClaw 或 Claude Code 对话框中运行命令「/install music-recommender」即可一键安装,无需额外配置。
Music Recommender 是免费的吗?
是的,Music Recommender 完全免费,采用 MIT-0 许可证,可自由下载、安装和使用。
Music Recommender 支持哪些平台?
Music Recommender 跨平台运行,可在任意部署了 OpenClaw / Claude Code 的环境中使用(cross-platform)。
谁开发了 Music Recommender?
由 geekfoxcharlie(@geekfoxcharlie)开发并维护,当前版本 v1.0.0。