Skills gequhai-music
install
source · Clone the upstream repo
git clone https://github.com/openclaw/skills
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/openclaw/skills "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/anlinxi/gequhai-music" ~/.claude/skills/openclaw-skills-gequhai-music && rm -rf "$T"
OpenClaw · Install into ~/.openclaw/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/openclaw/skills "$T" && mkdir -p ~/.openclaw/skills && cp -r "$T/skills/anlinxi/gequhai-music" ~/.openclaw/skills/openclaw-skills-gequhai-music && rm -rf "$T"
manifest:
skills/anlinxi/gequhai-music/SKILL.mdsource content
歌曲海 (Gequhai) 音乐搜索与下载技能
搜索歌曲海音乐,支持下载到群晖NAS。
功能
- 搜索歌曲 - 按歌名/歌手搜索
- 获取下载链接 - 优先无损/高品质,其次是标准品质
- 排行榜 - 热门榜、新歌榜、飙升榜、抖音榜等
- 下载到群晖 - 一键添加到群晖DownloadStation
网站信息
- 网站:https://www.gequhai.com/
- 特点:免费音乐搜索下载,支持高品质/无损音乐
下载链接类型
| 类型 | 说明 | 可下载到群晖 |
|---|---|---|
| 标准品质(API) | 通过API获取的直接mp3链接 | ✅ 可以 |
| 高品质(直接链接) | 页面上的直接mp3/flac链接 | ✅ 可以 |
| 高品质(网盘链接) | 夸克网盘等分享链接 | ❌ 需手动下载 |
重要: API请求需要带上
X-Custom-Header: SecretKey 才能成功!
使用方法
1. 搜索歌曲
python scripts/gequhai_crawler.py --search "青花瓷"
2. 获取歌曲详情和下载链接
python scripts/gequhai_crawler.py --detail 553
3. 搜索并下载
python scripts/gequhai_crawler.py --download "周杰伦 晴天"
4. Python脚本调用
from scripts.gequhai_crawler import search_songs, get_download_url, download_song # 搜索歌曲 songs = search_songs("青花瓷") for s in songs[:5]: print(f"[{s['id']}] {s['title']} - {s['artist']}") # 获取下载链接 detail = get_download_url("553") print(f"标题: {detail['title']}") print(f"下载链接: {detail.get('url', detail.get('netdisk_url'))}") print(f"品质: {detail.get('quality')}") # 下载到群晖 result = download_song(detail, destination="download/音乐下载") print(f"下载结果: {result}")
群晖下载配置
| 配置项 | 值 |
|---|---|
| 主机 | |
| 用户 | |
| 默认下载目录 | |
交互流程示例
用户问:帮我下载周杰伦的青花瓷
- 搜索"青花瓷"
- 获取第一首歌的下载链接
- 如果是直接链接 → 添加到群晖下载
- 如果是网盘链接 → 告知用户网盘地址
用户问:最近有什么好听的歌?
- 获取热门歌曲列表
- 展示给用户选择
- 用户选择后下载
注意事项
- API验证:必须带上
header,否则API返回403X-Custom-Header: SecretKey - Session:需要使用Session保持cookie,先访问播放页再请求API
- 下载链接类型:高品质版本通常是网盘链接,标准品质是直接mp3链接
- 请求频率:避免频繁请求,以免被封IP
关键代码
# API请求必须带上这个header api_headers = { "X-Requested-With": "XMLHttpRequest", "X-Custom-Header": "SecretKey", # 关键! } # 使用Session保持cookie session = requests.Session() # 先访问播放页面获取cookie session.get(f"{BASE_URL}/play/{song_id}") # 再请求API session.post(f"{BASE_URL}/api/music", headers=api_headers, data={...})
错误处理
| 错误 | 原因 | 解决方案 |
|---|---|---|
| 未找到歌曲 | 关键词不匹配 | 尝试其他关键词 |
| 没有下载链接 | 歌曲暂无资源 | 换一首歌 |
| 网盘链接 | 高品质版本在网盘 | 手动下载或使用标准品质 |