@kg-ai/kugou-skill 0.0.15 → 0.0.17

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/SKILL.md CHANGED
@@ -32,7 +32,10 @@ description: |
32
32
 
33
33
  ### 关键注意事项
34
34
 
35
- - **登录是阻塞操作**:`kugou-cli auth login` 会持续轮询直到用户扫码确认。必须等到输出 `"status":"success"` 才能继续后续音乐操作。默认模式会自动打开系统图片查看器供扫码。`file` 模式只保存文件不打开。`base64` 模式适合 Web 前端场景。
35
+ - **登录是阻塞操作**:`kugou-cli auth login` 会持续轮询直到用户扫码确认。必须等到输出 `"status":"success"` 才能继续后续音乐操作。
36
+ - **默认模式(file)**:只保存二维码到临时文件,**需将图片发送给用户扫码**
37
+ - **`--output open` 模式**:保存二维码到临时文件并自动打开图片查看器
38
+ - **TUI 模式判断**:如果 Agent 当前为命令行交互模式(TUI),应使用 `--output open` 自动打开图片;如果是文件交互或需要用户主动获取图片的场景,应使用默认模式并**主动发送图片给用户**
36
39
  - **音乐命令依赖登录**:除了 `auth`、`install`、`version`、`--help` 以外,所有 `music` 子命令都需要先登录。如果收到 `"not logged in"` 错误,引导用户执行 `kugou-cli auth login`。
37
40
  - **输出均为 JSON**:所有命令输出原始 JSON 到 stdout,错误输出到 stderr。解析 `errcode` 字段判断成功与否(`0` 为成功)。
38
41
  - **链接展示**:输出中的 `play_link` 字段,展示给用户时转为可点击格式:
@@ -53,9 +56,8 @@ description: |
53
56
  使用前需要扫码登录。登录采用轮询机制,需等待用户扫码确认。
54
57
 
55
58
  ```bash
56
- kugou-cli auth login # 默认,保存二维码图片并打开图片查看器
57
- kugou-cli auth login --output file # 只保存二维码图片,不打开
58
- kugou-cli auth login --output base64 # 输出 base64 图片数据(含 data:image/png;base64, 前缀)
59
+ kugou-cli auth login # 默认,只保存二维码图片到临时文件(需发送图片给用户扫码)
60
+ kugou-cli auth login --output open # 保存并打开图片查看器(适合 TUI 模式)
59
61
  ```
60
62
 
61
63
  **登录轮询流程**(`kugou-cli auth login` 内部自动处理):
@@ -68,7 +70,9 @@ kugou-cli auth login --output base64 # 输出 base64 图片数据(含 data:im
68
70
  5. 若超时/二维码过期输出 {"status": "failed", "message": "..."}
69
71
  ```
70
72
 
71
- > **输出模式选择建议**:默认模式会自动打开图片查看器弹出二维码,用户直接扫码即可,适合桌面端 Agent 使用。`file` 模式只保存到临时文件,需手动打开。`base64` 模式适合需要内嵌二维码图片展示的场景。
73
+ > **TUI 模式判断**:Agent 应根据当前交互模式选择合适的输出模式:
74
+ > - **TUI 模式**(命令行交互,用户可直接看到弹窗):使用 `--output open` 自动打开二维码
75
+ > - **其他模式**(文件交互、需要用户主动操作):使用默认模式(file),**必须将 `qrcode_img_path` 对应的图片文件发送给用户**
72
76
 
73
77
  ---
74
78
 
@@ -122,33 +126,28 @@ kugou-cli auth login --output base64 # 输出 base64 图片数据(含 data:im
122
126
  ### 1. 扫码登录
123
127
 
124
128
  ```bash
125
- kugou-cli auth login
126
- kugou-cli auth login --output file # 只保存二维码图片,不打开
127
- kugou-cli auth login --output base64 # 输出 base64 编码的图片数据(含 data:image/png;base64, 前缀)
129
+ kugou-cli auth login # 默认,只保存二维码图片(需发送图片给用户扫码)
130
+ kugou-cli auth login --output open # 保存并打开图片查看器(适合 TUI 模式)
128
131
  ```
129
132
 
130
133
  **参数**:
131
134
  - `-o, --output`: 输出模式
132
- - (默认): 保存二维码图片到临时目录并打开图片查看器,供扫码
133
- - `file`: 只保存二维码图片到临时目录,不打开
134
- - `base64`: 输出 base64 编码的图片数据(含 `data:image/png;base64,` 前缀)
135
+ - `(默认)`: 只保存二维码图片到临时目录,**需将图片文件发送给用户扫码**
136
+ - `open`: 保存二维码图片到临时目录并打开图片查看器
135
137
 
136
- **输出示例** (默认模式 - 保存并打开):
138
+ **输出示例** (默认模式 - 保存文件):
137
139
  ```json
138
140
  {"qrcode": "xxx", "qrcode_img_path": "C:\\Users\\xxx\\AppData\\Local\\Temp\\kugou-qrcode.png", "status": "waiting"}
139
141
  ```
140
142
 
141
- **输出示例** (file 模式):
142
- ```json
143
- {"qrcode": "xxx", "qrcode_img_path": "/tmp/kugou-qrcode.png", "status": "waiting"}
144
- ```
145
-
146
- **输出示例** (base64 模式):
143
+ **输出示例** (open 模式):
147
144
  ```json
148
- {"qrcode": "xxx", "qrcode_base64": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAA...", "status": "waiting"}
145
+ {"qrcode": "xxx", "qrcode_img_path": "C:\\Users\\xxx\\AppData\\Local\\Temp\\kugou-qrcode.png", "status": "waiting"}
149
146
  ```
150
147
 
151
- > **base64 二维码展示指导**:`qrcode_base64` 已包含 `data:image/png;base64,` 前缀,可直接作为 `<img>` 标签的 `src` 属性,或通过 Markdown `![QR](data:image/png;base64,...)` 展示。
148
+ > **TUI 模式判断**:Agent 应根据当前交互模式选择:
149
+ > - **TUI 模式**:使用 `--output open` 自动打开二维码,用户可直接扫码
150
+ > - **其他模式**:使用默认模式,**必须将 `qrcode_img_path` 对应的图片文件发送给用户**
152
151
 
153
152
  **轮询过程中的状态输出**:
154
153
  - `{"status": "waiting", ...}` — 等待扫码
@@ -439,13 +438,21 @@ kugou-cli install --hermes --claude # 安装到 Hermes 和 Claude
439
438
 
440
439
  ### 展示规范
441
440
 
442
- 向用户展示结果时:
441
+ 向用户展示结果时,**必须遵循以下规范**:
442
+
443
+ 1. **歌曲列表展示(强制要求)**:
444
+ - **禁止**只返回歌曲名、歌手名
445
+ - **必须**以 Markdown 链接格式展示播放链接
446
+ - 正确格式:`[歌曲名 - 歌手名](https://www.kugou.com/...)`
447
+ - 禁止格式:`晴天 - 周杰伦`(无链接)、`歌曲名: 晴天, 歌手: 周杰伦`(无链接)
443
448
 
444
- 1. **歌曲列表**:整理为表格或列表,包含歌曲名、歌手、播放链接
445
- 2. **播放链接**:将 `play_link` 转为可点击的超链接
449
+ 2. **播放链接转为可点击超链接**:
446
450
  - Markdown: `[歌曲名 - 歌手名](https://www.kugou.com/...)`
451
+ - HTML: `<a href="https://www.kugou.com/...">歌曲名 - 歌手名</a>`
452
+
447
453
  3. **统计数据**:提取关键字段并以结构化方式呈现(如"累计听歌 342 首,时长 22.4 小时")
448
- 4. **二维码**(base64 输出):`qrcode_base64` 已含 `data:image/png;base64,` 前缀,可直接作为 `<img>` 的 `src`
454
+
455
+ 4. **二维码**:使用 `qrcode_img_path` 对应的图片文件发送给用户
449
456
 
450
457
  ---
451
458
 
@@ -506,10 +513,10 @@ kugou-cli music charts 52144
506
513
  ```bash
507
514
  #!/bin/bash
508
515
 
509
- # 搜索并提取歌曲名
516
+ # 搜索并提取第一首歌曲的完整信息(歌曲名、歌手、播放链接)
510
517
  result=$(kugou-cli music search "周杰伦" --size 1)
511
- echo "$result" | jq -r '.data.list[0].song_name'
518
+ echo "$result" | jq -r '.data.list[0] | "\(.song_name) - \(.artist_name): \(.play_link)"'
512
519
 
513
- # 获取榜单第一首
514
- kugou-cli music charts 6666 --size 1 | jq -r '.data.list[0].song_name'
520
+ # 获取榜单第一首的 Markdown 格式
521
+ kugou-cli music charts 6666 --size 1 | jq -r '.data.list[0] | "[\(.song_name) - \(.artist_name)](\(.play_link))"'
515
522
  ```
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.15",
3
+ "version": "0.0.17",
4
4
  "description": "Kugou Skill CLI",
5
5
  "main": "index.js",
6
6
  "bin": {