@kg-ai/kugou-skill 0.1.0 → 0.1.2
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 +10 -1
- package/bin/darwin-arm64/kugou-cli +0 -0
- package/bin/darwin-x64/kugou-cli +0 -0
- package/bin/kugou-cli.exe +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 +2 -2
- package/references/auth.md +49 -6
- package/references/music.md +1 -1
package/SKILL.md
CHANGED
|
@@ -10,6 +10,7 @@ description: |
|
|
|
10
10
|
- 用户要求查看音乐榜单(飙升榜、TOP500、抖音热歌等)
|
|
11
11
|
- 用户要求查看收藏、最近播放、听歌统计
|
|
12
12
|
- 用户要求创建歌单、自建歌单
|
|
13
|
+
- 用户提供 secret(base64 字符串)要求登录或导入身份
|
|
13
14
|
- 用户提到"酷狗"、"kugou"、"每日推荐"、"相似歌曲"
|
|
14
15
|
|
|
15
16
|
**与其他音乐技能的区别**:酷狗音乐以推荐算法见长,榜单数据实时更新,适合获取热门歌曲和个性化推荐。
|
|
@@ -36,7 +37,12 @@ description: |
|
|
|
36
37
|
- **登录流程极简**(详见 [references/auth.md](references/auth.md)):
|
|
37
38
|
1. `auth login` - 获取二维码图片,输出包含 `qrcode` 和 `qrcode_img_path`(**必须将图片发送给用户**)
|
|
38
39
|
2. `auth status` - 循环调用此命令检查登录状态:已登录返回 `logged_in: true`;未登录但有 pending qrcode 时内部自动检查扫码状态,扫码成功则自动完成登录
|
|
40
|
+
- **直接导入 secret 登录**:当用户**已经持有**一个有效的 base64 secret 字符串(从别处获取的),直接调用 `kugou-cli auth set-secret "<secret>"` 即可完成登录,**跳过扫码流程**。这与扫码登录保存到同一份 `auth.json`,效果完全一致。secret 字符串含 `+` `/` `=` 是正常的,shell 里务必用引号包起来。
|
|
39
41
|
- **音乐命令依赖登录**:除了 `auth`、`install`、`version`、`--help` 以外,所有 `music` 子命令都需要先登录。如果收到 `"not logged in"` 错误,引导用户执行登录流程。
|
|
42
|
+
- **自动更新机制**:每次启动任意命令时会自动检测 npm 远端版本,若有新版会**自动执行** `npm install -g @kg-ai/kugou-skill@latest`,无需手动 `kugou-cli update`:
|
|
43
|
+
- 关闭自动检查:加 `--no-update-check` 标志,或设置环境变量 `KUGOU_CLI_NO_UPDATE_CHECK=1`
|
|
44
|
+
- 手动检查/触发:`kugou-cli update` 跳过本地缓存直接查远端并自动安装;`kugou-cli update --check` 仅检查不安装
|
|
45
|
+
- 非 npm 安装(手动编译/容器)会打印提示和升级命令但不会自动执行
|
|
40
46
|
- **输出均为 JSON**:所有命令输出原始 JSON 到 stdout,错误输出到 stderr。解析 `errcode` 字段判断成功与否(`0` 为成功)。
|
|
41
47
|
- **歌曲展示规范**(详见 [references/output-format.md](references/output-format.md)):**禁止**只返回歌曲名、歌手名,**必须**以 Markdown 链接格式展示播放链接。
|
|
42
48
|
- **创建歌单的调用原则**(详见 [references/music.md#8-创建歌单](references/music.md#8-创建歌单)):
|
|
@@ -57,7 +63,7 @@ description: |
|
|
|
57
63
|
|
|
58
64
|
| 文档 | 说明 |
|
|
59
65
|
|------|------|
|
|
60
|
-
| [references/auth.md](references/auth.md) |
|
|
66
|
+
| [references/auth.md](references/auth.md) | 认证命令:扫码登录、直接设置 secret、查看状态、登出 |
|
|
61
67
|
| [references/music.md](references/music.md) | 音乐命令:搜索、推荐、收藏、统计、榜单、创建歌单 |
|
|
62
68
|
| [references/install.md](references/install.md) | 安装命令:SKILL.md 安装到各平台 |
|
|
63
69
|
| [references/update.md](references/update.md) | 更新命令:检查/执行自动更新 |
|
|
@@ -74,6 +80,9 @@ kugou-cli auth login # 获取二维码
|
|
|
74
80
|
# 循环执行以下命令直到 logged_in=true
|
|
75
81
|
kugou-cli auth status
|
|
76
82
|
|
|
83
|
+
# 1'. 或者直接导入已持有的 secret(跳过扫码)
|
|
84
|
+
kugou-cli auth set-secret "<base64-secret>"
|
|
85
|
+
|
|
77
86
|
# 2. 搜索歌曲
|
|
78
87
|
kugou-cli music search "周杰伦"
|
|
79
88
|
|
|
Binary file
|
package/bin/darwin-x64/kugou-cli
CHANGED
|
Binary file
|
package/bin/kugou-cli.exe
CHANGED
|
Binary file
|
|
Binary file
|
package/bin/linux-x64/kugou-cli
CHANGED
|
Binary file
|
|
Binary file
|
package/package.json
CHANGED
package/references/auth.md
CHANGED
|
@@ -8,6 +8,7 @@
|
|
|
8
8
|
|------|------|---------|
|
|
9
9
|
| `kugou-cli auth login` | 获取二维码图片 | 否 |
|
|
10
10
|
| `kugou-cli auth status` | 检查登录状态(已完成则登录,未完成则继续轮询) | 否 |
|
|
11
|
+
| `kugou-cli auth set-secret <secret>` | 直接导入已持有的 base64 secret 登录(跳过扫码) | 否 |
|
|
11
12
|
| `kugou-cli auth logout` | 登出 | 否 |
|
|
12
13
|
|
|
13
14
|
---
|
|
@@ -64,12 +65,54 @@ kugou-cli auth status
|
|
|
64
65
|
|
|
65
66
|
> **简化说明**:本工具将"轮询检查扫码状态"逻辑内置到 `auth status` 中,Agent 只需简单循环调用 status 即可。
|
|
66
67
|
|
|
68
|
+
### 备选路径:用户已持有 secret
|
|
69
|
+
|
|
70
|
+
当用户**已经持有**一个有效的 base64 secret 字符串时(例如从其他设备、其他工具导出的),可以直接用 `auth set-secret` 跳过整个扫码流程,**不需**调用 `auth login` / `auth status`:
|
|
71
|
+
|
|
72
|
+
```bash
|
|
73
|
+
kugou-cli auth set-secret "<base64-secret>"
|
|
74
|
+
```
|
|
75
|
+
|
|
76
|
+
调用成功后 secret 会被持久化到 `~/.config/kugou-cli/auth.json`,所有 music 命令立即可用,效果与扫码登录一致。
|
|
77
|
+
|
|
67
78
|
---
|
|
68
79
|
|
|
69
|
-
## 3.
|
|
80
|
+
## 3. 直接设置 secret
|
|
81
|
+
|
|
82
|
+
**适用场景**:
|
|
83
|
+
- 用户在其他设备/工具上已登录酷狗,导出或复制了一份 base64 secret
|
|
84
|
+
- 测试、调试、自动化场景下需要直接注入 secret
|
|
85
|
+
- 任何不便于扫码的终端环境(如 SSH 远端、容器、CI)
|
|
86
|
+
|
|
87
|
+
**命令**:
|
|
88
|
+
|
|
89
|
+
```bash
|
|
90
|
+
kugou-cli auth set-secret "{secret}"
|
|
91
|
+
```
|
|
70
92
|
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
93
|
+
**shell 引号注意事项**:
|
|
94
|
+
- secret 字符串含 `+`、`/`、`=` 等 base64 字符是**正常的**,**不会**被 shell 误解析
|
|
95
|
+
- 但 `+` 在 bash 中是通配符、`=` 在 cmd.exe 中会触发变量赋值,**务必用引号包起来**
|
|
96
|
+
- 推荐使用双引号 `"..."`(除非 secret 中含 `$`,那就用单引号 `'...'`)
|
|
97
|
+
|
|
98
|
+
**输出示例**:
|
|
99
|
+
```json
|
|
100
|
+
{"status": "ok", "message": "secret saved"}
|
|
101
|
+
```
|
|
102
|
+
|
|
103
|
+
**失败示例**(secret 为空):
|
|
104
|
+
```
|
|
105
|
+
secret cannot be empty
|
|
106
|
+
```
|
|
107
|
+
|
|
108
|
+
**与扫码登录的等价性**:
|
|
109
|
+
- secret 落到同一份 `~/.config/kugou-cli/auth.json`
|
|
110
|
+
- 后续 `auth status` 输出 `{"logged_in": true}`
|
|
111
|
+
- 所有 `music` 子命令立即可用,无需任何额外步骤
|
|
112
|
+
- nickname 字段为空(因为导入途径不带昵称),不影响功能
|
|
113
|
+
|
|
114
|
+
**上游校验时机**:
|
|
115
|
+
- CLI 不做本地格式校验(不做 base64 解码、不解密),只做"非空"检查
|
|
116
|
+
- secret 实际有效性在**第一次**调用 `music <sub>` 时由上游校验;secret 失效/过期会返回 `errcode: 30001`(密钥错误)
|
|
117
|
+
|
|
118
|
+
---
|
package/references/music.md
CHANGED
|
@@ -294,7 +294,7 @@ kugou-cli music charts 52144 --page 1 --size 20
|
|
|
294
294
|
kugou-cli music create-playlist "我的空歌单"
|
|
295
295
|
|
|
296
296
|
# 创建歌单并添加歌曲
|
|
297
|
-
kugou-cli music create-playlist "我的批量歌单" --songs "
|
|
297
|
+
kugou-cli music create-playlist "我的批量歌单" --songs "123,456,789"
|
|
298
298
|
```
|
|
299
299
|
|
|
300
300
|
**参数**:
|