@round2ai/r2-cli 1.0.6 → 1.0.9-beta.0

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@round2ai/r2-cli",
3
- "version": "1.0.6",
3
+ "version": "1.0.9-beta.0",
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",
@@ -23,7 +24,7 @@
23
24
  ],
24
25
  "files": [
25
26
  "dist",
26
- ".claude/skills/r2-cli-0.1.0",
27
+ "skills",
27
28
  "package.json",
28
29
  "README.md"
29
30
  ],
@@ -32,7 +33,10 @@
32
33
  "engines": {
33
34
  "node": ">=18.0.0"
34
35
  },
35
- "repository": "https://github.com/Round2AI/r2-cli",
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",
@@ -0,0 +1,80 @@
1
+ ---
2
+ name: r2-auth
3
+ description: R2-CLI 认证登录专家。两步式扫码登录和闲鱼店铺授权。用于登录、login、auth、扫码、二维码、授权、xianyu、logout、登出、状态查询场景。Agent 生成二维码后同时展示 unicodeQR 和 qrUrl 给用户。
4
+ ---
5
+
6
+ # R2-Auth Skill
7
+
8
+ 两步式扫码登录 + 闲鱼店铺授权,专为 AI Agent 设计。
9
+
10
+ ## 命令前缀
11
+
12
+ 见 **r2-cli** skill 的"命令前缀自动检测"章节。
13
+
14
+ ## 扫码登录(两步)
15
+
16
+ ### 第 1 步:生成二维码
17
+
18
+ ```bash
19
+ r2-cli auth login qr
20
+ ```
21
+
22
+ 输出 JSON:
23
+ ```json
24
+ {
25
+ "qrToken": "xxx",
26
+ "expireTimeMs": 300000,
27
+ "pollIntervalMs": 800,
28
+ "unicodeQR": "█▀▀▀▀▀█ ...",
29
+ "url": "https://m.puresnake.com/r2/auth/login?qrToken=xxx&from=wechat",
30
+ "qrUrl": "http://127.0.0.1:52173/login/"
31
+ }
32
+ ```
33
+
34
+ **Agent 必须同时展示以下两种方式**:
35
+
36
+ 1. 将 `unicodeQR` 直接输出到聊天窗口(unicode 半块字符 █▀▄ 可显示为 QR 码)
37
+ 2. 输出 `qrUrl` 链接供用户点击在浏览器中打开
38
+
39
+ 两种方式缺一不可。用户可使用**第二回合 APP / 微信 / 支付宝**扫码。
40
+
41
+ ### 第 2 步:立即轮询登录状态
42
+
43
+ **关键**:输出二维码后,Agent 必须立即在后台启动轮询,不要等待用户回复。
44
+
45
+ ```bash
46
+ r2-cli auth login poll --token <qrToken> --expire <expireTimeMs> --interval <pollIntervalMs>
47
+ ```
48
+
49
+ 使用 Bash 工具的 `run_in_background: true` 启动,然后用 `TaskOutput` 阻塞等待。参数取自第 1 步返回的 JSON。
50
+
51
+ 成功:`{ "success": true, "userInfo": { "nickname": "...", "mobile": "..." }, "token": "..." }`
52
+ 失败:`{ "success": false, "error": "轮询超时 ..." }`
53
+
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
+ ```
67
+
68
+ Agent 同样必须同时展示 `unicodeQR` 和 `qrUrl`。
69
+
70
+ ## 其他命令
71
+
72
+ | 命令 | 说明 |
73
+ |------|------|
74
+ | `r2-cli auth status` | 查看登录状态 |
75
+ | `r2-cli auth logout` | 退出登录 |
76
+
77
+ ## 注意事项
78
+
79
+ - 二维码默认 5 分钟过期,超时需重新执行第 1 步
80
+ - 登录成功后,后续 goods 等命令可直接使用
@@ -0,0 +1,5 @@
1
+ {
2
+ "ownerId": "round2ai",
3
+ "slug": "r2-auth",
4
+ "version": "0.1.0"
5
+ }
@@ -0,0 +1,70 @@
1
+ ---
2
+ name: r2-cli
3
+ description: R2-CLI 二手潮奢交易 CLI 工具。用于认证登录、商品上架/下架/改价、查看店铺/仓库/选品商品/上架列表。Agent 获取数据后展示给用户选择,完成 4 步上架流程。触发词:r2-cli、登录、上架、下架、改价、商品、goods、auth、shops、stocks、listing。
4
+ ---
5
+
6
+ # R2-CLI Skill
7
+
8
+ 二手潮奢交易命令行工具。
9
+
10
+ ## 安装
11
+
12
+ ```bash
13
+ npm install -g @round2ai/r2-cli@latest
14
+ ```
15
+
16
+ ## 命令前缀自动检测
17
+
18
+ 首次使用时检测一次,后续所有命令使用检测到的前缀:
19
+
20
+ 1. 项目目录有 `package.json`(name 含 r2-cli)→ `npm run dev --`
21
+ 2. 存在 `dist/r2-cli.js` → `node dist/r2-cli.js`
22
+ 3. `r2-cli --version` 成功 → `r2-cli`
23
+
24
+ > 部分平台 npm 会拦截 `--help` 等 flag,改用 `npx tsx src/entrypoints/r2-cli.tsx --help`。
25
+
26
+ ## 前置条件
27
+
28
+ - 先登录:`r2-cli auth login`(支持第二回合 APP / 微信 / 支付宝扫码)
29
+ - 检查状态:`r2-cli auth status`
30
+
31
+ 所有 `--json` 命令输出 `{ success: false, error: "..." }` 格式错误,检查 `success` 判断成败。
32
+
33
+ ## 认证命令
34
+
35
+ | 命令 | 说明 |
36
+ |------|------|
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` | 查看登录状态 |
44
+ | `r2-cli auth logout` | 退出登录 |
45
+
46
+ > 认证登录的 Agent 两步式流程见 **r2-auth** skill。
47
+
48
+ ## 商品管理命令
49
+
50
+ | 命令 | 说明 |
51
+ |------|------|
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。
@@ -0,0 +1,5 @@
1
+ {
2
+ "ownerId": "round2ai",
3
+ "slug": "r2-cli",
4
+ "version": "0.1.0"
5
+ }
@@ -0,0 +1,106 @@
1
+ ---
2
+ name: r2-goods
3
+ description: R2-CLI 商品管理专家。用于商品上架/下架/改价、查看店铺/仓库/选品商品/上架列表。Agent 获取数据后展示给用户选择,完成 4 步上架流程。触发词:上架、下架、改价、商品列表、goods、up、down、price、shops、stocks、listing、list。
4
+ ---
5
+
6
+ # R2-Goods Skill
7
+
8
+ 商品管理专家,指导 AI Agent 完成商品上架、下架、改价全流程。
9
+
10
+ ## 命令前缀
11
+
12
+ 见 **r2-cli** skill 的"命令前缀自动检测"章节。
13
+
14
+ ## 命令概览
15
+
16
+ | 命令 | 说明 |
17
+ |------|------|
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]` | 修改上架价格(**必须先询问用户新价格**) |
26
+
27
+ ---
28
+
29
+ ## Agent 上架流程(4 步)
30
+
31
+ **每一步 Agent 获取数据后,必须展示给用户让用户做选择。** 不要让用户自己提供 ID。
32
+
33
+ ### 第 1 步:获取店铺 → 用户选择
34
+
35
+ ```bash
36
+ r2-cli goods shops --json
37
+ ```
38
+
39
+ 展示 `shopId`(第三方店铺 ID,**上架参数取这个,不是 `id`**)、`shopName`、`platform`。
40
+
41
+ ### 第 2 步:获取仓库 → 用户选择
42
+
43
+ ```bash
44
+ r2-cli goods stocks --json
45
+ ```
46
+
47
+ 展示 `stockId`、`stockName`。`stockId` 用于第 3 步过滤商品。
48
+
49
+ ### 第 3 步:获取选品商品 → 用户选择
50
+
51
+ ```bash
52
+ r2-cli goods list --stock-id <stockId> --json
53
+ ```
54
+
55
+ 展示 `stockGoodsId`(**上架参数取这个**)、`goodsName`、`brand`、`size`、`salePrice`。支持翻页(`--page 2`)。
56
+
57
+ ### 第 4 步:提交上架
58
+
59
+ ```bash
60
+ r2-cli goods up --stock-goods-id <stockGoodsId> --shop-id <shopId> --price <amount> --json
61
+ ```
62
+
63
+ 命令自动轮询上架进度(每 2 秒,最多 10 秒),返回 `{ success, data: { submit, listing } }`。检查 `data.listing.status` 判断最终状态(init/up/down/fail)。
64
+
65
+ ### 上架参数
66
+
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 推荐 |
74
+
75
+ ---
76
+
77
+ ## 下架商品
78
+
79
+ **Agent 必须先向用户确认后再下架。**
80
+
81
+ ```bash
82
+ r2-cli goods down --id <goodsListingId> --json
83
+ # 或 --stock-goods-id <id> --shop-id <id>
84
+ ```
85
+
86
+ ## 修改价格
87
+
88
+ **Agent 必须先询问用户新价格,不能自行决定。** 用户说"修改价格"时,先问"要改成多少?"。
89
+
90
+ ```bash
91
+ r2-cli goods price --id <goodsListingId> --price <新价格> --json
92
+ # 或 --stock-goods-id <id> --shop-id <id>
93
+ ```
94
+
95
+ ## 查询上架列表
96
+
97
+ ```bash
98
+ r2-cli goods listing --json
99
+ # 支持 --id / --shop-id / --stock-goods-id / --status <init|up|down|fail> / --platform 过滤
100
+ ```
101
+
102
+ ---
103
+
104
+ ## 错误处理
105
+
106
+ 所有命令统一格式:`{ "success": false, "error": "错误信息" }`。检查 `success` 判断成败。
@@ -0,0 +1,5 @@
1
+ {
2
+ "ownerId": "round2ai",
3
+ "slug": "r2-goods",
4
+ "version": "0.1.0"
5
+ }