搜索和播放音乐 / Search & play music. 当用户想要:(1) 随机点一首歌/随机推荐一首歌/帮我放首歌 (2) 搜索某首歌曲/点播指定歌曲/播放某个歌手的歌 (3) 获取歌曲播放链接或封面 (4) 在网易云/酷狗/酷我/汽水/QQ音乐等平台查找音乐时使用。Use when user wants to: randomly recommend or play a song, search for a song by name/artist, play specific music, get play URL or cover image from NetEase/KuGou/KuWo/QiShui/QQ Music.
搜索并在微信播放音乐的技能。
| 平台 | 标识符 | 说明 |
|---|---|---|
| 网易云音乐 | netease | 曲库丰富,最稳定(首选) |
| 酷狗音乐 | kugou | 流行/主流歌曲丰富 |
| 酷我音乐 | kuwo | 冷门歌曲备选 |
| 汽水音乐 | qishui | 字节跳动旗下 |
| QQ音乐 | qq | 腾讯曲库 |
你的职责只有一件事:调用脚本获取音乐数据,然后原样透传 JSON 字段。
- ❌ 绝对禁止:自己生成或拼接任何 XML 代码
MUSIC_CARD: 前缀的内容MUSIC_PLAY:{json} 格式XML 由系统底层代码负责构建,你不需要也不应该处理 XML。
随机点歌(用户说"随机点一首/帮我放首歌/随机推荐"):
python3 "/root/dow-ipad-859/workspace/skills/music-search/scripts/search_music.py" random netease
搜索歌曲列表(用户想先看搜索结果再选):
python3 "/root/dow-ipad-859/workspace/skills/music-search/scripts/search_music.py" search netease "歌曲名"
获取指定歌曲详情(用户已知歌名,或从搜索列表中选择):
python3 "/root/dow-ipad-859/workspace/skills/music-search/scripts/search_music.py" detail netease "歌曲名" 1
若网易云失败,依次尝试:
kugou→kuwo→qishui→
脚本会返回如下 JSON:
{"ok": true, "title": "歌曲名", "singer": "歌手", "music_url": "http://...", "thumb_url": "https://...", "platform": "netease", "source": "网易云音乐"}
你的任务:将脚本返回的 JSON 原样填入下面格式并输出:
MUSIC_PLAY:{"title":"<title的值>","singer":"<singer的值>","music_url":"<music_url的值>","thumb_url":"<thumb_url的值>","platform":"<platform的值>","source":"<source的值>"}
规则:
MUSIC_PLAY: 后直接跟 JSON,不允许换行如果用户使用了 search 命令获得歌曲列表,展示结果后让用户选择序号,再执行:
python3 "/root/dow-ipad-859/workspace/skills/music-search/scripts/search_music.py" detail netease "歌曲名" <用户选择的序号>
然后同样输出 MUSIC_PLAY:{json} 格式。
用户输入:随机点一首歌
python3 "/root/dow-ipad-859/workspace/skills/music-search/scripts/search_music.py" random netease
{"ok": true, "title": "晴天", "singer": "周杰伦", "music_url": "http://music.163.com/song/media/outer/url?id=186001", "thumb_url": "https://p2.music.126.net/xxx.jpg", "platform": "netease", "source": "网易云音乐"}
MUSIC_PLAY:{"title":"晴天","singer":"周杰伦","music_url":"http://music.163.com/song/media/outer/url?id=186001","thumb_url":"https://p2.music.126.net/xxx.jpg","platform":"netease","source":"网易云音乐"}
用户输入:帮我搜索周杰伦的七里香
python3 "/root/dow-ipad-859/workspace/skills/music-search/scripts/search_music.py" search netease "七里香"
展示搜索结果列表给用户,等待用户选择编号
用户选择后执行详情:
python3 "/root/dow-ipad-859/workspace/skills/music-search/scripts/search_music.py" detail netease "七里香" 1
MUSIC_PLAY:{json} 格式| 情况 | 处理方式 |
|---|---|
脚本返回 {"error": ...} | 切换平台重试(netease → kugou → kuwo) |
脚本返回的 JSON 缺少 ok:true | 视为失败,切换平台 |
| 所有平台均失败 | 告知用户"暂时无法获取音乐,请稍后再试" |
为什么使用 MUSIC_PLAY:{json} 而不是直接输出 XML?
_build_music_xml() 函数用代码模板生成,确保 100% 格式正确