← 返回知识库 # COS→审图→网页 管线文档 ## 一、COS 下载(去重下载) | 文件 | 用途 | 所在服务器 | |------|------|-----------| | `dedup.py` | 扫 COS `generated/` + `generated_v2/`,按文件名去重 → 下载到 `/data/cos_images/` | 4号 | | `clean_and_sync.py` | 全桶扫描(含删除AI模型文件),同名只保留最新 → 下载到 `/data/cos_images/` | 4号 | | `sync_cos_to_review.py` | COS→审图数据库同步,解析 `_c.jpg / _s1.jpg / _s2.jpg` 写入 `review_images` 表 | 4号 | ## 二、图片处理 | 文件 | 用途 | |------|------| | `dedup_images.py` | pHash 视觉去重,内容完全相同的图片移到 `/data/cos_trash/` | | `compress_images.py` | JPG 压缩到 quality=65 | ## 三、索引构建 | 文件 | 用途 | |------|------| | `build_image_index.py` | 读 `cos_images/` + `cos_approved/` + `factory_images/` + `fashion.db` → 输出 `/data/image_index.json`(含图片->SKU映射、审图状态) | ## 四、Web 网页生成 | 文件 | 用途 | 端口 | |------|------|------| | `review_server.py` | 审图服务器 — 动态生成审图Web页面,SKU浏览/裁决/批量过审/上传COS | **8899** | | `gallery-server.py` | Gallery 浏览器 — 从本地 `/cos_local/` 生成图片浏览网页 | **8895** | | `xinan-fashion/src/app/` | Next.js 商城前端 — 产品详情页、列表页、Swipe 页(从 fashion.db 读数据) | **3000** | ## 五、已审图片上传回 COS | 文件 | 用途 | |------|------| | `upload_approved.py` | 把 `/data/cos_approved/` 通过的图片上传回 COS `generated/` + 更新 fashion.db | ## 六、Nginx 反向代理 | 文件 | 用途 | |------|------| | `shop-4hao.conf` | [shop.hunanningyuan.cloud](http://shop.hunanningyuan.cloud/) 代理:`/api/` → 8895,`/category/detail/poster` → 8895,`/` → 3000(Next.js) | ## 七、数据目录 | 路径 | 内容 | |------|------| | `/data/cos_images/` | 从COS下载的原图(待审) | | `/data/cos_approved/` | 审图通过的图片 | | `/data/cos_trash/` | 视觉去重淘汰的图片 | | `/data/image_index.json` | 图片索引 | | `/data/review_results.json` | 审图裁决结果 | ## 八、管线流程 ``` dedup.py 从COS下载 → build_image_index.py 建索引 → review_server.py(8899)生成审图网页 → 审图通过 → upload_approved.py 传回COS → gallery-server.py(8895)或Next.js(3000)展示 ``` ## 九、命名规则(需确认) - `_c.jpg` — collage 搭配图(已支持) - `_s1.jpg` / `_s2.jpg` — single 单品图(已支持) - `_L.png` — lookbook 影棚图(新) - ⚠️ `_E.png` — editorial 户外图(待确认是否需加入管线解析)