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