# Designkit Ecommerce Product Kit

> 美图设计室「电商商品套图 / Listing 主图详情图」多步工作流：商品图后分两轮对话依次问卖点+风格偏好、再问配置（禁止同一条消息合并两步），然后爆款风格、成图并自动下载。 当用户提到生成电商套图、电商套图、商品套图、Listing 套图、上架套图、爆款风格套图时触发。

- Skill: `meitu/designkit-ecommerce-product-kit-2` (Agent Skill)
- Install (CLI): `npx skillmds@latest add meitu/designkit-ecommerce-product-kit-2`
- Raw SKILL.md: https://api.skillmd.com/api/skills/meitu/designkit-ecommerce-product-kit-2/raw
- Safety review: pending (external: skill-scanner PASS, skillspector PASS)
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- Author: meitu (https://skillmd.com/u/meitu)
- Updated: 2026-09-22
- Page: https://skillmd.com/skills/meitu/designkit-ecommerce-product-kit-2

---


# DesignKit Ecommerce Product Kit — 电商商品套图

面向**对话**：引导用户完成信息收集并交付套图结果。

## 分步输出（强制，禁止两步合并）

- **同一轮回复里，只能推进一个收集步骤**：要么只问卖点+风格偏好，要么只问上架配置，**禁止**在同一条消息里同时出现「核心卖点/风格偏好」与「平台/国家/语言/比例」两类内容。
- **正确节奏**：先发**卖点+风格偏好**的提问 → **停止，等用户回复** → 用户回复后，再发**仅含上架配置**的说明 → **停止，等用户回复** → 再进入**爆款风格**（提示选择或可跳过）→ **停止，等用户回复** → 再成图 / 调接口。
- 若用户主动在一条消息里把卖点、风格偏好和配置都写全了，可一次性采纳参数，但**你的回复仍应分条确认**。
- **快速通道**：如果用户在确认卖点时已附带上架配置信息（如"可以，亚马逊美国英文1:1"），可直接采纳，跳过第 2 轮配置询问，用一句话确认后直接进入风格生成。

## 流程（按顺序）

1. **商品图**：没有图则提示上传或提供 URL/路径。
2. **核心卖点 + 风格偏好（第 1 轮，独占一条消息）**：拿到商品图后，根据商品图**自动生成**一段核心卖点建议展示给用户，然后：
   - 询问：「您可以直接采用、修改，或输入自己的卖点描述」
   - **同时询问风格偏好**：「您有特别想要的视觉风格方向吗？没有的话我会为您智能推荐」
   - **本条消息不要提平台、国家、语言、比例等上架配置信息**
   - 用户确认采用、给出修改意见或自行输入后，以**用户最终确认的版本**作为 `product_info`
   - 用户提到的风格偏好记录下来，在展示接口返回的风格方案时可优先推荐匹配项
   - 仅当 AI 无法从图片推断出有意义的卖点时，才直接请用户自行输入
3. **上架配置（第 2 轮，独占一条消息）**：仅在用户已回复卖点（或确认跳过）之后，再发**只有配置相关**的友好说明（可用一小段 + 简要列表，不必像表单逐项逼问）：
   - **平台**：亚马逊、淘宝、Temu、拼多多、TikTok Shop…
   - **国家/地区**：美国、中国、俄罗斯、日本、西班牙…
   - **语言**：英语、中文、俄语、日语、西班牙语…
   - **尺寸比例**：1:1、3:4、9:16、16:9
   **默认值**：如果用户不指定，按 **亚马逊 / 美国 / 英语 / 1:1** 生成。询问时**必须明确告知这组默认值**，让用户知道直接回复「用默认」或「可以」即可跳过本步。
   **参数映射**：用户使用中文选择，调用接口前须转换为 API 参数值：
   | 平台 | API 值 | 国家 | API 值 | 语言 | API 值 |
   |------|--------|------|--------|------|--------|
   | 亚马逊 | `amazon` | 美国 | `US` | 英语 | `English` |
   | 淘宝 | `taobao` | 中国 | `CN` | 中文 | `Chinese` |
   | Temu | `temu` | 俄罗斯 | `RU` | 俄语 | `Russian` |
   | 拼多多 | `pinduoduo` | 日本 | `JP` | 日语 | `Japanese` |
   | TikTok Shop | `tiktok_shop` | 西班牙 | `ES` | 西班牙语 | `Spanish` |
   **规则**：用户**不填、跳过或只填部分**均可，**不要为补全配置反复追问**；缺省用上述默认值补齐。**本条消息不要再次长篇解释卖点**。执行调接口前用**一句话**复述实际采用的配置（用户给的 vs 默认）。
   **快速通道**：若用户在上一步已附带配置信息，此步跳过。
4. **爆款风格（按需触发，非必经步骤）**
   - **触发条件**：仅当用户在第 1 轮（卖点+风格偏好）中**明确指定了具体风格方向**（如"科技感""简约""我想看看风格方案"）时，才进入本步展示风格方案供用户挑选。
   - **默认跳过**：若用户未提及风格、回复"没有"、忽略风格问题，或给出模糊回复（如"好看就行""随便""按你推荐"），均**跳过本步，直接进入成图**，由服务端自动匹配风格。
   - 进入本步时，调用风格接口并展示方案：
     1. `bash __SKILL_DIR__/scripts/run_ecommerce_kit.sh style_create --input-json '<含 image、product_info、platform、market 等>'`
     2. 用返回的 `task_id` 轮询：`bash __SKILL_DIR__/scripts/run_ecommerce_kit.sh style_poll --input-json '{"task_id":"..."}'`（可按需带 `max_wait_sec` / `interval_sec`）
   - **禁止**自行编造风格，只展示接口返回的方案。请用户**选定其中一套**，选定后须使用**接口返回的该套完整结构**（如 `brand_style` 对象），不得手写替换。
   - 用户看到方案后选择「跳过」「自动」「你定」等：`render_submit` 不传 `brand_style`，由服务端自动匹配风格。
5. **成图 + 自动下载**：
   - 调用 `render_submit` / `render_poll` 生成成品图（无 `brand_style` 时省略该字段，服务端自动选择风格）
   - `render_submit` 的比例参数优先读取 `aspect_ratio`，同时兼容 `ratio`
   - 轮询期间根据 stderr 输出的 `[PROGRESS]` 信息向用户报告进度（如"已完成 3/7 张"）
   - 完成后**自动下载**所有成品图到工作目录，命名规则：`{商品名}_{序号}_{label}.jpg`（label 从接口返回的 `items[].label` 取）
   - 以 Markdown 图片格式展示结果，并告知文件保存位置
   - **换风格重跑**：如果用户看完成图后想换另一套风格，此时再调用 `style_create` 获取风格方案供用户选择，选定后跳到 `render_submit` 步骤重新出图。

## 输出目录规则

`render_poll` 完成后会自动下载生成结果，输出目录按以下优先级解析：

1. `input-json` 中显式传入的 `output_dir`
2. 环境变量 `DESIGNKIT_OUTPUT_DIR`
3. 当前工作目录存在 `openclaw.yaml` 时，使用 `./output/`
4. 若 `{OPENCLAW_HOME}/workspace/visual`（或 `~/.openclaw/workspace/visual`）存在，使用其下的 `output/designkit-ecommerce-product-kit/`
5. 否则回退到 `~/Downloads/`

约束：

- 输出目录**不能位于当前 skill 仓库内部**
- 脚本会自动 `mkdir -p`
- `render_poll` 的 JSON 输出会额外包含 `output_dir` 和 `local_paths`

**顺序硬约束**：商品图 → **卖点+风格偏好（一轮）** → **用户回复** → **上架配置（一轮，或快速通道跳过）** → **用户回复** → **爆款风格（仅用户表达了风格兴趣时才进入，否则跳过）** → **成图+自动下载**。

