Files
pod_trend_agent/db/.workbuddy/memory/MEMORY.md
T
3218485270 5ab5cf6586 v110-v112 自定义模式完善 + 模板导出增强 + 多模态兼容优化
- 自定义模式:分析模型输出 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=运动
- 童装特征库更新 + 标题模板外部化 + 图源映射增强
2026-09-03 18:28:39 +08:00

4.9 KiB
Raw Blame History

项目长期记忆:Inkreach POD 数据库同步

PG 库连接

  • host=localhost, port=5432, user=postgres, password=inkreach, dbname=inkreach
  • Python 驱动 psycopg2 装在隔离 venvC:/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,字段不可改)

  • SPU25+ 业务字段 + 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
  • SKU19 字段):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 尺码(颜色×尺码粒度)
  • 业务模板固定值写入 SPUPG 仅提供 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_IDSCOUNTRY 后重跑(会 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 → shipmentCountryList14 国(US/PL/GB/JP/MX/SA/CA/ES/AU/DE/KR/BR/IT/CN,含各国商品数)
    • /products/page → 商品分页,参数 shipmentArea=overseas|CNpagesizesize 可到 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 条本身无款号)。
  • 三套分类体系(大坑,已查证)
    1. /categories 品类树:625 个节点,含「长袖T恤」等 14 个长袖节点,但没有任何商品挂在上面(商品 category_id 全都不在这棵树里)。
    2. 商品 category_id:取值在 81868741 区间,不属于 /categories 树(树节点 id 是 12958659 另一套),无法互相映射。
    3. 商品 categories 标签(脚本用的就是它):[国家/工厂, 人群款式, "款号 品名"],按国家+人群款式组织。
  • 「长袖/短袖」不是分类,只写在商品 name 里:全站 name 含"长袖"的商品 30 条 → 9 个款号(DG502/DG503/DG505/GBTK012/GBTM011/JPTM006/KRTM004/PLHF029/PLTF026),它们被并入 男士T恤/女士T恤/童装T恤/女士卫衣 品类。要按长袖筛选只能从 name 判断。