@kg-ai/kugou-skill 0.0.19 → 0.0.21
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +10 -8
- package/SKILL.md +92 -518
- package/bin/darwin-arm64/kugou-cli +0 -0
- package/bin/darwin-x64/kugou-cli +0 -0
- package/bin/linux-arm64/kugou-cli +0 -0
- package/bin/linux-x64/kugou-cli +0 -0
- package/bin/win32-x64/kugou-cli.exe +0 -0
- package/package.json +1 -1
- package/scripts/install.js +21 -1
package/README.md
CHANGED
|
@@ -14,27 +14,28 @@ npm install -g @kg-ai/kugou-skill
|
|
|
14
14
|
|
|
15
15
|
## 前置条件
|
|
16
16
|
|
|
17
|
-
|
|
17
|
+
使用前需要扫码登录(两步流程):
|
|
18
18
|
|
|
19
19
|
```bash
|
|
20
|
+
# Step 1: 获取二维码图片
|
|
20
21
|
kugou-cli auth login
|
|
22
|
+
|
|
23
|
+
# Step 2: 轮询等待用户扫码确认(使用 Step 1 返回的 qrcode)
|
|
24
|
+
kugou-cli auth check -q <qrcode>
|
|
21
25
|
```
|
|
22
26
|
|
|
23
|
-
|
|
27
|
+
> 必须将 Step 1 输出中 `qrcode_img_path` 对应的图片发送给用户扫码。token 会自动持久化存储。
|
|
24
28
|
|
|
25
29
|
## 命令
|
|
26
30
|
|
|
27
31
|
### 认证
|
|
28
32
|
|
|
29
33
|
```bash
|
|
30
|
-
#
|
|
34
|
+
# 获取二维码图片
|
|
31
35
|
kugou-cli auth login
|
|
32
36
|
|
|
33
|
-
#
|
|
34
|
-
kugou-cli auth
|
|
35
|
-
|
|
36
|
-
# 输出 base64 编码的二维码图片
|
|
37
|
-
kugou-cli auth login --output base64
|
|
37
|
+
# 轮询等待扫码确认
|
|
38
|
+
kugou-cli auth check -q <qrcode>
|
|
38
39
|
|
|
39
40
|
# 查看登录状态
|
|
40
41
|
kugou-cli auth status
|
|
@@ -86,6 +87,7 @@ kugou-cli install --all
|
|
|
86
87
|
|
|
87
88
|
# 安装到指定平台
|
|
88
89
|
kugou-cli install --claude
|
|
90
|
+
kugou-cli install --mavis
|
|
89
91
|
kugou-cli install --hermes --openclaw --codex
|
|
90
92
|
```
|
|
91
93
|
|
package/SKILL.md
CHANGED
|
@@ -1,518 +1,92 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: kugou-skill
|
|
3
|
-
description: |
|
|
4
|
-
酷狗,酷狗音乐,酷狗skill,酷狗音乐skill,酷狗音乐助手
|
|
5
|
-
提供歌曲搜索、每日推荐、相似推荐、收藏管理、听歌统计、酷狗榜单等功能。
|
|
6
|
-
|
|
7
|
-
**触发场景**(满足任一即使用本技能):
|
|
8
|
-
- 用户要求推荐歌曲、听歌建议
|
|
9
|
-
- 用户要求搜索歌曲、查找歌手作品
|
|
10
|
-
- 用户要求查看音乐榜单(飙升榜、TOP500、抖音热歌等)
|
|
11
|
-
- 用户要求查看收藏、最近播放、听歌统计
|
|
12
|
-
- 用户提到"酷狗"、"kugou"、"每日推荐"、"相似歌曲"
|
|
13
|
-
|
|
14
|
-
**与其他音乐技能的区别**:酷狗音乐以推荐算法见长,榜单数据实时更新,适合获取热门歌曲和个性化推荐。
|
|
15
|
-
|
|
16
|
-
安装方式:npm install -g @kg-ai/kugou-skill
|
|
17
|
-
---
|
|
18
|
-
|
|
19
|
-
# kugou-skill
|
|
20
|
-
|
|
21
|
-
## AI 使用工作流(优先阅读)
|
|
22
|
-
|
|
23
|
-
使用本工具时的标准流程:
|
|
24
|
-
|
|
25
|
-
```
|
|
26
|
-
1. 检查安装 → npm install -g @kg-ai/kugou-skill
|
|
27
|
-
2. 检查登录 → kugou-cli auth status
|
|
28
|
-
3. 未登录 →
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
2.
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
| `kugou-cli auth status` | 查看登录状态 | 否 |
|
|
94
|
-
| `kugou-cli auth logout` | 登出 | 否 |
|
|
95
|
-
|
|
96
|
-
### 音乐命令 (music)
|
|
97
|
-
|
|
98
|
-
| 命令 | 说明 | 需要登录 |
|
|
99
|
-
|------|------|---------|
|
|
100
|
-
| `kugou-cli music search <keyword>` | 搜索歌曲 | 🔐 |
|
|
101
|
-
| `kugou-cli music recommend daily` | 每日推荐 | 🔐 |
|
|
102
|
-
| `kugou-cli music recommend similar -s <song>` | 相似歌曲推荐 | 🔐 |
|
|
103
|
-
| `kugou-cli music favorites` | 我的收藏 | 🔐 |
|
|
104
|
-
| `kugou-cli music recent` | 最近播放 | 🔐 |
|
|
105
|
-
| `kugou-cli music stats` | 听歌统计 | 🔐 |
|
|
106
|
-
| `kugou-cli music charts <rank_id>` | 榜单 | 🔐 |
|
|
107
|
-
|
|
108
|
-
### 安装命令 (install)
|
|
109
|
-
|
|
110
|
-
| 命令 | 说明 | 需要登录 |
|
|
111
|
-
|------|------|---------|
|
|
112
|
-
| `kugou-cli install` | 显示平台选择提示 | 否 |
|
|
113
|
-
| `kugou-cli install --all` | 安装 SKILL.md 到所有平台 | 否 |
|
|
114
|
-
| `kugou-cli install --claude` | 安装到 Claude skills 目录 | 否 |
|
|
115
|
-
| `kugou-cli install --hermes` | 安装到 Hermes skills 目录 | 否 |
|
|
116
|
-
| `kugou-cli install --openclaw` | 安装到 Openclaw skills 目录 | 否 |
|
|
117
|
-
| `kugou-cli install --codex` | 安装到 Codex skills 目录 | 否 |
|
|
118
|
-
|
|
119
|
-
### 通用命令
|
|
120
|
-
|
|
121
|
-
| 命令 | 说明 |
|
|
122
|
-
|------|------|
|
|
123
|
-
| `kugou-cli --version` / `kugou-cli version` | 输出版本号 |
|
|
124
|
-
| `kugou-cli --help` | 显示帮助信息 |
|
|
125
|
-
| `kugou-cli <子命令> --help` | 显示子命令帮助(如 `kugou-cli music search --help`)|
|
|
126
|
-
|
|
127
|
-
---
|
|
128
|
-
|
|
129
|
-
## 详细用法
|
|
130
|
-
|
|
131
|
-
### 1. 扫码登录
|
|
132
|
-
|
|
133
|
-
```bash
|
|
134
|
-
# Step 1: 获取二维码图片
|
|
135
|
-
kugou-cli auth login
|
|
136
|
-
|
|
137
|
-
# Step 2: 轮询等待扫码确认(使用 Step 1 返回的 qrcode)
|
|
138
|
-
kugou-cli auth check -q <qrcode>
|
|
139
|
-
```
|
|
140
|
-
|
|
141
|
-
**auth login 输出示例**:
|
|
142
|
-
```json
|
|
143
|
-
{"qrcode": "xxx", "qrcode_img_path": "C:\\Users\\xxx\\AppData\\Local\\Temp\\kugou-qrcode.png"}
|
|
144
|
-
```
|
|
145
|
-
|
|
146
|
-
> **重要**:必须将 `qrcode_img_path` 对应的图片文件**发送给用户**供扫码登录。
|
|
147
|
-
|
|
148
|
-
**auth check 轮询状态输出**:
|
|
149
|
-
- `{"status": "scanned", "nickname": "...", ...}` — 已扫码,等待用户在手机上确认
|
|
150
|
-
- `{"status": "success", "nickname": "...", "secret": "..."}` — 登录成功,token 已持久化
|
|
151
|
-
- `{"status": "failed", "message": "QR code expired or login failed"}` — 登录失败(二维码过期),需重新执行
|
|
152
|
-
|
|
153
|
-
---
|
|
154
|
-
|
|
155
|
-
### 2. 查看登录状态
|
|
156
|
-
|
|
157
|
-
```bash
|
|
158
|
-
kugou-cli auth status
|
|
159
|
-
```
|
|
160
|
-
|
|
161
|
-
**输出示例**:
|
|
162
|
-
```json
|
|
163
|
-
{"logged_in": true, "nickname": "沙墨", "login_time": "2024-01-01 12:00:00"}
|
|
164
|
-
```
|
|
165
|
-
|
|
166
|
-
---
|
|
167
|
-
|
|
168
|
-
### 3. 搜索歌曲 🔐
|
|
169
|
-
|
|
170
|
-
```bash
|
|
171
|
-
kugou-cli music search "周杰伦"
|
|
172
|
-
kugou-cli music search "周杰伦" --page 1 --size 20
|
|
173
|
-
```
|
|
174
|
-
|
|
175
|
-
**参数**:
|
|
176
|
-
- `<keyword>`: 搜索关键词(必填)
|
|
177
|
-
- `--page`: 页码,默认 1
|
|
178
|
-
- `--size`: 每页数量,默认 20
|
|
179
|
-
|
|
180
|
-
**输出示例**:
|
|
181
|
-
```json
|
|
182
|
-
{
|
|
183
|
-
"errcode": 0,
|
|
184
|
-
"data": {
|
|
185
|
-
"list": [
|
|
186
|
-
{
|
|
187
|
-
"song_name": "晴天",
|
|
188
|
-
"mix_song_id": "32100650",
|
|
189
|
-
"artist_name": "周杰伦",
|
|
190
|
-
"play_link": "https://www.kugou.com/mixsong/agent_gateway/j410q78a01f.html"
|
|
191
|
-
}
|
|
192
|
-
],
|
|
193
|
-
"total": 480,
|
|
194
|
-
"page": 1,
|
|
195
|
-
"size": 20
|
|
196
|
-
},
|
|
197
|
-
"status": 1
|
|
198
|
-
}
|
|
199
|
-
```
|
|
200
|
-
|
|
201
|
-
---
|
|
202
|
-
|
|
203
|
-
### 4. 每日推荐 🔐
|
|
204
|
-
|
|
205
|
-
```bash
|
|
206
|
-
kugou-cli music recommend daily
|
|
207
|
-
kugou-cli music recommend daily --num 10
|
|
208
|
-
kugou-cli music recommend daily --text "轻快的中文歌" --num 5
|
|
209
|
-
```
|
|
210
|
-
|
|
211
|
-
**参数**:
|
|
212
|
-
- `--num`: 推荐数量,默认 10
|
|
213
|
-
- `--text`: 描述文本(可选),用于个性化推荐偏好。例如 `"轻快的"` / `"安静的"` / `"粤语歌"` 等,来影响推荐结果。
|
|
214
|
-
|
|
215
|
-
---
|
|
216
|
-
|
|
217
|
-
### 5. 相似推荐 🔐
|
|
218
|
-
|
|
219
|
-
```bash
|
|
220
|
-
kugou-cli music recommend similar -s "晴天"
|
|
221
|
-
kugou-cli music recommend similar --song "晴天" -n 5
|
|
222
|
-
kugou-cli music recommend similar --song "晴天" --text "风格相似的" -n 5
|
|
223
|
-
```
|
|
224
|
-
|
|
225
|
-
**参数**:
|
|
226
|
-
- `-s, --song`: 歌曲名称(必填)
|
|
227
|
-
- `-n, --num`: 推荐数量,默认 10
|
|
228
|
-
- `-t, --text`: 描述文本(可选),用于进一步细化相似方向。
|
|
229
|
-
|
|
230
|
-
---
|
|
231
|
-
|
|
232
|
-
### 6. 我的收藏 🔐
|
|
233
|
-
|
|
234
|
-
```bash
|
|
235
|
-
kugou-cli music favorites
|
|
236
|
-
```
|
|
237
|
-
|
|
238
|
-
> 注意:固定返回最近 10 首收藏,查看更多请前往酷狗App
|
|
239
|
-
|
|
240
|
-
**输出示例**:
|
|
241
|
-
```json
|
|
242
|
-
{
|
|
243
|
-
"errcode": 0,
|
|
244
|
-
"data": {
|
|
245
|
-
"list": [
|
|
246
|
-
{
|
|
247
|
-
"song_name": "晴天",
|
|
248
|
-
"mix_song_id": "32100650",
|
|
249
|
-
"artist_name": "周杰伦",
|
|
250
|
-
"play_link": "https://www.kugou.com/mixsong/agent_gateway/j410q78a01f.html"
|
|
251
|
-
}
|
|
252
|
-
],
|
|
253
|
-
"total": 50,
|
|
254
|
-
"msg": "当前仅显示最近的10首收藏,查看更多内容,请前往酷狗App"
|
|
255
|
-
},
|
|
256
|
-
"status": 1
|
|
257
|
-
}
|
|
258
|
-
```
|
|
259
|
-
|
|
260
|
-
---
|
|
261
|
-
|
|
262
|
-
### 7. 最近播放 🔐
|
|
263
|
-
|
|
264
|
-
```bash
|
|
265
|
-
kugou-cli music recent
|
|
266
|
-
```
|
|
267
|
-
|
|
268
|
-
> 注意:固定返回最近 10 首播放记录,查看更多请前往酷狗App
|
|
269
|
-
|
|
270
|
-
**输出示例**:
|
|
271
|
-
```json
|
|
272
|
-
{
|
|
273
|
-
"errcode": 0,
|
|
274
|
-
"data": {
|
|
275
|
-
"list": [
|
|
276
|
-
{
|
|
277
|
-
"song_name": "七里香",
|
|
278
|
-
"mix_song_id": "32100651",
|
|
279
|
-
"artist_name": "周杰伦",
|
|
280
|
-
"play_link": "https://www.kugou.com/mixsong/agent_gateway/j410q78a01f.html"
|
|
281
|
-
}
|
|
282
|
-
],
|
|
283
|
-
"total": 100,
|
|
284
|
-
"msg": "当前仅显示最近的10首最近播放,查看更多内容,请前往酷狗App"
|
|
285
|
-
},
|
|
286
|
-
"status": 1
|
|
287
|
-
}
|
|
288
|
-
```
|
|
289
|
-
|
|
290
|
-
---
|
|
291
|
-
|
|
292
|
-
### 8. 听歌统计 🔐
|
|
293
|
-
|
|
294
|
-
```bash
|
|
295
|
-
kugou-cli music stats # 默认查当月
|
|
296
|
-
kugou-cli music stats --date-type 1 --date 20260501 # 指定周查询
|
|
297
|
-
```
|
|
298
|
-
|
|
299
|
-
**参数**:
|
|
300
|
-
- `--date-type`: 日期类型,0=日、1=周、2=月,默认 2(月)
|
|
301
|
-
- `--date`: 查询日期,YYYYMMDD 格式,如 "20260501"(不填默认当月第一天)
|
|
302
|
-
- 日类型:每天日期,如 "20260501"
|
|
303
|
-
- 周类型:必须是周一日期,如 "20260505"(周一)
|
|
304
|
-
- 月类型:必须是月份第一天,如 "20260501"(5月1日)
|
|
305
|
-
|
|
306
|
-
**输出示例**:
|
|
307
|
-
```json
|
|
308
|
-
{
|
|
309
|
-
"errcode": 0,
|
|
310
|
-
"data": {
|
|
311
|
-
"server_time": 1779977674,
|
|
312
|
-
"listen_duration": 80776,
|
|
313
|
-
"accumulate_listen_days": 30,
|
|
314
|
-
"continue_listen_days": 7,
|
|
315
|
-
"listen_total": 342,
|
|
316
|
-
"last_listen_total": 387,
|
|
317
|
-
"top_clocks": [
|
|
318
|
-
"今日08:00-10:00听歌30分钟",
|
|
319
|
-
"今日14:00-16:00听歌25分钟",
|
|
320
|
-
"今日20:00-22:00听歌20分钟"
|
|
321
|
-
],
|
|
322
|
-
"rank_song": [
|
|
323
|
-
{
|
|
324
|
-
"song_info": {"song_name": "晴天", "mix_song_id": "8888", "artist_name": "周杰伦", "play_link": "https://www.kugou.com/..."},
|
|
325
|
-
"count": 50
|
|
326
|
-
}
|
|
327
|
-
],
|
|
328
|
-
"rank_singer": [
|
|
329
|
-
{"singer_id": 123, "name": "周杰伦", "avatar": "https://xxx.jpg", "total": 120}
|
|
330
|
-
],
|
|
331
|
-
"rank_style": [
|
|
332
|
-
{"style": "流行", "total": 200, "count": 80}
|
|
333
|
-
],
|
|
334
|
-
"rank_language": [
|
|
335
|
-
{"language": "华语", "total": 400, "count": 150}
|
|
336
|
-
]
|
|
337
|
-
},
|
|
338
|
-
"status": 1
|
|
339
|
-
}
|
|
340
|
-
```
|
|
341
|
-
|
|
342
|
-
**关键字段**:
|
|
343
|
-
- `listen_duration`: 今日/周/月听歌时长(秒)
|
|
344
|
-
- `top_clocks`: 听歌时长最长的 Top3 时段描述(日类型格式如"今日08:00-10:00听歌30分钟",周/月类型格式如"2026-02月听歌38213分钟")
|
|
345
|
-
- `accumulate_listen_days`: 累计听歌天数
|
|
346
|
-
- `continue_listen_days`: 连续听歌天数
|
|
347
|
-
- `listen_total`: 累计听歌次数
|
|
348
|
-
- `last_listen_total`: 昨日/上周/上月听歌次数
|
|
349
|
-
- `rank_song`: 播放最多的歌曲排行(`count` 为播放次数)
|
|
350
|
-
- `rank_singer`: 播放最多的歌手排行
|
|
351
|
-
- `rank_style`: 曲风分布统计
|
|
352
|
-
- `rank_language`: 语言分布统计
|
|
353
|
-
|
|
354
|
-
---
|
|
355
|
-
|
|
356
|
-
### 9. 榜单 🔐
|
|
357
|
-
|
|
358
|
-
```bash
|
|
359
|
-
kugou-cli music charts 6666
|
|
360
|
-
kugou-cli music charts 52144 --page 1 --size 20
|
|
361
|
-
```
|
|
362
|
-
|
|
363
|
-
**可用榜单 ID**:
|
|
364
|
-
|
|
365
|
-
| rank_id | 榜单名称 |
|
|
366
|
-
|---------|----------|
|
|
367
|
-
| 8888 | TOP500榜 |
|
|
368
|
-
| 90379 | 星耀星光榜 |
|
|
369
|
-
| 6666 | 飙升榜 |
|
|
370
|
-
| 85432 | 百万收藏榜 |
|
|
371
|
-
| 74534 | 新歌榜 |
|
|
372
|
-
| 52144 | 抖音热歌酷狗榜 |
|
|
373
|
-
|
|
374
|
-
**参数**:
|
|
375
|
-
- `<rank_id>`: 榜单 ID(必填)
|
|
376
|
-
- `--page`: 页码,默认 1
|
|
377
|
-
- `--size`: 每页数量,默认 20
|
|
378
|
-
|
|
379
|
-
---
|
|
380
|
-
|
|
381
|
-
### 10. 安装 SKILL.md
|
|
382
|
-
|
|
383
|
-
```bash
|
|
384
|
-
kugou-cli install # 显示平台选择提示
|
|
385
|
-
kugou-cli install --all # 安装到所有平台
|
|
386
|
-
kugou-cli install --claude # 仅安装到 Claude
|
|
387
|
-
kugou-cli install --hermes --claude # 安装到 Hermes 和 Claude
|
|
388
|
-
```
|
|
389
|
-
|
|
390
|
-
**参数**:
|
|
391
|
-
- `--claude`: 安装到 `~/.claude/skills/kugou-skill/`
|
|
392
|
-
- `--hermes`: 安装到 `~/.hermes/skills/kugou-skill/`
|
|
393
|
-
- `--openclaw`: 安装到 `~/.openclaw/skills/kugou-skill/`
|
|
394
|
-
- `--codex`: 安装到 `~/.codex/skills/kugou-skill/`
|
|
395
|
-
- `--all`: 安装到以上所有平台
|
|
396
|
-
|
|
397
|
-
**行为说明**:
|
|
398
|
-
- 无参数时输出"平台选择提示",列出可用平台选项,不会进行任何安装操作
|
|
399
|
-
- 只会在目标平台的 skills 父目录存在时才安装(不自动创建父目录)
|
|
400
|
-
- npm 安装时会自动调用 install.js 安装 SKILL.md
|
|
401
|
-
- `kugou-cli install` 命令用于手动重新安装或更新 SKILL.md
|
|
402
|
-
|
|
403
|
-
---
|
|
404
|
-
|
|
405
|
-
## 全局参数
|
|
406
|
-
|
|
407
|
-
所有命令支持以下隐藏参数:
|
|
408
|
-
|
|
409
|
-
- `--proxy`: HTTP 代理地址,用于网络受限环境
|
|
410
|
-
```bash
|
|
411
|
-
kugou-cli music search "周杰伦" --proxy "http://127.0.0.1:7890"
|
|
412
|
-
```
|
|
413
|
-
|
|
414
|
-
## 输出格式与展示规范
|
|
415
|
-
|
|
416
|
-
### 通用响应结构
|
|
417
|
-
|
|
418
|
-
所有 API 命令输出标准 JSON 结构:
|
|
419
|
-
|
|
420
|
-
```json
|
|
421
|
-
{
|
|
422
|
-
"errcode": 0,
|
|
423
|
-
"errmsg": "",
|
|
424
|
-
"data": { ... },
|
|
425
|
-
"status": 1
|
|
426
|
-
}
|
|
427
|
-
```
|
|
428
|
-
|
|
429
|
-
**响应状态**:
|
|
430
|
-
- `errcode: 0` 表示成功
|
|
431
|
-
- `data` 包含实际业务数据
|
|
432
|
-
- `status: 1` 表示接口调用成功
|
|
433
|
-
|
|
434
|
-
### 展示规范
|
|
435
|
-
|
|
436
|
-
向用户展示结果时,**必须遵循以下规范**:
|
|
437
|
-
|
|
438
|
-
1. **歌曲列表展示(强制要求)**:
|
|
439
|
-
- **禁止**只返回歌曲名、歌手名
|
|
440
|
-
- **必须**以 Markdown 链接格式展示播放链接
|
|
441
|
-
- 正确格式:`[歌曲名 - 歌手名](https://www.kugou.com/...)`
|
|
442
|
-
- 禁止格式:`晴天 - 周杰伦`(无链接)、`歌曲名: 晴天, 歌手: 周杰伦`(无链接)
|
|
443
|
-
|
|
444
|
-
2. **播放链接转为可点击超链接**:
|
|
445
|
-
- Markdown: `[歌曲名 - 歌手名](https://www.kugou.com/...)`
|
|
446
|
-
- HTML: `<a href="https://www.kugou.com/...">歌曲名 - 歌手名</a>`
|
|
447
|
-
|
|
448
|
-
3. **统计数据**:提取关键字段并以结构化方式呈现(如"累计听歌 342 首,时长 22.4 小时")
|
|
449
|
-
|
|
450
|
-
4. **二维码**:使用 `qrcode_img_path` 对应的图片文件发送给用户
|
|
451
|
-
|
|
452
|
-
---
|
|
453
|
-
|
|
454
|
-
## 错误处理
|
|
455
|
-
|
|
456
|
-
错误信息输出到 stderr,程序 exit code 为 1:
|
|
457
|
-
|
|
458
|
-
```bash
|
|
459
|
-
kugou-cli music search "xxx" 2>&1
|
|
460
|
-
echo $? # 非 0 表示出错
|
|
461
|
-
```
|
|
462
|
-
|
|
463
|
-
**常见错误及处理**:
|
|
464
|
-
|
|
465
|
-
| 错误信息 | 原因 | 处理方式 |
|
|
466
|
-
|---------|------|---------|
|
|
467
|
-
| `not logged in` / `auth file not found` | 未登录 | 引导用户执行 `kugou-cli auth login` |
|
|
468
|
-
| `HTTP error: 400` | 请求参数有误 | 检查命令参数是否正确 |
|
|
469
|
-
| `HTTP error: 500` | 服务端错误 | 稍后重试,或告知用户 |
|
|
470
|
-
| `API error: ...` | 业务错误(errcode 非 0) | 根据 errmsg 提示用户 |
|
|
471
|
-
| `network error: ...` | 网络连接问题 | 检查网络,可尝试 `--proxy` |
|
|
472
|
-
| `failed to get device info` | 设备信息获取失败 | 运行时环境异常,检查权限 |
|
|
473
|
-
|
|
474
|
-
---
|
|
475
|
-
|
|
476
|
-
## 使用示例
|
|
477
|
-
|
|
478
|
-
### 完整使用流程
|
|
479
|
-
|
|
480
|
-
```bash
|
|
481
|
-
# 1. 登录(两步流程)
|
|
482
|
-
kugou-cli auth login # 获取二维码
|
|
483
|
-
kugou-cli auth check -q <qrcode> # 轮询等待确认
|
|
484
|
-
|
|
485
|
-
# 2. 查看登录状态
|
|
486
|
-
kugou-cli auth status
|
|
487
|
-
|
|
488
|
-
# 3. 搜索歌曲
|
|
489
|
-
kugou-cli music search "周杰伦"
|
|
490
|
-
|
|
491
|
-
# 4. 获取每日推荐
|
|
492
|
-
kugou-cli music recommend daily --num 5
|
|
493
|
-
|
|
494
|
-
# 5. 查看我的收藏
|
|
495
|
-
kugou-cli music favorites
|
|
496
|
-
|
|
497
|
-
# 6. 查看最近播放
|
|
498
|
-
kugou-cli music recent
|
|
499
|
-
|
|
500
|
-
# 7. 查看听歌统计
|
|
501
|
-
kugou-cli music stats
|
|
502
|
-
|
|
503
|
-
# 8. 查看抖音热歌榜
|
|
504
|
-
kugou-cli music charts 52144
|
|
505
|
-
```
|
|
506
|
-
|
|
507
|
-
### 在脚本中使用
|
|
508
|
-
|
|
509
|
-
```bash
|
|
510
|
-
#!/bin/bash
|
|
511
|
-
|
|
512
|
-
# 搜索并提取第一首歌曲的完整信息(歌曲名、歌手、播放链接)
|
|
513
|
-
result=$(kugou-cli music search "周杰伦" --size 1)
|
|
514
|
-
echo "$result" | jq -r '.data.list[0] | "\(.song_name) - \(.artist_name): \(.play_link)"'
|
|
515
|
-
|
|
516
|
-
# 获取榜单第一首的 Markdown 格式
|
|
517
|
-
kugou-cli music charts 6666 --size 1 | jq -r '.data.list[0] | "[\(.song_name) - \(.artist_name)](\(.play_link))"'
|
|
518
|
-
```
|
|
1
|
+
---
|
|
2
|
+
name: kugou-skill
|
|
3
|
+
description: |
|
|
4
|
+
酷狗,酷狗音乐,酷狗skill,酷狗音乐skill,酷狗音乐助手
|
|
5
|
+
提供歌曲搜索、每日推荐、相似推荐、收藏管理、听歌统计、酷狗榜单等功能。
|
|
6
|
+
|
|
7
|
+
**触发场景**(满足任一即使用本技能):
|
|
8
|
+
- 用户要求推荐歌曲、听歌建议
|
|
9
|
+
- 用户要求搜索歌曲、查找歌手作品
|
|
10
|
+
- 用户要求查看音乐榜单(飙升榜、TOP500、抖音热歌等)
|
|
11
|
+
- 用户要求查看收藏、最近播放、听歌统计
|
|
12
|
+
- 用户提到"酷狗"、"kugou"、"每日推荐"、"相似歌曲"
|
|
13
|
+
|
|
14
|
+
**与其他音乐技能的区别**:酷狗音乐以推荐算法见长,榜单数据实时更新,适合获取热门歌曲和个性化推荐。
|
|
15
|
+
|
|
16
|
+
安装方式:npm install -g @kg-ai/kugou-skill
|
|
17
|
+
---
|
|
18
|
+
|
|
19
|
+
# kugou-skill
|
|
20
|
+
|
|
21
|
+
## AI 使用工作流(优先阅读)
|
|
22
|
+
|
|
23
|
+
使用本工具时的标准流程:
|
|
24
|
+
|
|
25
|
+
```
|
|
26
|
+
1. 检查安装 → npm install -g @kg-ai/kugou-skill
|
|
27
|
+
2. 检查登录 → kugou-cli auth status
|
|
28
|
+
3. 未登录 → 引导用户执行登录流程(详见 references/auth.md)
|
|
29
|
+
4. 执行用户请求的音乐命令(详见 references/music.md)
|
|
30
|
+
5. 解析 JSON 输出,按展示规范展示给用户(详见 references/output-format.md)
|
|
31
|
+
```
|
|
32
|
+
|
|
33
|
+
### 关键注意事项
|
|
34
|
+
|
|
35
|
+
- **登录流程分为两步**(详见 [references/auth.md](references/auth.md)):
|
|
36
|
+
1. `auth login` - 获取二维码图片,输出包含 `qrcode` 和 `qrcode_img_path`(**必须将图片发送给用户**)
|
|
37
|
+
2. `auth check -q <qrcode>` - 从 login 输出中提取 qrcode 值,传入此命令轮询等待扫码确认,必须等到 `"status":"success"` 才能继续
|
|
38
|
+
- **音乐命令依赖登录**:除了 `auth`、`install`、`version`、`--help` 以外,所有 `music` 子命令都需要先登录。如果收到 `"not logged in"` 错误,引导用户执行登录流程。
|
|
39
|
+
- **输出均为 JSON**:所有命令输出原始 JSON 到 stdout,错误输出到 stderr。解析 `errcode` 字段判断成功与否(`0` 为成功)。
|
|
40
|
+
- **歌曲展示规范**(详见 [references/output-format.md](references/output-format.md)):**禁止**只返回歌曲名、歌手名,**必须**以 Markdown 链接格式展示播放链接。
|
|
41
|
+
|
|
42
|
+
---
|
|
43
|
+
|
|
44
|
+
## 基础信息
|
|
45
|
+
|
|
46
|
+
- **npm 包**: @kg-ai/kugou-skill
|
|
47
|
+
- **二进制命令**: kugou-cli
|
|
48
|
+
- **API 域名**: https://agentgateway.kugou.com(固定,无需配置)
|
|
49
|
+
- **安装方式**: `npm install -g @kg-ai/kugou-skill`
|
|
50
|
+
|
|
51
|
+
---
|
|
52
|
+
|
|
53
|
+
## 详细文档索引
|
|
54
|
+
|
|
55
|
+
| 文档 | 说明 |
|
|
56
|
+
|------|------|
|
|
57
|
+
| [references/auth.md](references/auth.md) | 认证命令:扫码登录、查看状态、登出 |
|
|
58
|
+
| [references/music.md](references/music.md) | 音乐命令:搜索、推荐、收藏、统计、榜单 |
|
|
59
|
+
| [references/install.md](references/install.md) | 安装命令:SKILL.md 安装到各平台 |
|
|
60
|
+
| [references/output-format.md](references/output-format.md) | 输出格式与展示规范 |
|
|
61
|
+
| [references/error-handling.md](references/error-handling.md) | 错误处理与常见错误 |
|
|
62
|
+
|
|
63
|
+
---
|
|
64
|
+
|
|
65
|
+
## 完整使用流程
|
|
66
|
+
|
|
67
|
+
```bash
|
|
68
|
+
# 1. 登录(两步流程,详见 references/auth.md)
|
|
69
|
+
kugou-cli auth login
|
|
70
|
+
kugou-cli auth check -q <qrcode>
|
|
71
|
+
|
|
72
|
+
# 2. 查看登录状态
|
|
73
|
+
kugou-cli auth status
|
|
74
|
+
|
|
75
|
+
# 3. 搜索歌曲
|
|
76
|
+
kugou-cli music search "周杰伦"
|
|
77
|
+
|
|
78
|
+
# 4. 获取每日推荐
|
|
79
|
+
kugou-cli music recommend daily --num 5
|
|
80
|
+
|
|
81
|
+
# 5. 查看我的收藏
|
|
82
|
+
kugou-cli music favorites
|
|
83
|
+
|
|
84
|
+
# 6. 查看最近播放
|
|
85
|
+
kugou-cli music recent
|
|
86
|
+
|
|
87
|
+
# 7. 查看听歌统计
|
|
88
|
+
kugou-cli music stats
|
|
89
|
+
|
|
90
|
+
# 8. 查看抖音热歌榜
|
|
91
|
+
kugou-cli music charts 52144
|
|
92
|
+
```
|
|
Binary file
|
package/bin/darwin-x64/kugou-cli
CHANGED
|
Binary file
|
|
Binary file
|
package/bin/linux-x64/kugou-cli
CHANGED
|
Binary file
|
|
Binary file
|
package/package.json
CHANGED
package/scripts/install.js
CHANGED
|
@@ -38,6 +38,7 @@ console.log(`Installed ${config.exe} for ${platform}-${arch}`);
|
|
|
38
38
|
const skillSrc = path.join(pkgRoot, 'SKILL.md');
|
|
39
39
|
const skillDirs = [
|
|
40
40
|
path.join(os.homedir(), '.claude', 'skills', 'kugou-skill'),
|
|
41
|
+
path.join(os.homedir(), '.mavis', 'skills', 'kugou-skill'),
|
|
41
42
|
path.join(os.homedir(), '.hermes', 'skills', 'kugou-skill'),
|
|
42
43
|
path.join(os.homedir(), '.openclaw', 'skills', 'kugou-skill'),
|
|
43
44
|
path.join(os.homedir(), '.codex', 'skills', 'kugou-skill'),
|
|
@@ -45,6 +46,8 @@ const skillDirs = [
|
|
|
45
46
|
];
|
|
46
47
|
|
|
47
48
|
if (fs.existsSync(skillSrc)) {
|
|
49
|
+
const referencesSrc = path.join(pkgRoot, 'references');
|
|
50
|
+
|
|
48
51
|
for (const skillDir of skillDirs) {
|
|
49
52
|
// 只在 skills 目录存在时才复制,不创建目录
|
|
50
53
|
const parentDir = path.dirname(skillDir);
|
|
@@ -55,8 +58,25 @@ if (fs.existsSync(skillSrc)) {
|
|
|
55
58
|
}
|
|
56
59
|
fs.copyFileSync(skillSrc, path.join(skillDir, 'SKILL.md'));
|
|
57
60
|
console.log(`Installed SKILL.md to ${skillDir}`);
|
|
61
|
+
|
|
62
|
+
// 拷贝 references 子文档
|
|
63
|
+
if (fs.existsSync(referencesSrc)) {
|
|
64
|
+
const referencesDest = path.join(skillDir, 'references');
|
|
65
|
+
if (!fs.existsSync(referencesDest)) {
|
|
66
|
+
fs.mkdirSync(referencesDest, { recursive: true });
|
|
67
|
+
}
|
|
68
|
+
const refFiles = fs.readdirSync(referencesSrc);
|
|
69
|
+
for (const refFile of refFiles) {
|
|
70
|
+
const srcFile = path.join(referencesSrc, refFile);
|
|
71
|
+
const destFile = path.join(referencesDest, refFile);
|
|
72
|
+
if (fs.statSync(srcFile).isFile()) {
|
|
73
|
+
fs.copyFileSync(srcFile, destFile);
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
console.log(`Installed references to ${referencesDest}`);
|
|
77
|
+
}
|
|
58
78
|
} catch (err) {
|
|
59
|
-
console.warn(`Warning: Failed to install
|
|
79
|
+
console.warn(`Warning: Failed to install to ${skillDir}: ${err.message}`);
|
|
60
80
|
}
|
|
61
81
|
}
|
|
62
82
|
}
|