@round2ai/r2-cli 1.0.15 → 1.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/LICENSE +21 -0
- package/README.md +122 -35
- package/dist/pages/{xianyu-auth.html → third-auth.html} +29 -14
- package/dist/r2-cli.js +66 -38
- package/package.json +10 -6
- package/scripts/install.js +111 -0
- package/skills/r2-auth/SKILL.md +10 -8
- package/skills/r2-auth/_meta.json +1 -1
- package/skills/r2-auth/references/r2-auth-login.md +68 -0
- package/skills/r2-auth/references/r2-auth-logout.md +29 -0
- package/skills/r2-auth/references/r2-auth-status.md +27 -0
- package/skills/r2-goods/SKILL.md +94 -28
- package/skills/r2-goods/_meta.json +1 -1
- package/skills/r2-goods/references/r2-goods-alzc.md +285 -0
- package/skills/r2-goods/references/r2-goods-hangup.md +35 -86
- package/skills/r2-goods/references/r2-goods-listing.md +105 -36
- package/skills/r2-goods/references/r2-goods-query.md +39 -8
- package/skills/r2-goods/scenes/r2-scene-batch-operations.md +79 -0
- package/skills/r2-goods/scenes/r2-scene-edit-with-images.md +51 -0
- package/skills/r2-goods/scenes/r2-scene-hangup-fashion.md +32 -0
- package/skills/r2-shared/SKILL.md +84 -35
- package/skills/r2-shared/_meta.json +2 -2
- package/skills/r2-workflow-batch-up/SKILL.md +77 -0
- package/skills/r2-workflow-batch-up/_meta.json +5 -0
- package/skills/r2-workflow-goods-audit/SKILL.md +79 -0
- package/skills/r2-workflow-goods-audit/_meta.json +5 -0
- package/dist/README.md +0 -246
- package/scripts/install-skills.js +0 -20
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: r2-workflow-batch-up
|
|
3
|
+
version: 1.0.0
|
|
4
|
+
description: "批量上架工作流。将选品库中多个商品批量上架到闲鱼,支持同商品多店铺上架。触发词:批量上架、全部上架、都上架。"
|
|
5
|
+
metadata:
|
|
6
|
+
requires:
|
|
7
|
+
bins: ["r2-cli"]
|
|
8
|
+
related:
|
|
9
|
+
- "r2-shared"
|
|
10
|
+
- "r2-auth"
|
|
11
|
+
- "r2-goods"
|
|
12
|
+
---
|
|
13
|
+
|
|
14
|
+
# 批量上架工作流
|
|
15
|
+
|
|
16
|
+
**CRITICAL -- 开始前 MUST 先用 Read 工具读取 [../r2-shared/SKILL.md](../r2-shared/SKILL.md) 和 [../r2-auth/SKILL.md](../r2-auth/SKILL.md),确保已登录并了解执行规则。商品命令详细用法见 [../r2-goods/SKILL.md](../r2-goods/SKILL.md)。**
|
|
17
|
+
|
|
18
|
+
## 适用场景
|
|
19
|
+
|
|
20
|
+
- "帮我把这些商品都上架"
|
|
21
|
+
- "选品库全部上架到店铺"
|
|
22
|
+
- "这几件都上架了吧"
|
|
23
|
+
|
|
24
|
+
## 工作流
|
|
25
|
+
|
|
26
|
+
1. **确认店铺**:`r2-cli goods shops --json` → 展示店铺让用户选择
|
|
27
|
+
2. **确认仓库**:`r2-cli goods stocks --json` → 用户选择仓库
|
|
28
|
+
3. **展示待上架商品**:`r2-cli goods list --stock-id <id> --json`
|
|
29
|
+
4. **用户选择要上架的商品**(可多选)
|
|
30
|
+
5. **逐商品询问价格** → 逐个执行 `goods xianyu up`
|
|
31
|
+
6. **汇总结果展示**
|
|
32
|
+
|
|
33
|
+
```
|
|
34
|
+
批量上架结果:
|
|
35
|
+
✅ [商品A] → ¥[价格] → 成功(listing id: [id])
|
|
36
|
+
✅ [商品B] → ¥[价格] → 成功(listing id: [id])
|
|
37
|
+
❌ [商品C] → 失败:[错误原因]
|
|
38
|
+
```
|
|
39
|
+
|
|
40
|
+
## 友好输出指引
|
|
41
|
+
|
|
42
|
+
批量上架过程中,每个商品独立执行 `goods xianyu up --json`,Agent 需要逐个处理响应:
|
|
43
|
+
|
|
44
|
+
**每上架一个商品,及时反馈进度**:
|
|
45
|
+
```
|
|
46
|
+
[1/3] Nike 运动鞋 → 上架中...
|
|
47
|
+
[1/3] Nike 运动鞋 → ✅ 成功(id: 12345)
|
|
48
|
+
[2/3] Adidas T恤 → 上架中...
|
|
49
|
+
[2/3] Adidas T恤 → ❌ 失败:商家编码重复
|
|
50
|
+
...
|
|
51
|
+
```
|
|
52
|
+
|
|
53
|
+
**全部完成后展示汇总**:
|
|
54
|
+
```
|
|
55
|
+
批量上架完成!
|
|
56
|
+
✅ 成功:2 个商品
|
|
57
|
+
- Nike 运动鞋 → ¥299 → 店铺A(id: 12345)
|
|
58
|
+
- LV 包 → ¥9999 → 店铺B(id: 12346)
|
|
59
|
+
❌ 失败:1 个商品
|
|
60
|
+
- Adidas T恤 → 错误:商家编码重复
|
|
61
|
+
```
|
|
62
|
+
|
|
63
|
+
> 每个 `goods xianyu up --json` 返回 `{ success, data: { listing: { id, goodsName, price, shopName, status } } }`。Agent 从每个响应中提取 `success` 和 `data.listing` 字段,累加后汇总展示。
|
|
64
|
+
>
|
|
65
|
+
> 中途 Token 过期时:停止工作流,告知用户已完成的商品数,引导重新登录后从断点继续。**不要丢弃已完成的结果**。
|
|
66
|
+
|
|
67
|
+
## 规则
|
|
68
|
+
|
|
69
|
+
- **每个商品独立提交**:一个失败不影响其他商品
|
|
70
|
+
- **批量上架间隔至少 1 秒**,避免触发限流
|
|
71
|
+
- **中途 Token 过期**:停止工作流,引导重新登录后从当前商品继续
|
|
72
|
+
- **提交失败 ≠ 已下架**:可能只是轮询超时,稍后用 `goods xianyu listing` 确认
|
|
73
|
+
|
|
74
|
+
## 参考
|
|
75
|
+
|
|
76
|
+
- [r2-goods/SKILL.md](../r2-goods/SKILL.md) — goods up 详细参数
|
|
77
|
+
- [r2-shared/SKILL.md](../r2-shared/SKILL.md) — 执行规则、Token Expiry Recovery
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: r2-workflow-goods-audit
|
|
3
|
+
version: 1.0.0
|
|
4
|
+
description: "商品审核上架工作流。检查待上架商品的信息完整性后批量提交。触发词:审核上架、审核通过后上架、批量上架审核。"
|
|
5
|
+
metadata:
|
|
6
|
+
requires:
|
|
7
|
+
bins: ["r2-cli"]
|
|
8
|
+
related:
|
|
9
|
+
- "r2-shared"
|
|
10
|
+
- "r2-auth"
|
|
11
|
+
- "r2-goods"
|
|
12
|
+
---
|
|
13
|
+
|
|
14
|
+
# 商品审核上架工作流
|
|
15
|
+
|
|
16
|
+
**CRITICAL -- 开始前 MUST 先用 Read 工具读取 [../r2-shared/SKILL.md](../r2-shared/SKILL.md) 和 [../r2-auth/SKILL.md](../r2-auth/SKILL.md),确保已登录并了解执行规则。商品命令详细用法见 [../r2-goods/SKILL.md](../r2-goods/SKILL.md)。**
|
|
17
|
+
|
|
18
|
+
## 适用场景
|
|
19
|
+
|
|
20
|
+
- "审核通过的商品可以上架了"
|
|
21
|
+
- "帮我检查一下这些商品信息有没有问题"
|
|
22
|
+
|
|
23
|
+
## 工作流
|
|
24
|
+
|
|
25
|
+
1. **查询待审核商品**:`r2-cli goods list --json`
|
|
26
|
+
2. **AI 校验信息完整性**:检查每个商品是否具备上架所需信息
|
|
27
|
+
3. **标记问题商品**:展示有问题的商品和具体缺失项
|
|
28
|
+
|
|
29
|
+
```
|
|
30
|
+
商品完整性检查结果:
|
|
31
|
+
✅ [商品A] — 信息完整
|
|
32
|
+
❌ [商品B] — 缺少:价格、图片
|
|
33
|
+
❌ [商品C] — 缺少:类目
|
|
34
|
+
```
|
|
35
|
+
4. **用户确认**:用户确认后进入批量上架
|
|
36
|
+
5. **批量提交**:逐个执行 `goods xianyu up`
|
|
37
|
+
|
|
38
|
+
## 友好输出指引
|
|
39
|
+
|
|
40
|
+
**审核结果展示**:从 `goods list --json` 返回的 JSON 中提取每个商品的字段,逐一校验。展示时不展示原始 JSON,直接输出浓缩的审核结果:
|
|
41
|
+
|
|
42
|
+
```
|
|
43
|
+
正在审核 5 个商品...
|
|
44
|
+
─────────────────────
|
|
45
|
+
✅ 商品A — 信息完整
|
|
46
|
+
❌ 商品B — 缺少:价格、图片
|
|
47
|
+
→ 请补充 salePrice 和图片后再上架
|
|
48
|
+
❌ 商品C — 缺少:类目
|
|
49
|
+
→ 请分配类目后再上架
|
|
50
|
+
─────────────────────
|
|
51
|
+
结果:2 个通过,1 个缺项跳过(2 个无需处理)
|
|
52
|
+
```
|
|
53
|
+
|
|
54
|
+
**批量提交进度**:逐个执行 `goods xianyu up --json` 时,实时反馈进度:
|
|
55
|
+
```
|
|
56
|
+
正在上架通过审核的商品...
|
|
57
|
+
[1/2] 商品A → ✅ 成功(listing id: 12345)
|
|
58
|
+
[2/2] 商品D → ✅ 成功(listing id: 12346)
|
|
59
|
+
全部上架完成!
|
|
60
|
+
```
|
|
61
|
+
|
|
62
|
+
> `goods list --json` 返回 `{ success, data: { items: SelectGoodsItem[], total } }`。Agent 从 `data.items` 中遍历,检查每个商品的 `goodsName`(标题)、`salePrice`(价格 > 0)、`cate1Name/cate2Name/cate3Name`(类目)、`img`(图片)。
|
|
63
|
+
>
|
|
64
|
+
> 缺项商品标记后**跳过不上架**,只上架信息完整的商品。结束后汇总告知用户哪些商品因缺项被跳过。
|
|
65
|
+
|
|
66
|
+
## 完整性校验规则
|
|
67
|
+
|
|
68
|
+
| 检查项 | 要求 |
|
|
69
|
+
|--------|------|
|
|
70
|
+
| 标题 | 非空,包含品牌+款式+颜色+尺码 |
|
|
71
|
+
| 价格 | `salePrice > 0` |
|
|
72
|
+
| 类目 | 已分配有效类目 |
|
|
73
|
+
| 图片 | 至少 1 张 |
|
|
74
|
+
|
|
75
|
+
## 参考
|
|
76
|
+
|
|
77
|
+
- [r2-goods/SKILL.md](../r2-goods/SKILL.md) — 商品管理命令
|
|
78
|
+
- [r2-goods/scenes/r2-scene-batch-operations.md](../r2-goods/scenes/r2-scene-batch-operations.md) — 批量操作指南
|
|
79
|
+
- [r2-shared/SKILL.md](../r2-shared/SKILL.md) — 执行规则
|
package/dist/README.md
DELETED
|
@@ -1,246 +0,0 @@
|
|
|
1
|
-
# R2-CLI
|
|
2
|
-
|
|
3
|
-
[](https://opensource.org/licenses/MIT)
|
|
4
|
-
[](https://www.npmjs.com/package/@round2ai/r2-cli)
|
|
5
|
-
|
|
6
|
-
R2-CLI — 二手潮奢交易命令行工具,由 [Round2AI](https://github.com/Round2AI) 团队维护 — 让人类和 AI Agent 都能在终端中完成商品上架等交易操作。
|
|
7
|
-
|
|
8
|
-
覆盖商品上架、挂售、商品信息修改、认证登录等核心业务域,提供 19 个命令及 3 个 AI Agent [Skills](./skills/)。
|
|
9
|
-
|
|
10
|
-
[安装](#安装与快速开始) · [AI Agent 快速开始](#快速开始ai-agent) · [Agent Skills](#agent-skills) · [认证](#认证) · [命令](#命令参考) · [安全](#安全与风险提示)
|
|
11
|
-
|
|
12
|
-
## 为什么选 R2-CLI?
|
|
13
|
-
|
|
14
|
-
- **为 Agent 原生设计** — 3 个 Skills 开箱即用,适配 Claude Code 等主流 AI 工具,Agent 无需额外适配即可操作
|
|
15
|
-
- **AI 友好调优** — 每条命令经过 Agent 实测验证,提供结构化 JSON 输出和智能默认值,大幅提升 Agent 调用成功率
|
|
16
|
-
- **双模架构** — 交互式向导(人类友好)+ `--json` 参数(Agent 友好),同一命令两种调用方式
|
|
17
|
-
- **三分钟上手** — 扫码登录即可使用,从安装到第一次商品上架只需三步
|
|
18
|
-
|
|
19
|
-
## 功能
|
|
20
|
-
|
|
21
|
-
| 类别 | 能力 |
|
|
22
|
-
|------|------|
|
|
23
|
-
| 认证登录 | 扫码登录(第二回合 APP / 微信 / 支付宝)、闲鱼店铺授权、状态查询、登出(Agent 一步式流程) |
|
|
24
|
-
| 商品管理 | 商品上架(4 步流程:获取店铺 → 获取仓库 → 获取选品商品 → 提交上架 + 自动轮询上架结果)、商品信息修改(AI 读图识别 → 自动匹配类目/属性 → 提交修改)、店铺查看、仓库查看、选品商品查看、上架列表查询、下架、改价 |
|
|
25
|
-
| 闲鱼挂售 | 图片上传(自动压缩大图、并行上传、失败重试)→ AI 读图识别商品信息 → 自动匹配类目/属性 → 提交挂售 |
|
|
26
|
-
|
|
27
|
-
---
|
|
28
|
-
|
|
29
|
-
## 安装与快速开始
|
|
30
|
-
|
|
31
|
-
> **AI Agent 注意**:如果你是 AI Agent 且正在协助用户,请直接跳转到[快速开始(AI Agent)](#快速开始ai-agent)。
|
|
32
|
-
|
|
33
|
-
### 安装
|
|
34
|
-
|
|
35
|
-
```bash
|
|
36
|
-
npm install -g @round2ai/r2-cli@latest
|
|
37
|
-
```
|
|
38
|
-
|
|
39
|
-
### 使用
|
|
40
|
-
|
|
41
|
-
```bash
|
|
42
|
-
# 1. 扫码登录
|
|
43
|
-
r2-cli auth login
|
|
44
|
-
|
|
45
|
-
# 2. 查看授权店铺
|
|
46
|
-
r2-cli goods shops
|
|
47
|
-
|
|
48
|
-
# 3. 交互式上架
|
|
49
|
-
r2-cli goods up
|
|
50
|
-
```
|
|
51
|
-
|
|
52
|
-
---
|
|
53
|
-
|
|
54
|
-
## 快速开始(AI Agent)
|
|
55
|
-
|
|
56
|
-
> 以下步骤面向 AI Agent。部分步骤需要用户配合(扫码、确认)。
|
|
57
|
-
|
|
58
|
-
**第 1 步 — 安装**
|
|
59
|
-
|
|
60
|
-
```bash
|
|
61
|
-
# 安装 CLI
|
|
62
|
-
npm install -g @round2ai/r2-cli@latest
|
|
63
|
-
|
|
64
|
-
# 安装 Skills(必需)
|
|
65
|
-
npx skills add Round2AI/r2-cli --all -y
|
|
66
|
-
```
|
|
67
|
-
|
|
68
|
-
**第 2 步 — 登录**
|
|
69
|
-
|
|
70
|
-
> Agent 使用 `auth login --json` 一步完成登录(自动打开浏览器 + 自动轮询登录状态):
|
|
71
|
-
|
|
72
|
-
```bash
|
|
73
|
-
r2-cli auth login --json
|
|
74
|
-
```
|
|
75
|
-
|
|
76
|
-
命令自动打开浏览器展示扫码页面,输出 QR JSON,用户扫码确认后自动输出登录结果。
|
|
77
|
-
|
|
78
|
-
**第 3 步 — 验证**
|
|
79
|
-
|
|
80
|
-
```bash
|
|
81
|
-
r2-cli auth status
|
|
82
|
-
```
|
|
83
|
-
|
|
84
|
-
**第 4 步 — 商品上架(4 步流程)**
|
|
85
|
-
|
|
86
|
-
> Agent 获取数据后展示给用户选择,不要让用户自己提供 ID。
|
|
87
|
-
|
|
88
|
-
```bash
|
|
89
|
-
# 1. 获取店铺 → 展示 shopId/shopName/platform → 用户选择
|
|
90
|
-
r2-cli goods shops --json
|
|
91
|
-
|
|
92
|
-
# 2. 获取仓库 → 展示 stockId/stockName → 用户选择
|
|
93
|
-
r2-cli goods stocks --json
|
|
94
|
-
|
|
95
|
-
# 3. 获取选品商品 → 展示 stockGoodsId/goodsName/brand/size/salePrice → 用户选择
|
|
96
|
-
r2-cli goods list --stock-id <stockId> --json # 按仓库过滤
|
|
97
|
-
r2-cli goods list --stock-goods-id <id> --json # 或按商品 ID 查询
|
|
98
|
-
|
|
99
|
-
# 4. 提交上架(自动轮询上架结果)
|
|
100
|
-
r2-cli goods up --stock-goods-id <id> --shop-id <id> --price <amount> --json
|
|
101
|
-
```
|
|
102
|
-
|
|
103
|
-
---
|
|
104
|
-
|
|
105
|
-
## Agent Skills
|
|
106
|
-
|
|
107
|
-
安装 Skills 是 AI Agent 使用 R2-CLI 的**必需步骤**。Skills 包含命令用法、登录流程、商品管理全流程等详细指令,Agent 安装后才能正确调用 R2-CLI。
|
|
108
|
-
|
|
109
|
-
```bash
|
|
110
|
-
# GitHub(公开仓库)
|
|
111
|
-
npx skills add Round2AI/r2-cli --all -y
|
|
112
|
-
```
|
|
113
|
-
|
|
114
|
-
安装后 AI 助手获得 3 个 Skills:
|
|
115
|
-
|
|
116
|
-
| Skill | 说明 |
|
|
117
|
-
|-------|------|
|
|
118
|
-
| `r2-shared` | 共享基础:安装、统一错误格式、命令概览 |
|
|
119
|
-
| `r2-auth` | 认证登录:一步式扫码登录(生成二维码 + 自动轮询,支持第二回合 APP / 微信 / 支付宝)、闲鱼店铺授权、状态查询、登出 |
|
|
120
|
-
| `r2-goods` | 商品管理:4 步上架流程、挂售流程、商品信息修改(AI 读图识别 → 自动匹配类目/属性 → 提交)、下架、改价、店铺/仓库/商品/上架列表查看 |
|
|
121
|
-
|
|
122
|
-
---
|
|
123
|
-
|
|
124
|
-
## 认证
|
|
125
|
-
|
|
126
|
-
| 命令 | 说明 |
|
|
127
|
-
|------|------|
|
|
128
|
-
| `r2-cli auth login` | 扫码登录(自动打开浏览器,人类使用) |
|
|
129
|
-
| `r2-cli auth login --json` | 扫码登录(自动打开浏览器 + JSON 输出,Agent 推荐) |
|
|
130
|
-
| `r2-cli auth login poll --token <>` | 手动轮询登录状态(备选,不推荐) |
|
|
131
|
-
| `r2-cli auth xianyu` | 闲鱼店铺授权(自动打开浏览器,人类使用) |
|
|
132
|
-
| `r2-cli auth xianyu --json` | 闲鱼店铺授权(自动打开浏览器 + JSON 输出,Agent 推荐) |
|
|
133
|
-
| `r2-cli auth xianyu poll --state <>` | 轮询授权状态 JSON(备选,不推荐) |
|
|
134
|
-
| `r2-cli auth status` | 查看登录状态 |
|
|
135
|
-
| `r2-cli auth logout` | 退出登录 |
|
|
136
|
-
|
|
137
|
-
Token 存储在 `~/.r2-cli/config.json`(原子写入防丢失),过期后需重新登录。内存缓存带过期检查,不会使用失效凭证。扫码登录自动打开浏览器展示品牌化扫码页面(实时更新扫码状态,成功后自动关闭),同时输出链接到终端作为备选。支持第二回合 APP、微信、支付宝扫码。
|
|
138
|
-
|
|
139
|
-
---
|
|
140
|
-
|
|
141
|
-
## 命令参考
|
|
142
|
-
|
|
143
|
-
### 商品查询
|
|
144
|
-
|
|
145
|
-
| 命令 | 说明 |
|
|
146
|
-
|------|------|
|
|
147
|
-
| `r2-cli goods shops [--json]` | 查看所有已授权店铺(跨平台) |
|
|
148
|
-
| `r2-cli goods stocks [--json]` | 查看所有仓库 |
|
|
149
|
-
| `r2-cli goods list [--stock-id <id>] [--stock-goods-id <id>] [--json]` | 查看选品商品(可按仓库或商品 ID 过滤,支持 `--page` 和 `--size`,最大 50) |
|
|
150
|
-
| `r2-cli goods listing [--json]` | 查询上架列表(支持 `--id` / `--shop-id` / `--stock-goods-id` / `--stock-id` / `--status <init|up|down|fail|sold>` / `--platform` 过滤,支持 `--page` / `--size` 分页) |
|
|
151
|
-
|
|
152
|
-
### 商品上架/下架/改价
|
|
153
|
-
|
|
154
|
-
| 命令 | 说明 |
|
|
155
|
-
|------|------|
|
|
156
|
-
| `r2-cli goods up` | 交互式上架(自动轮询上架结果) |
|
|
157
|
-
| `r2-cli goods up --stock-goods-id <id> --shop-id <id> --price <amount> --json` | Agent 直接上架(自动轮询上架结果) |
|
|
158
|
-
| `r2-cli goods down --id <id> [--json]` | 下架商品(也可用 `--stock-goods-id <id> --shop-id <id>`) |
|
|
159
|
-
| `r2-cli goods price --id <id> --price <amount> [--json]` | 修改上架价格(也可用 `--stock-goods-id <id> --shop-id <id>`) |
|
|
160
|
-
|
|
161
|
-
### 修改商品信息
|
|
162
|
-
|
|
163
|
-
修改已上架商品的标题、描述、品牌、类目、图片、属性等。Agent 可自动读图识别并填充商品信息。
|
|
164
|
-
|
|
165
|
-
| 命令 | 说明 |
|
|
166
|
-
|------|------|
|
|
167
|
-
| `r2-cli goods edit --id <id> --category-id <id> --channel-cat-id <id> --json` | 修改商品信息(必填:定位参数 + 类目) |
|
|
168
|
-
| `r2-cli goods edit --id <id> --category-id <id> --channel-cat-id <id> --image-ids <ids> --item-attrs <json> --brand-name <name> --json` | 带图片和属性修改 |
|
|
169
|
-
|
|
170
|
-
**定位商品**:优先使用 `--id <goodsListingId>`(从上架列表 `id` 字段获取),也可用 `--stock-goods-id <id> --account <shopId>`。**必填参数**:定位参数(二选一)+ `--category-id` + `--channel-cat-id`(后端必填)
|
|
171
|
-
|
|
172
|
-
**关键约束**:
|
|
173
|
-
- **类目 ID 必须传**:即使不改类目也要传 `--category-id` 和 `--channel-cat-id`,后端复用挂售 DTO,缺少会报 `getCategoryId() is null`
|
|
174
|
-
- **`--item-attrs` 必须包含所有属性**:后端替换整个属性列表,漏传的属性会被清除。从 `goods hang-up props --channel-cat-id <id> --json` 获取全部属性后,修改目标值,其他保持原样一并传入
|
|
175
|
-
- **品牌必须双传**:`--brand-name`(文本字段)+ itemAttrs 中的品牌项(含 propId/valueId/valueName/propName/channelCatId 五个字段),缺一不可
|
|
176
|
-
|
|
177
|
-
**可选参数**:`--title`、`--desc`、`--image-ids`(需先通过 `hang-up upload-images` 上传)、`--item-attrs`(JSON,5 字段格式)、`--brand-name`、`--stuff-status`、`--goods-no`、`--original-price`、`--size`
|
|
178
|
-
|
|
179
|
-
### 闲鱼挂售(完整商品信息模式)
|
|
180
|
-
|
|
181
|
-
挂售模式支持完整的商品信息:图片、类目、属性、品牌等。Agent 可自动识别图片内容填充商品信息,流程:上传图片 → AI 识别 → 匹配类目/属性 → 提交。
|
|
182
|
-
|
|
183
|
-
| 命令 | 说明 |
|
|
184
|
-
|------|------|
|
|
185
|
-
| `r2-cli goods hang-up categories [--json]` | 获取闲鱼类目列表(大分类 → 小分类) |
|
|
186
|
-
| `r2-cli goods hang-up props --channel-cat-id <id> [--json]` | 获取指定类目下的属性列表(含可选值) |
|
|
187
|
-
| `r2-cli goods hang-up brands --channel-cat-id <id> --prop-id <id> --key <keyword> [--json]` | 品牌搜索 |
|
|
188
|
-
| `r2-cli goods hang-up upload-images --shop-id <id> --files <paths> --json` | 批量上传图片到闲鱼(挂售前必须先上传) |
|
|
189
|
-
| `r2-cli goods hang-up submit --shop-id <id> --title <> --price <> --category-id <> --channel-cat-id <> --image-ids <> --stuff-status <> --desc <> --out-item-no <> --json` | 提交挂售上架 |
|
|
190
|
-
|
|
191
|
-
**挂售必填参数**:`--shop-id`、`--title`、`--price`、`--category-id`(大分类 ID)、`--channel-cat-id`(小分类 ID)、`--image-ids`(图片 ID,逗号分隔)、`--stuff-status`(成色:100 全新 / -1 准新 / 99 99新 / 95 95新 / 90 9新)、`--desc`(商品描述)、`--out-item-no`(商家编码,同店铺唯一)
|
|
192
|
-
|
|
193
|
-
**挂售可选参数**:`--brand-name`、`--size`、`--goods-no`、`--original-price`、`--item-attrs`(属性列表 JSON)、`--trade-type`(默认 0 仅在线)、`--transport-fee`(默认 0 包邮)、`--yhb`(验货宝)、`--division-id`(默认 330100 杭州)
|
|
194
|
-
|
|
195
|
-
**售后服务**(默认关闭):提交时自动附带售后服务配置,默认全部关闭。卖家需在闲鱼 APP 开通对应服务后才能开启(我的 → 设置 → 卖家服务 → 保障服务)。
|
|
196
|
-
|
|
197
|
-
### 其他命令
|
|
198
|
-
|
|
199
|
-
| 命令 | 说明 |
|
|
200
|
-
|------|------|
|
|
201
|
-
| `r2-cli update` | 一键更新 CLI 和技能 |
|
|
202
|
-
| `r2-cli uninstall` | 卸载 R2-CLI 并清除所有配置 |
|
|
203
|
-
|
|
204
|
-
---
|
|
205
|
-
|
|
206
|
-
## 安全与风险提示
|
|
207
|
-
|
|
208
|
-
本工具可供 AI Agent 调用以自动化操作二手潮奢交易,Agent 将以您的用户身份在授权范围内执行操作,可能导致商品误上架、价格错误等风险,请谨慎操作。
|
|
209
|
-
|
|
210
|
-
建议:
|
|
211
|
-
- Agent 收到"上架"指令时,若用户未明确指定方式(选品上架/挂售上架),**必须询问用户**选择哪种上架方式
|
|
212
|
-
- Agent 自动识别图片并填充商品信息,售价必问用户;商家编码优先让用户自定义,不填则自动生成推荐
|
|
213
|
-
- Token 存储在本地 `~/.r2-cli/config.json`(原子写入,防止中断导致配置丢失),注意保护
|
|
214
|
-
|
|
215
|
-
---
|
|
216
|
-
|
|
217
|
-
## 关于 Round2AI
|
|
218
|
-
|
|
219
|
-
Round2AI 由 PURESNAKE 团队开发。
|
|
220
|
-
|
|
221
|
-
**使命:让潮奢循环交易没有摩擦。**
|
|
222
|
-
|
|
223
|
-
PURESNAKE 深耕二手潮奢交易流通 6 年,累计鉴定超 400 万单,自建 6 座质检云仓,全国员工超 100 人,B2B 平台年成交规模超 1 亿。业务覆盖回收、鉴定、质检、仓储、定价、销售全链路。
|
|
224
|
-
|
|
225
|
-
**R2-CLI 帮商家解决三件事:买什么,卖多少钱,怎么卖掉。**
|
|
226
|
-
|
|
227
|
-
---
|
|
228
|
-
|
|
229
|
-
## 技术信息
|
|
230
|
-
|
|
231
|
-
| | |
|
|
232
|
-
|---|---|
|
|
233
|
-
| 语言 | Node.js (TypeScript) |
|
|
234
|
-
| 协议 | MIT |
|
|
235
|
-
| 安装 | `npm install -g @round2ai/r2-cli` |
|
|
236
|
-
| 授权 | `r2-cli auth login` |
|
|
237
|
-
| AI Agent Skills | 3 |
|
|
238
|
-
| 数据源 | 通过 ERP 对接各电商平台、线下 POS、自营仓储 WMS |
|
|
239
|
-
|
|
240
|
-
---
|
|
241
|
-
|
|
242
|
-
Already used by merchants in production.
|
|
243
|
-
|
|
244
|
-
_Round2AI — 让潮奢循环交易没有摩擦。_
|
|
245
|
-
|
|
246
|
-
_Reduce friction in circular commerce._
|
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* postinstall: 通过 skills CLI 将本地 skills 安装到所有 Agent 目录
|
|
3
|
-
* 自动适配 Claude Code / Codex / Gemini CLI 等所有 Agent
|
|
4
|
-
*/
|
|
5
|
-
|
|
6
|
-
import { execSync } from "node:child_process";
|
|
7
|
-
import path from "node:path";
|
|
8
|
-
import { fileURLToPath } from "node:url";
|
|
9
|
-
|
|
10
|
-
const __dirname = path.dirname(fileURLToPath(import.meta.url));
|
|
11
|
-
const skillsDir = path.join(__dirname, "..", "skills");
|
|
12
|
-
|
|
13
|
-
try {
|
|
14
|
-
execSync(`npx skills add "${skillsDir}" --all -g`, {
|
|
15
|
-
stdio: "inherit",
|
|
16
|
-
timeout: 60_000,
|
|
17
|
-
});
|
|
18
|
-
} catch {
|
|
19
|
-
// 网络不可用或 skills CLI 失败时静默跳过
|
|
20
|
-
}
|