@optima-chat/optima-agent 0.1.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/.claude/settings.local.json +13 -0
- package/.claude/skills/bi-cli/SKILL.md +87 -0
- package/.claude/skills/comfy-cli/SKILL.md +234 -0
- package/.claude/skills/commerce-i18n/SKILL.md +460 -0
- package/.claude/skills/commerce-inventory/SKILL.md +291 -0
- package/.claude/skills/commerce-order/SKILL.md +201 -0
- package/.claude/skills/commerce-product/SKILL.md +307 -0
- package/.claude/skills/commerce-storefront/SKILL.md +560 -0
- package/.claude/skills/google-ads-cli/SKILL.md +101 -0
- package/.claude/skills/optima-scout/SKILL.md +480 -0
- package/README.md +66 -0
- package/dist/bin/optima.d.ts +3 -0
- package/dist/bin/optima.d.ts.map +1 -0
- package/dist/bin/optima.js +115 -0
- package/dist/bin/optima.js.map +1 -0
- package/dist/bin/serve.d.ts +3 -0
- package/dist/bin/serve.d.ts.map +1 -0
- package/dist/bin/serve.js +53 -0
- package/dist/bin/serve.js.map +1 -0
- package/dist/src/agent.d.ts +24 -0
- package/dist/src/agent.d.ts.map +1 -0
- package/dist/src/agent.js +97 -0
- package/dist/src/agent.js.map +1 -0
- package/dist/src/config.d.ts +22 -0
- package/dist/src/config.d.ts.map +1 -0
- package/dist/src/config.js +60 -0
- package/dist/src/config.js.map +1 -0
- package/dist/src/index.d.ts +3 -0
- package/dist/src/index.d.ts.map +1 -0
- package/dist/src/index.js +2 -0
- package/dist/src/index.js.map +1 -0
- package/dist/src/server/index.d.ts +4 -0
- package/dist/src/server/index.d.ts.map +1 -0
- package/dist/src/server/index.js +150 -0
- package/dist/src/server/index.js.map +1 -0
- package/dist/src/server/types.d.ts +60 -0
- package/dist/src/server/types.d.ts.map +1 -0
- package/dist/src/server/types.js +2 -0
- package/dist/src/server/types.js.map +1 -0
- package/dist/src/system-prompt.d.ts +2 -0
- package/dist/src/system-prompt.d.ts.map +1 -0
- package/dist/src/system-prompt.js +71 -0
- package/dist/src/system-prompt.js.map +1 -0
- package/dist/src/types.d.ts +37 -0
- package/dist/src/types.d.ts.map +1 -0
- package/dist/src/types.js +2 -0
- package/dist/src/types.js.map +1 -0
- package/dist/src/ui/App.d.ts +6 -0
- package/dist/src/ui/App.d.ts.map +1 -0
- package/dist/src/ui/App.js +139 -0
- package/dist/src/ui/App.js.map +1 -0
- package/dist/src/ui/components/Composer.d.ts +9 -0
- package/dist/src/ui/components/Composer.d.ts.map +1 -0
- package/dist/src/ui/components/Composer.js +12 -0
- package/dist/src/ui/components/Composer.js.map +1 -0
- package/dist/src/ui/components/Header.d.ts +6 -0
- package/dist/src/ui/components/Header.d.ts.map +1 -0
- package/dist/src/ui/components/Header.js +6 -0
- package/dist/src/ui/components/Header.js.map +1 -0
- package/dist/src/ui/components/Message.d.ts +11 -0
- package/dist/src/ui/components/Message.d.ts.map +1 -0
- package/dist/src/ui/components/Message.js +17 -0
- package/dist/src/ui/components/Message.js.map +1 -0
- package/dist/src/ui/components/MessageList.d.ts +7 -0
- package/dist/src/ui/components/MessageList.d.ts.map +1 -0
- package/dist/src/ui/components/MessageList.js +7 -0
- package/dist/src/ui/components/MessageList.js.map +1 -0
- package/dist/src/ui/components/Spinner.d.ts +6 -0
- package/dist/src/ui/components/Spinner.d.ts.map +1 -0
- package/dist/src/ui/components/Spinner.js +7 -0
- package/dist/src/ui/components/Spinner.js.map +1 -0
- package/dist/src/ui/components/StatusBar.d.ts +10 -0
- package/dist/src/ui/components/StatusBar.d.ts.map +1 -0
- package/dist/src/ui/components/StatusBar.js +6 -0
- package/dist/src/ui/components/StatusBar.js.map +1 -0
- package/dist/src/ui/components/index.d.ts +7 -0
- package/dist/src/ui/components/index.d.ts.map +1 -0
- package/dist/src/ui/components/index.js +7 -0
- package/dist/src/ui/components/index.js.map +1 -0
- package/dist/src/ui/index.d.ts +2 -0
- package/dist/src/ui/index.d.ts.map +1 -0
- package/dist/src/ui/index.js +7 -0
- package/dist/src/ui/index.js.map +1 -0
- package/package.json +59 -0
|
@@ -0,0 +1,307 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: commerce-product
|
|
3
|
+
description: Product catalog management for e-commerce stores. Create and update products, manage variants/SKUs, upload product images, organize tags. Use when user needs to add new products, update pricing, manage product inventory, upload photos, or organize product catalog.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Commerce CLI - Product Management
|
|
7
|
+
|
|
8
|
+
商品管理模块,用于电商商品目录的创建、编辑和组织。
|
|
9
|
+
|
|
10
|
+
## 典型场景
|
|
11
|
+
|
|
12
|
+
### 场景1:单个商品上架
|
|
13
|
+
**流程**: 准备素材 → 上传图片 → 创建商品 → 验证
|
|
14
|
+
```bash
|
|
15
|
+
# 1. 上传商品图片
|
|
16
|
+
commerce upload image --path ./tshirt-main.jpg # 获得 media_123
|
|
17
|
+
|
|
18
|
+
# 2. 创建商品
|
|
19
|
+
commerce product create \
|
|
20
|
+
--title "纯棉T恤" \
|
|
21
|
+
--price 99 \
|
|
22
|
+
--stock 20 \
|
|
23
|
+
--description "100% 纯棉,舒适透气" \
|
|
24
|
+
--media-id media_123
|
|
25
|
+
```
|
|
26
|
+
|
|
27
|
+
### 场景2:多规格商品上架
|
|
28
|
+
**流程**: 创建主商品 → 创建所有变体 → 关联图片
|
|
29
|
+
```bash
|
|
30
|
+
# 1. 创建主商品
|
|
31
|
+
commerce product create --title "T恤" --price 99
|
|
32
|
+
# 获得 product_id: prod_123
|
|
33
|
+
|
|
34
|
+
# 2. 创建所有变体
|
|
35
|
+
commerce variant create --product-id prod_123 --sku "TSHIRT-RED-S" \
|
|
36
|
+
--attributes '{"颜色":"红色","尺寸":"S"}' --price 99 --stock 50
|
|
37
|
+
commerce variant create --product-id prod_123 --sku "TSHIRT-RED-M" \
|
|
38
|
+
--attributes '{"颜色":"红色","尺寸":"M"}' --price 99 --stock 50
|
|
39
|
+
commerce variant create --product-id prod_123 --sku "TSHIRT-BLUE-S" \
|
|
40
|
+
--attributes '{"颜色":"蓝色","尺寸":"S"}' --price 99 --stock 50
|
|
41
|
+
```
|
|
42
|
+
|
|
43
|
+
### 场景3:批量商品导入
|
|
44
|
+
**流程**: 先上传共享资源 → 循环创建商品
|
|
45
|
+
```bash
|
|
46
|
+
# 1. 上传品牌logo(所有商品共享)
|
|
47
|
+
commerce upload image --path ./brand-logo.jpg # 获得 media_shared
|
|
48
|
+
|
|
49
|
+
# 2. 批量创建商品(复用media_id)
|
|
50
|
+
for product in "T恤" "衬衫" "卫衣"; do
|
|
51
|
+
commerce product create --title "$product" --price 99 --media-id media_shared
|
|
52
|
+
done
|
|
53
|
+
```
|
|
54
|
+
|
|
55
|
+
### 场景4:促销活动准备
|
|
56
|
+
**任务**: 批量更新价格和标签
|
|
57
|
+
```bash
|
|
58
|
+
# 1. 查找目标商品
|
|
59
|
+
commerce product list --query "T恤" --limit 50
|
|
60
|
+
|
|
61
|
+
# 2. 批量更新价格和促销标签
|
|
62
|
+
commerce product update --id prod_123 --price 79 --tags "featured,sale"
|
|
63
|
+
commerce product update --id prod_456 --price 79 --tags "featured,sale"
|
|
64
|
+
```
|
|
65
|
+
|
|
66
|
+
### 场景5:商品图片更新
|
|
67
|
+
**任务**: 更换主图或添加详情图
|
|
68
|
+
```bash
|
|
69
|
+
# 1. 上传新图片
|
|
70
|
+
commerce upload image --path ./new-photo.jpg # 获得 media_new
|
|
71
|
+
|
|
72
|
+
# 2. 添加到商品
|
|
73
|
+
commerce product add-images --id prod_123 --media-id media_new
|
|
74
|
+
```
|
|
75
|
+
|
|
76
|
+
### 场景决策表
|
|
77
|
+
|
|
78
|
+
| 用户需求 | 推荐命令 | 关键注意点 |
|
|
79
|
+
|---------|---------|-----------|
|
|
80
|
+
| 单个商品 | `product create` | 先上传图片,准备好所有必填字段 |
|
|
81
|
+
| 多规格商品 | `product create` + `variant create` | 主商品设置基础价格,变体设置差异价 |
|
|
82
|
+
| 批量上架 | 脚本循环 `product create` | 复用共享图片的media_id,避免重复上传 |
|
|
83
|
+
| 更新价格 | `product update --price` | 如有变体,需逐个更新变体价格 |
|
|
84
|
+
| 促销标签 | `product update --tags` | 用逗号分隔,保留原有标签 |
|
|
85
|
+
| 图片更新 | `upload` + `add-images` | 先上传再关联,不要直接删除旧图 |
|
|
86
|
+
|
|
87
|
+
## 卓越标准
|
|
88
|
+
|
|
89
|
+
### 商品质量维度
|
|
90
|
+
- **图片质量**: 至少3张不同角度,主图尺寸 ≥ 1200x1200px
|
|
91
|
+
- **描述完整性**: 必填字段100%填写,描述文字 ≥ 50字
|
|
92
|
+
- **SEO优化**: 标题包含核心关键词,使用3-5个相关标签
|
|
93
|
+
- **变体规范**: 使用统一的attributes key(如"颜色"、"尺寸"),避免同义词混用
|
|
94
|
+
- **库存准确**: 创建时设置真实库存,避免超卖和缺货
|
|
95
|
+
|
|
96
|
+
### 上架流程原则
|
|
97
|
+
- **图片先行**: 先批量上传所有图片获取media_id,再创建商品(避免重复上传)
|
|
98
|
+
- **主商品后变体**: 先创建主商品获取product_id,再创建所有变体
|
|
99
|
+
- **数据完整性**: 每个变体必须有独立SKU、库存、价格
|
|
100
|
+
- **标签策略**: 精选(featured)、新品(new)、促销(sale)等核心标签要及时更新
|
|
101
|
+
|
|
102
|
+
### 质量检查清单
|
|
103
|
+
- [ ] 商品标题简洁有力,包含关键词
|
|
104
|
+
- [ ] 描述文字 ≥ 50字,突出卖点
|
|
105
|
+
- [ ] 至少3张图片,主图清晰
|
|
106
|
+
- [ ] 价格和库存准确无误
|
|
107
|
+
- [ ] 变体SKU不重复
|
|
108
|
+
- [ ] 标签使用合理(3-5个)
|
|
109
|
+
|
|
110
|
+
## 常见问题
|
|
111
|
+
|
|
112
|
+
### ❌ 问题1:重复上传图片
|
|
113
|
+
**错误做法**:
|
|
114
|
+
```bash
|
|
115
|
+
# 每个商品都上传相同的logo
|
|
116
|
+
for product in products; do
|
|
117
|
+
commerce upload image --path ./logo.jpg
|
|
118
|
+
commerce product create --title "$product" --media-id $NEW_ID
|
|
119
|
+
done
|
|
120
|
+
```
|
|
121
|
+
|
|
122
|
+
**正确做法**:
|
|
123
|
+
```bash
|
|
124
|
+
# 先上传一次,复用media_id
|
|
125
|
+
commerce upload image --path ./logo.jpg # 获得 media_123
|
|
126
|
+
for product in products; do
|
|
127
|
+
commerce product create --title "$product" --media-id media_123
|
|
128
|
+
done
|
|
129
|
+
```
|
|
130
|
+
|
|
131
|
+
### ❌ 问题2:忘记创建变体
|
|
132
|
+
**症状**: 多规格商品只有主商品,无法选择颜色/尺寸
|
|
133
|
+
**解决**: 创建主商品后,立即创建所有变体
|
|
134
|
+
|
|
135
|
+
```bash
|
|
136
|
+
# 错误:只创建主商品
|
|
137
|
+
commerce product create --title "T恤" --price 99
|
|
138
|
+
|
|
139
|
+
# 正确:创建主商品 + 所有变体
|
|
140
|
+
commerce product create --title "T恤" --price 99 # 获得 prod_123
|
|
141
|
+
commerce variant create --product-id prod_123 --sku "TSHIRT-RED-S" ...
|
|
142
|
+
commerce variant create --product-id prod_123 --sku "TSHIRT-RED-M" ...
|
|
143
|
+
```
|
|
144
|
+
|
|
145
|
+
### ❌ 问题3:变体attributes不一致
|
|
146
|
+
**症状**: 规格筛选混乱,如"颜色"、"color"、"Color"混用
|
|
147
|
+
**解决**: 统一使用中文或英文,全局保持一致
|
|
148
|
+
|
|
149
|
+
```bash
|
|
150
|
+
# 错误:同义词混用
|
|
151
|
+
--attributes '{"颜色":"红色"}'
|
|
152
|
+
--attributes '{"color":"蓝色"}'
|
|
153
|
+
|
|
154
|
+
# 正确:统一使用
|
|
155
|
+
--attributes '{"颜色":"红色"}'
|
|
156
|
+
--attributes '{"颜色":"蓝色"}'
|
|
157
|
+
```
|
|
158
|
+
|
|
159
|
+
### ❌ 问题4:批量更新时覆盖标签
|
|
160
|
+
**症状**: 更新标签时把原有标签清空
|
|
161
|
+
**解决**: 先查看原有标签,追加新标签
|
|
162
|
+
|
|
163
|
+
```bash
|
|
164
|
+
# 错误:直接覆盖
|
|
165
|
+
commerce product update --id prod_123 --tags "sale" # featured标签丢失
|
|
166
|
+
|
|
167
|
+
# 正确:先查看再追加
|
|
168
|
+
commerce product get --id prod_123 # 查看原有标签: featured,new
|
|
169
|
+
commerce product update --id prod_123 --tags "featured,new,sale"
|
|
170
|
+
```
|
|
171
|
+
|
|
172
|
+
### ❌ 问题5:库存设置不准确
|
|
173
|
+
**症状**: 超卖或缺货
|
|
174
|
+
**解决**: 创建时设置真实库存,定期同步ERP数据
|
|
175
|
+
|
|
176
|
+
```bash
|
|
177
|
+
# 先确认真实库存,再创建
|
|
178
|
+
commerce product create --title "T恤" --price 99 --stock 50 # 确保真实有50件
|
|
179
|
+
```
|
|
180
|
+
|
|
181
|
+
## 命令参考
|
|
182
|
+
|
|
183
|
+
### 自然语言映射
|
|
184
|
+
|
|
185
|
+
当用户说:
|
|
186
|
+
- "创建XX商品,价格YY" → `commerce product create --title XX --price YY`
|
|
187
|
+
- "上传商品图片" → `commerce upload image --path ./photo.jpg`
|
|
188
|
+
- "添加商品变体" → `commerce variant create --product-id XX --sku YY`
|
|
189
|
+
- "更新商品价格" → `commerce product update --id XX --price YY`
|
|
190
|
+
- "给商品打标签" → `commerce product update --id XX --tags "featured,new"`
|
|
191
|
+
- "查看所有商品" → `commerce product list`
|
|
192
|
+
|
|
193
|
+
### 核心功能
|
|
194
|
+
|
|
195
|
+
**商品 CRUD**:
|
|
196
|
+
- `commerce product create` - 创建商品
|
|
197
|
+
- `commerce product list` - 查看商品列表
|
|
198
|
+
- `commerce product get` - 查看商品详情
|
|
199
|
+
- `commerce product update` - 更新商品信息
|
|
200
|
+
- `commerce product delete` - 删除商品
|
|
201
|
+
|
|
202
|
+
**变体/SKU 管理**:
|
|
203
|
+
- `commerce variant create` - 创建商品变体
|
|
204
|
+
- `commerce variant list` - 查看变体列表
|
|
205
|
+
- `commerce variant update` - 更新变体信息
|
|
206
|
+
- `commerce variant delete` - 删除变体
|
|
207
|
+
|
|
208
|
+
**图片管理**:
|
|
209
|
+
- `commerce upload image` - 上传图片
|
|
210
|
+
- `commerce product add-images` - 关联图片到商品
|
|
211
|
+
- `commerce product remove-images` - 移除商品图片
|
|
212
|
+
|
|
213
|
+
## 详细示例
|
|
214
|
+
|
|
215
|
+
### 示例1:创建单个商品
|
|
216
|
+
```bash
|
|
217
|
+
# 用户说:"创建T恤商品,99美元,库存20"
|
|
218
|
+
commerce product create \
|
|
219
|
+
--title "T恤" \
|
|
220
|
+
--price 99 \
|
|
221
|
+
--stock 20 \
|
|
222
|
+
--description "100% 纯棉T恤"
|
|
223
|
+
```
|
|
224
|
+
|
|
225
|
+
### 示例2:上传商品图片
|
|
226
|
+
```bash
|
|
227
|
+
# 用户说:"上传商品主图"
|
|
228
|
+
commerce upload image --path ./tshirt-main.jpg
|
|
229
|
+
# 返回: { media_id: "media_123" }
|
|
230
|
+
|
|
231
|
+
# 关联到商品
|
|
232
|
+
commerce product add-images \
|
|
233
|
+
--id prod_123 \
|
|
234
|
+
--media-id media_123
|
|
235
|
+
```
|
|
236
|
+
|
|
237
|
+
### 示例3:创建商品变体
|
|
238
|
+
```bash
|
|
239
|
+
# 用户说:"给商品添加红色S码的变体"
|
|
240
|
+
commerce variant create \
|
|
241
|
+
--product-id prod_123 \
|
|
242
|
+
--sku "TSHIRT-RED-S" \
|
|
243
|
+
--price 99 \
|
|
244
|
+
--stock 50 \
|
|
245
|
+
--attributes '{"颜色":"红色","尺寸":"S"}'
|
|
246
|
+
```
|
|
247
|
+
|
|
248
|
+
### 示例4:管理商品标签
|
|
249
|
+
```bash
|
|
250
|
+
# 用户说:"把商品标记为精选和新品"
|
|
251
|
+
commerce product update \
|
|
252
|
+
--id prod_123 \
|
|
253
|
+
--tags "featured,new"
|
|
254
|
+
|
|
255
|
+
# 查看带特定标签的商品
|
|
256
|
+
commerce product list --tags "featured"
|
|
257
|
+
```
|
|
258
|
+
|
|
259
|
+
### 示例5:批量更新价格
|
|
260
|
+
```bash
|
|
261
|
+
# 用户说:"把所有T恤价格改成89"
|
|
262
|
+
# 1. 先查找T恤商品
|
|
263
|
+
commerce product list --query "T恤"
|
|
264
|
+
|
|
265
|
+
# 2. 逐个更新
|
|
266
|
+
commerce product update --id prod_123 --price 89
|
|
267
|
+
commerce product update --id prod_456 --price 89
|
|
268
|
+
```
|
|
269
|
+
|
|
270
|
+
### 示例6:完整的多规格商品上架
|
|
271
|
+
```bash
|
|
272
|
+
# 完整流程演示
|
|
273
|
+
# 1. 上传图片
|
|
274
|
+
commerce upload image --path ./tshirt-red.jpg # media_red
|
|
275
|
+
commerce upload image --path ./tshirt-blue.jpg # media_blue
|
|
276
|
+
|
|
277
|
+
# 2. 创建主商品
|
|
278
|
+
commerce product create --title "纯棉T恤" --price 99
|
|
279
|
+
# 获得 product_id: prod_123
|
|
280
|
+
|
|
281
|
+
# 3. 创建变体
|
|
282
|
+
commerce variant create --product-id prod_123 --sku "TSHIRT-RED-S" \
|
|
283
|
+
--attributes '{"颜色":"红色","尺寸":"S"}' --price 99 --stock 50
|
|
284
|
+
|
|
285
|
+
commerce variant create --product-id prod_123 --sku "TSHIRT-RED-M" \
|
|
286
|
+
--attributes '{"颜色":"红色","尺寸":"M"}' --price 99 --stock 30
|
|
287
|
+
|
|
288
|
+
commerce variant create --product-id prod_123 --sku "TSHIRT-BLUE-S" \
|
|
289
|
+
--attributes '{"颜色":"蓝色","尺寸":"S"}' --price 99 --stock 40
|
|
290
|
+
|
|
291
|
+
# 4. 关联图片
|
|
292
|
+
commerce product add-images --id prod_123 --media-id media_red,media_blue
|
|
293
|
+
|
|
294
|
+
# 5. 验证
|
|
295
|
+
commerce product get --id prod_123
|
|
296
|
+
```
|
|
297
|
+
|
|
298
|
+
## 重要提示
|
|
299
|
+
|
|
300
|
+
- 所有命令默认 JSON 输出,便于 AI 解析
|
|
301
|
+
- 图片需要先上传获取 `media_id`,再关联到商品
|
|
302
|
+
- 变体的 `attributes` 使用 JSON 格式
|
|
303
|
+
- 标签使用逗号分隔的字符串
|
|
304
|
+
- 支持的图片格式:JPG, PNG, WebP
|
|
305
|
+
- 使用 `--help` 查看命令详细参数
|
|
306
|
+
- 删除商品会同时删除所有变体和图片关联
|
|
307
|
+
- 价格单位默认为美元(USD),可通过后台配置修改
|