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.md
source content

歌曲海 (Gequhai) 音乐搜索与下载技能

搜索歌曲海音乐,支持下载到群晖NAS。

功能

  1. 搜索歌曲 - 按歌名/歌手搜索
  2. 获取下载链接 - 优先无损/高品质,其次是标准品质
  3. 排行榜 - 热门榜、新歌榜、飙升榜、抖音榜等
  4. 下载到群晖 - 一键添加到群晖DownloadStation

网站信息

下载链接类型

类型说明可下载到群晖
标准品质(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}")

群晖下载配置

配置项
主机
192.168.123.223:5000
用户
xiaoai
默认下载目录
download/音乐下载

交互流程示例

用户问:帮我下载周杰伦的青花瓷

  1. 搜索"青花瓷"
  2. 获取第一首歌的下载链接
  3. 如果是直接链接 → 添加到群晖下载
  4. 如果是网盘链接 → 告知用户网盘地址

用户问:最近有什么好听的歌?

  1. 获取热门歌曲列表
  2. 展示给用户选择
  3. 用户选择后下载

注意事项

  1. API验证:必须带上
    X-Custom-Header: SecretKey
    header,否则API返回403
  2. Session:需要使用Session保持cookie,先访问播放页再请求API
  3. 下载链接类型:高品质版本通常是网盘链接,标准品质是直接mp3链接
  4. 请求频率:避免频繁请求,以免被封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={...})

错误处理

错误原因解决方案
未找到歌曲关键词不匹配尝试其他关键词
没有下载链接歌曲暂无资源换一首歌
网盘链接高品质版本在网盘手动下载或使用标准品质