name: r2-workflow-batch-up version: 1.1.0 description: "批量上架工作流:将多个商品同时上架到闲鱼/淘宝。当用户说'帮我把这些都上架'、'选品库全部上架'、'批量上架'、'这几个都上了吧'、'一起上架'、'有多少上多少'时使用。不适用于单个商品上架——单个走 r2-goods skill。" metadata: requires: bins: ["r2-cli"] related: - "r2-shared" - "r2-auth" - "r2-goods"
批量上架工作流
前置:先读取 r2-shared skill(执行规则、Token 恢复)和 r2-auth skill(确保已登录)。商品命令详细用法见 r2-goods skill。
适用场景
- "帮我把这些商品都上架"
- "选品库全部上架到店铺"
- "这几件都上架了吧"
- "有多少上多少"
- "一起上架"
平台路由
用户说"批量上架"未指定平台时,必须询问:
| 平台 | 上架方式 | 命令 |
|---|---|---|
| 闲鱼 | goods xianyu up |
r2-cli goods xianyu up --stock-goods-id <> --shop-id <> --price <> --json |
| 淘宝 | goods taobao alzc apply |
r2-cli goods taobao alzc apply --shop-id <> --jbp-spu-id <> --apply-skus '<>' --json |
闲鱼批量上架流程
- 确认店铺:
r2-cli goods shops --json→ 展示platform === "xianyu"的店铺让用户选择 - 确认仓库:
r2-cli goods stocks --json→ 用户选择仓库 - 展示待上架商品:
r2-cli goods list --stock-id <id> --json - 用户选择要上架的商品(可多选)
- 逐商品询问价格 → 逐个执行
goods xianyu up - 汇总结果展示
淘宝批量上架流程(阿里资产)
- 确认店铺:
r2-cli goods shops --json→ 展示platform === "taobao"的店铺让用户选择 - 查询可申请 SPU:
r2-cli goods taobao alzc spu-query --shop-id <id> --goods-no <no> --json - 展示可申请 SKU:用户选择 SKU + 价格
- 逐个申请:
goods taobao alzc apply - 汇总结果展示
淘宝流程需要用户先提供
--goods-no(不传查不到)。详细流程见 r2-goods-alzc。
友好输出
逐个进度反馈:
[1/3] Nike 运动鞋 → 上架中...
[1/3] Nike 运动鞋 → ✅ 成功(id: 12345)
[2/3] Adidas T恤 → 上架中...
[2/3] Adidas T恤 → ❌ 失败:商家编码重复
全部完成后汇总:
批量上架完成!
✅ 成功:2 个
- Nike 运动鞋 → ¥299 → 店铺A(id: 12345)
- LV 包 → ¥9999 → 店铺A(id: 12346)
❌ 失败:1 个
- Adidas T恤 → 商家编码重复
中途 Token 过期:停止工作流,告知已完成的商品数,引导重新登录后从断点继续。不要丢弃已完成的结果。
规则
- 每个商品独立提交:一个失败不影响其他
- 批量间隔至少 1 秒,避免触发限流
- 中途 Token 过期:停止工作流,引导登录后从断点继续
- 提交失败 ≠ 已下架:可能只是轮询超时,稍后用 listing 命令确认
错误处理
统一错误格式见 r2-shared skill。
| 错误 | 恢复 |
|---|---|
请先运行 r2-cli auth login 登录 |
停止工作流,登录后从断点继续 |
商家编码重复 |
更换编码后重试该商品 |
该商品已上架 |
跳过该商品 |
轮询超时 |
不视为失败,稍后用 listing 确认 |
网络连接失败 |
检查网络后重试该商品 |