@round2ai/r2-cli 1.0.7 → 1.0.9
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 +60 -41
- package/dist/README.md +60 -41
- package/dist/package.json +6 -2
- package/dist/pages/login.html +62 -0
- package/dist/pages/xianyu-auth.html +73 -0
- package/dist/r2-cli.js +44 -28
- package/package.json +6 -2
- package/skills/r2-auth/SKILL.md +33 -40
- package/skills/r2-cli/SKILL.md +37 -22
- package/skills/r2-goods/SKILL.md +52 -128
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@round2ai/r2-cli",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.9",
|
|
4
4
|
"description": "R2-CLI,向 AI 开放二手潮奢交易全链路能力",
|
|
5
5
|
"main": "dist/r2-cli.js",
|
|
6
6
|
"type": "module",
|
|
@@ -14,6 +14,7 @@
|
|
|
14
14
|
},
|
|
15
15
|
"keywords": [
|
|
16
16
|
"round2ai",
|
|
17
|
+
"r2",
|
|
17
18
|
"r2-cli",
|
|
18
19
|
"cli",
|
|
19
20
|
"ai",
|
|
@@ -32,7 +33,10 @@
|
|
|
32
33
|
"engines": {
|
|
33
34
|
"node": ">=18.0.0"
|
|
34
35
|
},
|
|
35
|
-
"repository":
|
|
36
|
+
"repository": {
|
|
37
|
+
"type": "git",
|
|
38
|
+
"url": "https://github.com/Round2AI/r2-cli"
|
|
39
|
+
},
|
|
36
40
|
"dependencies": {
|
|
37
41
|
"@inquirer/prompts": "^8.4.2",
|
|
38
42
|
"chalk": "^5.3.0",
|
package/skills/r2-auth/SKILL.md
CHANGED
|
@@ -1,25 +1,19 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: r2-auth
|
|
3
|
-
description: R2-CLI
|
|
3
|
+
description: R2-CLI 认证登录专家。两步式扫码登录和闲鱼店铺授权。用于登录、login、auth、扫码、二维码、授权、xianyu、logout、登出、状态查询场景。Agent 生成二维码后同时展示 unicodeQR 和 qrUrl 给用户。
|
|
4
4
|
---
|
|
5
5
|
|
|
6
6
|
# R2-Auth Skill
|
|
7
7
|
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
## 安装
|
|
11
|
-
|
|
12
|
-
```bash
|
|
13
|
-
npm install -g @round2ai/r2-cli@latest
|
|
14
|
-
```
|
|
8
|
+
两步式扫码登录 + 闲鱼店铺授权,专为 AI Agent 设计。
|
|
15
9
|
|
|
16
10
|
## 命令前缀
|
|
17
11
|
|
|
18
|
-
见 **r2-cli** skill 的"命令前缀自动检测"
|
|
12
|
+
见 **r2-cli** skill 的"命令前缀自动检测"章节。
|
|
19
13
|
|
|
20
|
-
##
|
|
14
|
+
## 扫码登录(两步)
|
|
21
15
|
|
|
22
|
-
### 第1步:生成二维码
|
|
16
|
+
### 第 1 步:生成二维码
|
|
23
17
|
|
|
24
18
|
```bash
|
|
25
19
|
r2-cli auth login qr
|
|
@@ -31,14 +25,20 @@ r2-cli auth login qr
|
|
|
31
25
|
"qrToken": "xxx",
|
|
32
26
|
"expireTimeMs": 300000,
|
|
33
27
|
"pollIntervalMs": 800,
|
|
34
|
-
"
|
|
35
|
-
"
|
|
28
|
+
"unicodeQR": "█▀▀▀▀▀█ ...",
|
|
29
|
+
"url": "https://m.puresnake.com/r2/auth/login?qrToken=xxx&from=wechat",
|
|
30
|
+
"qrUrl": "http://127.0.0.1:52173/login/"
|
|
36
31
|
}
|
|
37
32
|
```
|
|
38
33
|
|
|
39
|
-
**Agent
|
|
34
|
+
**Agent 必须同时展示以下两种方式**:
|
|
35
|
+
|
|
36
|
+
1. 将 `unicodeQR` 直接输出到聊天窗口(unicode 半块字符 █▀▄ 可显示为 QR 码)
|
|
37
|
+
2. 输出 `qrUrl` 链接供用户点击在浏览器中打开
|
|
38
|
+
|
|
39
|
+
两种方式缺一不可。用户可使用**第二回合 APP / 微信 / 支付宝**扫码。
|
|
40
40
|
|
|
41
|
-
### 第2步:立即轮询登录状态
|
|
41
|
+
### 第 2 步:立即轮询登录状态
|
|
42
42
|
|
|
43
43
|
**关键**:输出二维码后,Agent 必须立即在后台启动轮询,不要等待用户回复。
|
|
44
44
|
|
|
@@ -46,25 +46,27 @@ r2-cli auth login qr
|
|
|
46
46
|
r2-cli auth login poll --token <qrToken> --expire <expireTimeMs> --interval <pollIntervalMs>
|
|
47
47
|
```
|
|
48
48
|
|
|
49
|
-
使用 Bash 工具的 `run_in_background: true`
|
|
49
|
+
使用 Bash 工具的 `run_in_background: true` 启动,然后用 `TaskOutput` 阻塞等待。参数取自第 1 步返回的 JSON。
|
|
50
50
|
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
{
|
|
54
|
-
"success": true,
|
|
55
|
-
"userInfo": { "nickname": "...", "mobile": "..." },
|
|
56
|
-
"token": "..."
|
|
57
|
-
}
|
|
58
|
-
```
|
|
51
|
+
成功:`{ "success": true, "userInfo": { "nickname": "...", "mobile": "..." }, "token": "..." }`
|
|
52
|
+
失败:`{ "success": false, "error": "轮询超时 ..." }`
|
|
59
53
|
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
54
|
+
## 闲鱼店铺授权(两步)
|
|
55
|
+
|
|
56
|
+
流程与登录相同。
|
|
57
|
+
|
|
58
|
+
```bash
|
|
59
|
+
# 第 1 步
|
|
60
|
+
r2-cli auth xianyu qr
|
|
61
|
+
# → { "state": "xxx", "expireTimeMs": 300000, "pollIntervalMs": 1000, "unicodeQR": "...", "qrUrl": "..." }
|
|
62
|
+
|
|
63
|
+
# 第 2 步
|
|
64
|
+
r2-cli auth xianyu poll --state <state> --expire <expireTimeMs> --interval <pollIntervalMs>
|
|
65
|
+
# → 成功:{ "success": true, "shopId": "...", "shopName": "..." }
|
|
66
66
|
```
|
|
67
67
|
|
|
68
|
+
Agent 同样必须同时展示 `unicodeQR` 和 `qrUrl`。
|
|
69
|
+
|
|
68
70
|
## 其他命令
|
|
69
71
|
|
|
70
72
|
| 命令 | 说明 |
|
|
@@ -72,16 +74,7 @@ r2-cli auth login poll --token <qrToken> --expire <expireTimeMs> --interval <pol
|
|
|
72
74
|
| `r2-cli auth status` | 查看登录状态 |
|
|
73
75
|
| `r2-cli auth logout` | 退出登录 |
|
|
74
76
|
|
|
75
|
-
## 人类一键登录
|
|
76
|
-
|
|
77
|
-
```bash
|
|
78
|
-
r2-cli auth login
|
|
79
|
-
```
|
|
80
|
-
|
|
81
|
-
直接在终端显示 unicode 二维码,适合人类在 CLI 中使用。
|
|
82
|
-
|
|
83
77
|
## 注意事项
|
|
84
78
|
|
|
85
|
-
-
|
|
86
|
-
- 二维码默认5分钟过期,超时需重新执行第1步
|
|
79
|
+
- 二维码默认 5 分钟过期,超时需重新执行第 1 步
|
|
87
80
|
- 登录成功后,后续 goods 等命令可直接使用
|
package/skills/r2-cli/SKILL.md
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: r2-cli
|
|
3
|
-
description: R2-CLI
|
|
3
|
+
description: R2-CLI 二手潮奢交易 CLI 工具。用于认证登录、商品上架/下架/改价、查看店铺/仓库/选品商品/上架列表。Agent 获取数据后展示给用户选择,完成 4 步上架流程。触发词:r2-cli、登录、上架、下架、改价、商品、goods、auth、shops、stocks、listing。
|
|
4
4
|
---
|
|
5
5
|
|
|
6
6
|
# R2-CLI Skill
|
|
7
7
|
|
|
8
|
-
|
|
8
|
+
二手潮奢交易命令行工具。
|
|
9
9
|
|
|
10
10
|
## 安装
|
|
11
11
|
|
|
@@ -21,35 +21,50 @@ npm install -g @round2ai/r2-cli@latest
|
|
|
21
21
|
2. 存在 `dist/r2-cli.js` → `node dist/r2-cli.js`
|
|
22
22
|
3. `r2-cli --version` 成功 → `r2-cli`
|
|
23
23
|
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
> **注意**:部分平台 npm 会拦截 `--help`/`-h` 等 flag,若 `npm run dev -- --help` 显示的是 npm 帮助,改用 `npx tsx src/entrypoints/r2-cli.tsx --help`。
|
|
24
|
+
> 部分平台 npm 会拦截 `--help` 等 flag,改用 `npx tsx src/entrypoints/r2-cli.tsx --help`。
|
|
27
25
|
|
|
28
26
|
## 前置条件
|
|
29
27
|
|
|
30
|
-
-
|
|
31
|
-
-
|
|
32
|
-
|
|
33
|
-
|
|
28
|
+
- 先登录:`r2-cli auth login`(支持第二回合 APP / 微信 / 支付宝扫码)
|
|
29
|
+
- 检查状态:`r2-cli auth status`
|
|
30
|
+
|
|
31
|
+
所有 `--json` 命令输出 `{ success: false, error: "..." }` 格式错误,检查 `success` 判断成败。
|
|
34
32
|
|
|
35
|
-
## 认证命令
|
|
33
|
+
## 认证命令
|
|
36
34
|
|
|
37
35
|
| 命令 | 说明 |
|
|
38
36
|
|------|------|
|
|
39
|
-
| `r2-cli auth login` |
|
|
37
|
+
| `r2-cli auth login` | 扫码登录(交互式,人类用) |
|
|
38
|
+
| `r2-cli auth login qr` | 生成登录二维码 JSON(Agent 第1步) |
|
|
39
|
+
| `r2-cli auth login poll --token <>` | 轮询登录状态 JSON(Agent 第2步) |
|
|
40
|
+
| `r2-cli auth xianyu` | 闲鱼店铺授权(交互式) |
|
|
41
|
+
| `r2-cli auth xianyu qr` | 获取授权二维码 JSON(Agent 第1步) |
|
|
42
|
+
| `r2-cli auth xianyu poll --state <>` | 轮询授权状态 JSON(Agent 第2步) |
|
|
43
|
+
| `r2-cli auth status` | 查看登录状态 |
|
|
40
44
|
| `r2-cli auth logout` | 退出登录 |
|
|
41
|
-
| `r2-cli auth status` | 查看登录状态和用户信息 |
|
|
42
45
|
|
|
43
|
-
|
|
46
|
+
> 认证登录的 Agent 两步式流程见 **r2-auth** skill。
|
|
47
|
+
|
|
48
|
+
## 商品管理命令
|
|
44
49
|
|
|
45
50
|
| 命令 | 说明 |
|
|
46
51
|
|------|------|
|
|
47
|
-
| `r2-cli goods shops` |
|
|
48
|
-
| `r2-cli goods
|
|
49
|
-
| `r2-cli goods
|
|
50
|
-
| `r2-cli goods
|
|
51
|
-
| `r2-cli goods
|
|
52
|
-
| `r2-cli goods
|
|
53
|
-
|
|
54
|
-
>
|
|
55
|
-
|
|
52
|
+
| `r2-cli goods shops [--json]` | 查看所有已授权店铺 |
|
|
53
|
+
| `r2-cli goods stocks [--json]` | 查看所有仓库 |
|
|
54
|
+
| `r2-cli goods list --stock-id <id> [--json]` | 查看仓库中的选品商品 |
|
|
55
|
+
| `r2-cli goods listing [--json]` | 查询上架列表(支持 --id/--shop-id/--status 过滤) |
|
|
56
|
+
| `r2-cli goods up` | 交互式上架 |
|
|
57
|
+
| `r2-cli goods up --stock-goods-id <id> --shop-id <id> --price <amount> --json` | Agent 直接上架(自动轮询结果) |
|
|
58
|
+
| `r2-cli goods down --id <id> [--json]` | 下架商品(**必须先确认**) |
|
|
59
|
+
| `r2-cli goods price --id <id> --price <amount> [--json]` | 修改上架价格(**必须先询问用户新价格**) |
|
|
60
|
+
|
|
61
|
+
### Agent 上架 4 步流程
|
|
62
|
+
|
|
63
|
+
**核心理念:Agent 获取数据后展示给用户选择,不要让用户自己提供 ID。**
|
|
64
|
+
|
|
65
|
+
1. `r2-cli goods shops --json` → 展示店铺(shopId、shopName、platform)→ 用户选择
|
|
66
|
+
2. `r2-cli goods stocks --json` → 展示仓库(stockId、stockName)→ 用户选择
|
|
67
|
+
3. `r2-cli goods list --stock-id <id> --json` → 展示商品(stockGoodsId、goodsName、brand、size、salePrice)→ 用户选择
|
|
68
|
+
4. `r2-cli goods up --stock-goods-id <id> --shop-id <id> --price <amount> --json` → 提交上架(自动轮询结果)
|
|
69
|
+
|
|
70
|
+
> 完整流程和参数说明见 **r2-goods** skill。
|
package/skills/r2-goods/SKILL.md
CHANGED
|
@@ -1,182 +1,106 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: r2-goods
|
|
3
|
-
description: R2-CLI
|
|
3
|
+
description: R2-CLI 商品管理专家。用于商品上架/下架/改价、查看店铺/仓库/选品商品/上架列表。Agent 获取数据后展示给用户选择,完成 4 步上架流程。触发词:上架、下架、改价、商品列表、goods、up、down、price、shops、stocks、listing、list。
|
|
4
4
|
---
|
|
5
5
|
|
|
6
6
|
# R2-Goods Skill
|
|
7
7
|
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
## 安装
|
|
11
|
-
|
|
12
|
-
```bash
|
|
13
|
-
npm install -g @round2ai/r2-cli@latest
|
|
14
|
-
```
|
|
8
|
+
商品管理专家,指导 AI Agent 完成商品上架、下架、改价全流程。
|
|
15
9
|
|
|
16
10
|
## 命令前缀
|
|
17
11
|
|
|
18
|
-
见 **r2-cli** skill 的"命令前缀自动检测"
|
|
12
|
+
见 **r2-cli** skill 的"命令前缀自动检测"章节。
|
|
19
13
|
|
|
20
14
|
## 命令概览
|
|
21
15
|
|
|
22
16
|
| 命令 | 说明 |
|
|
23
17
|
|------|------|
|
|
24
|
-
| `r2-cli goods shops` |
|
|
25
|
-
| `r2-cli goods
|
|
26
|
-
| `r2-cli goods
|
|
27
|
-
| `r2-cli goods
|
|
28
|
-
| `r2-cli goods
|
|
29
|
-
| `r2-cli goods
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
- `--status <status>` — `wait`(待上架)、`on`(已上架)、`sold`(已售)、`down`(已下架)
|
|
34
|
-
- `--keyword <keyword>` — 搜索关键词
|
|
35
|
-
- `--page <n>` / `--size <n>` — 分页(size 上限 100)
|
|
36
|
-
|
|
37
|
-
## 交互式上架(7步)
|
|
38
|
-
|
|
39
|
-
`r2-cli goods up` 直接进入交互式向导:
|
|
18
|
+
| `r2-cli goods shops [--json]` | 查看所有已授权店铺 |
|
|
19
|
+
| `r2-cli goods stocks [--json]` | 查看所有仓库 |
|
|
20
|
+
| `r2-cli goods list --stock-id <id> [--json]` | 查看仓库中的选品商品 |
|
|
21
|
+
| `r2-cli goods listing [--json]` | 查询上架列表(支持 --id/--shop-id/--status 过滤) |
|
|
22
|
+
| `r2-cli goods up` | 交互式上架 |
|
|
23
|
+
| `r2-cli goods up --stock-goods-id <id> --shop-id <id> --price <amount> --json` | Agent 直接上架(自动轮询结果) |
|
|
24
|
+
| `r2-cli goods down --id <id> [--json]` | 下架商品(**必须先确认**) |
|
|
25
|
+
| `r2-cli goods price --id <id> --price <amount> [--json]` | 修改上架价格(**必须先询问用户新价格**) |
|
|
40
26
|
|
|
41
|
-
|
|
42
|
-
2. **选择商品** — 从待同步列表中选择
|
|
43
|
-
3. **选择成色** — 成色等级(商品类型固定为普通商品)
|
|
44
|
-
4. **商品描述** — 输入描述
|
|
45
|
-
5. **选择类目** — 主类目 → 子类目
|
|
46
|
-
6. **售价** — 输入售价(必须为正数)
|
|
47
|
-
7. **选择属性** — 品牌/尺码/成色自动匹配
|
|
48
|
-
8. **确认提交** — 展示摘要确认
|
|
49
|
-
|
|
50
|
-
> 目前仅支持普通商品(bizType=2),严选商品暂不支持。
|
|
27
|
+
---
|
|
51
28
|
|
|
52
|
-
##
|
|
29
|
+
## Agent 上架流程(4 步)
|
|
53
30
|
|
|
54
|
-
Agent
|
|
31
|
+
**每一步 Agent 获取数据后,必须展示给用户让用户做选择。** 不要让用户自己提供 ID。
|
|
55
32
|
|
|
56
|
-
|
|
57
|
-
1. r2-cli goods list --status wait → 获取待上架商品列表
|
|
58
|
-
2. r2-cli goods up info <id> → 获取商品详情 + 店铺 + 地址 + 预填值
|
|
59
|
-
3. r2-cli goods up address ... → (仅地址为 null 时)设置发货地址
|
|
60
|
-
4. r2-cli goods up categories → 获取分类树
|
|
61
|
-
5. r2-cli goods up props <catId> → 获取分类属性 + 品牌搜索
|
|
62
|
-
6. r2-cli goods up submit ... → 提交上架
|
|
63
|
-
```
|
|
64
|
-
|
|
65
|
-
### 第1步:获取待上架商品列表
|
|
33
|
+
### 第 1 步:获取店铺 → 用户选择
|
|
66
34
|
|
|
67
35
|
```bash
|
|
68
|
-
r2-cli goods
|
|
69
|
-
# 表格输出:ID、名称、货号、规格、售价
|
|
36
|
+
r2-cli goods shops --json
|
|
70
37
|
```
|
|
71
38
|
|
|
72
|
-
|
|
39
|
+
展示 `shopId`(第三方店铺 ID,**上架参数取这个,不是 `id`**)、`shopName`、`platform`。
|
|
40
|
+
|
|
41
|
+
### 第 2 步:获取仓库 → 用户选择
|
|
73
42
|
|
|
74
43
|
```bash
|
|
75
|
-
r2-cli goods
|
|
76
|
-
# 返回: { shops, selectedShop, goodsDetail(含goodsInfoId), prefill, address }
|
|
44
|
+
r2-cli goods stocks --json
|
|
77
45
|
```
|
|
78
46
|
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
| 字段 | 说明 | 可选值 |
|
|
82
|
-
|------|------|--------|
|
|
83
|
-
| `stuffStatus` | 成色 | `"100"`全新, `"-1"`准新, `"99"`99新, `"95"`95新, `"90"`9新 |
|
|
84
|
-
| `reservePrice` | 建议售价 | 金额 |
|
|
85
|
-
| `desc` | 商品描述 | 文本 |
|
|
86
|
-
| `brandName` | 品牌名 | 用于品牌属性搜索 |
|
|
87
|
-
| `size` | 规格/尺码 | 用于尺码属性匹配 |
|
|
47
|
+
展示 `stockId`、`stockName`。`stockId` 用于第 3 步过滤商品。
|
|
88
48
|
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
选项:`--shop <shopId>` `-p, --platform <xianyu|douyin>`
|
|
92
|
-
|
|
93
|
-
### 第3步:设置发货地址(如需要)
|
|
94
|
-
|
|
95
|
-
非交互式(Agent 推荐):
|
|
49
|
+
### 第 3 步:获取选品商品 → 用户选择
|
|
96
50
|
|
|
97
51
|
```bash
|
|
98
|
-
|
|
99
|
-
r2-cli goods up address --provinces
|
|
100
|
-
# 列出城市
|
|
101
|
-
r2-cli goods up address --cities <省份名>
|
|
102
|
-
# 列出地区
|
|
103
|
-
r2-cli goods up address --areas <城市名> --province <省份名>
|
|
104
|
-
# 保存地址
|
|
105
|
-
r2-cli goods up address --save --province <省> --city <市> --area-code <code>
|
|
52
|
+
r2-cli goods list --stock-id <stockId> --json
|
|
106
53
|
```
|
|
107
54
|
|
|
108
|
-
|
|
55
|
+
展示 `stockGoodsId`(**上架参数取这个**)、`goodsName`、`brand`、`size`、`salePrice`。支持翻页(`--page 2`)。
|
|
56
|
+
|
|
57
|
+
### 第 4 步:提交上架
|
|
109
58
|
|
|
110
59
|
```bash
|
|
111
|
-
r2-cli goods up
|
|
60
|
+
r2-cli goods up --stock-goods-id <stockGoodsId> --shop-id <shopId> --price <amount> --json
|
|
112
61
|
```
|
|
113
62
|
|
|
114
|
-
|
|
63
|
+
命令自动轮询上架进度(每 2 秒,最多 10 秒),返回 `{ success, data: { submit, listing } }`。检查 `data.listing.status` 判断最终状态(init/up/down/fail)。
|
|
115
64
|
|
|
116
|
-
|
|
117
|
-
r2-cli goods up address
|
|
118
|
-
```
|
|
65
|
+
### 上架参数
|
|
119
66
|
|
|
120
|
-
|
|
67
|
+
| 参数 | 必填 | 来源 |
|
|
68
|
+
|------|------|------|
|
|
69
|
+
| `--stock-goods-id <id>` | 是 | 第 3 步 `stockGoodsId` |
|
|
70
|
+
| `--shop-id <id>` | 是 | 第 1 步 `shopId`(不是 `id`) |
|
|
71
|
+
| `--price <amount>` | 是 | 用户输入 |
|
|
72
|
+
| `-p, --platform` | 否 | 默认 xianyu |
|
|
73
|
+
| `--json` | 否 | Agent 推荐 |
|
|
121
74
|
|
|
122
|
-
|
|
123
|
-
r2-cli goods up categories
|
|
124
|
-
# 返回: [{ catId, catName, children: [{ channel, channelCatId }] }]
|
|
125
|
-
```
|
|
75
|
+
---
|
|
126
76
|
|
|
127
|
-
|
|
77
|
+
## 下架商品
|
|
128
78
|
|
|
129
|
-
|
|
79
|
+
**Agent 必须先向用户确认后再下架。**
|
|
130
80
|
|
|
131
81
|
```bash
|
|
132
|
-
r2-cli goods
|
|
133
|
-
#
|
|
82
|
+
r2-cli goods down --id <goodsListingId> --json
|
|
83
|
+
# 或 --stock-goods-id <id> --shop-id <id>
|
|
134
84
|
```
|
|
135
85
|
|
|
136
|
-
|
|
137
|
-
- Agent 应优先使用 `matched` 中的值
|
|
86
|
+
## 修改价格
|
|
138
87
|
|
|
139
|
-
|
|
88
|
+
**Agent 必须先询问用户新价格,不能自行决定。** 用户说"修改价格"时,先问"要改成多少?"。
|
|
140
89
|
|
|
141
90
|
```bash
|
|
142
|
-
r2-cli goods
|
|
143
|
-
|
|
144
|
-
--division-id <id> \
|
|
145
|
-
--cat-id <catId> \
|
|
146
|
-
--channel-cat-id <channelCatId> \
|
|
147
|
-
--goods-no <货号> \
|
|
148
|
-
--size <规格> \
|
|
149
|
-
--attrs @attrs.json \
|
|
150
|
-
--services @services.json
|
|
91
|
+
r2-cli goods price --id <goodsListingId> --price <新价格> --json
|
|
92
|
+
# 或 --stock-goods-id <id> --shop-id <id>
|
|
151
93
|
```
|
|
152
94
|
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
**必填参数**:`--data`、`--division-id`、`--cat-id`、`--channel-cat-id`
|
|
156
|
-
|
|
157
|
-
**可选覆盖参数**:
|
|
158
|
-
- `--price <amount>` — 覆盖售价
|
|
159
|
-
- `--stuff <status>` — 覆盖成色
|
|
160
|
-
- `--desc <desc>` — 覆盖描述
|
|
161
|
-
- `--goods-no <no>` — 货号
|
|
162
|
-
- `--size <size>` — 规格
|
|
163
|
-
- `--title <title>` — 标题
|
|
164
|
-
- `--attrs <json>` — 属性列表 JSON(`@file.json` 从文件读取)
|
|
165
|
-
- `--services <json>` — 服务保障 JSON(`@file.json` 从文件读取)
|
|
95
|
+
## 查询上架列表
|
|
166
96
|
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
{ "propId": "xxx", "valueId": "yyy", "valueName": "JORDAN" }
|
|
97
|
+
```bash
|
|
98
|
+
r2-cli goods listing --json
|
|
99
|
+
# 支持 --id / --shop-id / --stock-goods-id / --status <init|up|down|fail> / --platform 过滤
|
|
171
100
|
```
|
|
172
101
|
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
- **店铺**:首次选择后缓存到 `~/.r2-cli/config.json`,下次自动使用
|
|
176
|
-
- **地址**:`address --save` 或交互式设置后缓存
|
|
102
|
+
---
|
|
177
103
|
|
|
178
|
-
##
|
|
104
|
+
## 错误处理
|
|
179
105
|
|
|
180
|
-
|
|
181
|
-
- 目前仅支持普通商品(itemBizType=2)
|
|
182
|
-
- Windows 下 JSON 参数建议用 `@file.json` 方式传
|
|
106
|
+
所有命令统一格式:`{ "success": false, "error": "错误信息" }`。检查 `success` 判断成败。
|