- 自定义模式:分析模型输出 delta 唯一改动指令,生图模板 custom_image_prompt.md({delta} 占位符),不再使用负向提示词;generate_design 按 custom_mode 分支,Pinterest 模式保留原创化指令,两模式互不影响
- 多模态分析 response_format 三级回退(json_schema → json_object → none),兼容 DeepSeek
- 模板导出:details 扩展列(细节1/2/3)、target_audience 扩展列(适用人群1)、固定值风格1=休闲/风格2=运动
- 童装特征库更新 + 标题模板外部化 + 图源映射增强
4.9 KiB
4.9 KiB
项目长期记忆:Inkreach POD 数据库同步
PG 库连接
- host=localhost, port=5432, user=postgres, password=inkreach, dbname=inkreach
- Python 驱动 psycopg2 装在隔离 venv:
C:/Users/Admin/.workbuddy/binaries/python/envs/default/Scripts/python.exe
国家货盘映射(plates 表 id → 国家)
- 美国 2/3/4/5、墨西哥 6、日本 7、韩国 8、沙特 9、巴西 10、英国 11、加拿大 12、波兰 13、西班牙 14、德国 15、澳洲 16、意大利 17
SPU/SKU 表结构(SQLite spu_sku.db,字段不可改)
- SPU(25+ 业务字段 + country + mark):code/material/component_1~3/比例/pattern/details/collar_style/style/care_Instructions/fabric/target_audience/season/is_transparent/layout/weaving_method/printing_type/fabric_texture_1/fabric_weight_1/fabric_weight_unit_1/lining_texture/country/mark
- SPU 固定模板值(不随 PG 变):pattern=印花、details=无、collar_style=圆领、style=休闲、care_Instructions=数码印花类可机洗且不可干洗、fabric=微弹、target_audience=成人、season=四季、is_transparent=否、layout=常规、weaving_method=针织(含钩织、毛织面料)、printing_type=定位印花、fabric_texture_1=光面、fabric_weight_unit_1=g/㎡、lining_texture=无里料/无内衬、mark=1
- SKU(19 字段):spu_id/code/price/color/size/size_group/size_type/shoulder_width/bust/clothing_length/sleeve_length/longest_side/secondary_long_side/shortest_side/package_weight/img_url_2~5
同步脚本 sync_from_pg.py 规律
- SPU = categories(按 code 去重);SKU = colors × product_size/ size_chart 尺码(颜色×尺码粒度)
- 业务模板固定值写入 SPU,PG 仅提供 material、component、fabric_weight(从 name 提取克重)、country
- SKU code = colors.code(脏数据兜底为 品类code-颜色名);color = 清洗后颜色名;price = 该品类 prices 首条;包装尺寸/重量 = product_extra.packaging_spec JSON;尺码表 = product_extra.product_size JSON(缺则回退 size_chart)
- 切换国家:改顶部
PLATE_IDS与COUNTRY后重跑(会 DELETE 两表再插入) - 脏颜色 code 处理:clean_color_name() 去尺码前缀;is_clean_code() 判断规范,不规范则 品类code-颜色名 兜底(源库无拉丁编码时 code 含中文属必然)
已知数据坑
- 部分品类 colors.code 为脏数据(如 'METB001-S-3XL黑色'、'5000B-黑色'、'SFB-黑色')→ 兜底补全
- 部分品类无 product_extra(如 SFB/5000B)→ 尺码走 size_chart 回退,包装/重量留空
- 家居类尺码格式不一致('3040/76.2101.6' vs '30*40')、均码叫法不同(Onesize vs 均码)→ 已加归一化兜底
Inkreach 商城公开 API(供 crawl_style_codes.py 复用)
- 域名:
https://mapi.sdspod.com(坑:前端 JS 里写的api.sdspod.com在本机 DNS 解析不到,不可用) - 端点(无需鉴权,带 Referer: https://www.inkreach.cn/ 即可):
/products/pageOptionGroup→ shipmentCountryList:14 国(US/PL/GB/JP/MX/SA/CA/ES/AU/DE/KR/BR/IT/CN,含各国商品数)/products/page→ 商品分页,参数shipmentArea=overseas|CN、page、size(size 可到 100)/categories→ 品类树,26 个顶层(含「美国/欧洲/日本…本地直发」这类国家维度)
- 大坑:
overseasArea(国家)与id(品类)筛选参数实测不生效(各国 totalCount 恒等)→ 只能全量分页拉取后本地聚合。 - 商品结构:
categories标签顺序固定 =[国家/工厂标签, 品类, "款号 品名"],例:美国工厂直发 | 男士T恤 | DG505 180g男士纯棉长袖——国家/品类/款号最可靠的来源。 - 款号提取:优先 categories 的「款号 品名」标签(能覆盖纯字母款号如
SFB),其次 name 的-分段;必须用SIZE_WORDS排除尺码串(S/M/XL/2XL/3XL 会被误判)。 - 国家别名:中东→SA(沙特,站点文案非「沙特阿拉伯」)、国内工厂→CN;CN 商品 name 无国家前缀,用
shipmentArea兜底。 - 规模参考:在架商品 540(海外 536 + 国内 4)→ 13 国、149 个去重款号(CN 4 条本身无款号)。
- 三套分类体系(大坑,已查证):
/categories品类树:625 个节点,含「长袖T恤」等 14 个长袖节点,但没有任何商品挂在上面(商品 category_id 全都不在这棵树里)。- 商品
category_id:取值在 81868741 区间,不属于8659 另一套),无法互相映射。/categories树(树节点 id 是 1295 - 商品
categories标签(脚本用的就是它):[国家/工厂, 人群款式, "款号 品名"],按国家+人群款式组织。
- 「长袖/短袖」不是分类,只写在商品 name 里:全站 name 含"长袖"的商品 30 条 → 9 个款号(DG502/DG503/DG505/GBTK012/GBTM011/JPTM006/KRTM004/PLHF029/PLTF026),它们被并入 男士T恤/女士T恤/童装T恤/女士卫衣 品类。要按长袖筛选只能从 name 判断。