EcomGen — 本地优先电商 AI 套图工作台,25 种电商图片模板,商品事实驱动的分镜出图流程

EcomGen 是面向个人卖家的本地优先电商 AI 应用。它不直接替用户一键出图,而是先把商品事实、商品素材、目标市场和平台要求整理成一份可审核的分镜,再由 Worker 调用兼容 OpenAI 的图像 Provider 逐张生成、审核并导出整套图片

项目采用 MIT 协议开源,默认把 SQLite、上传素材、生成结果和导出文件都放在 ./data 目录,API Key 加密保存,前端不会直连 Provider、Redis 或 SQLite。对想把 AI 生产力落到具体出图流程里、又不愿把商品资料交给在线服务的独立卖家和小团队,这类自托管方案更可控。

技术栈方面,Web 端是 React 19、Vite、Ant Design、TanStack Query 和 Motion,API 层是 Fastify 5、TypeBox、SQLite、SSE 和 multipart,Worker 侧用 BullMQ、Redis、Sharp 和 Archiver,Agent 能力来自 @earendil-works/pi-agent-core@earendil-works/pi-ai,工程侧是 TypeScript、pnpm workspace、Vitest 和 OpenAPI 3.1。

界面预览

工作台由 React + Vite 构建的 Web 前端承载,覆盖从建项目到导出的全过程。

项目入口:列出已有商品项目,每个项目的分镜、生成任务和导出状态一目了然。

商品配置:录入商品描述、已核实事实、禁止声明、品牌规范、目标市场和目标平台。

分镜确认:Pi Agent 给出分镜方案后,用户可直接编辑并逐条确认最终提示词

生成结果:Worker 出图后在此审核,通过的图片打包成 ZIP 导出。

场景痛点

个人卖家做一套商品图,通常要在几个网页端工具之间反复横跳:先在主图工具里拼背景,再切到信息图模板改文案,最后回到修图软件统一尺寸。每次切换都要重新上传商品图、重新描述一遍卖点,改一个参数就得整批重做。中间缺的不是某个出图按钮,而是一套能把商品资料、分镜和出图串起来的效率工具

更麻烦的是商品事实的一致性。卖家把「材质」「功率」「容量」这类信息交给通用聊天机器人写 AI 绘画提示词,模型会顺着语境编出没核实过的参数,生成的包装图上还可能印错规格。等图上了架才发现,返工成本比重新做一遍还高。

核心功能

项目化工作流

每个商品是一个独立项目,记录商品描述、已核实事实、禁止声明、品牌规范、目标市场和平台。这些字段后续会作为分镜规划的约束条件,避免每次生成都从头描述一遍商品。

Pi Agent 分镜规划

Pi Agent 读取内置的电商模板和平台规范,产出可直接交给图像模型的最终 Prompt。用户可以在确认环节自己改,改完再交给 Worker—— promptInstruction 就是最终 Prompt,Worker 不会在下游二次拼接模板。

25 种电商图片模板

内置改造后的 ecom-details-image 模板目录,覆盖主图、场景图、信息图、包装、对比和社媒等场景,模板定义在 packages/ecom-skill。未知模板 ID 会显式失败,不允许绕过模板校验。

素材与像素保护

素材按 PRODUCT_TRUTH、包装图和参考图三类区分。开启 PIXEL_PROTECTED 模式后,生成时必须使用当前项目的商品真值素材;缺少 PRODUCT_TRUTH 时任务直接失败,不会拿参考图顶替商品真实像素。

异步生成与审计

规划、生图、编辑和导出都由 BullMQ Worker 排队处理,每一步保存 compiledPrompt、生成快照和任务状态。这套 AI 自动化流水线在每一步都留了人工入口:SSE 只负责通知前端重新查询,REST 接口才是状态真相,刷新页面不会丢失进度。

Provider 管理

可以配置多个推理和生图 Provider,支持 OpenAI-compatible Images,也支持 Google Gemini 原生生图(Nano Banana)。API Key 加密存储,且明确规定:API Key、主密钥和其他凭据不得写入 Prompt、日志、manifest.json 或提交记录。

编辑、审核与导出

支持基于输出分支的图像编辑、人工审核和 ZIP 导出,导出时会附带 manifest 便于追溯整套图的生成参数。

安装与使用

前置条件

  • Windows、Node.js 22 或更高版本
  • pnpm 11(仓库锁定版本为 11.19.0
  • Redis 6.2 或更高版本;本地可用 Redis 7 Docker 容器
  • 一个 Base 64 编码的 32 字节 ECOMGEN_MASTER_KEY
  • 至少一个可用的推理 Provider;生图可用 OpenAI-compatible Images 或 Google Gemini Nano Banana

安装

生成主密钥并写入 .envECOMGEN_MASTER_KEY(不要提交 .env):

默认配置使用 ./data 保存 SQLite、上传素材、生成结果和导出文件,使用 redis://127.0.0.1:6379 连接 Redis。Web 端可按需在 apps/web/.env 中设置:

启动服务

先确保 Redis 已启动,再在三个终端分别运行:

默认地址:Web 为 Vite 输出的本地地址(通常为 http://127.0.0.1:5173),API 为 http://127.0.0.1:8787,API 契约见 openapi.yaml。也可以用根脚本一次拉起三个服务:pnpm dev

Docker Compose 部署

Compose 会启动 Redis、API 和 Worker,业务数据存到命名卷;API 同时托管 apps/web/dist,因此只需暴露一个端口。先在根目录创建 .env 并至少设置 ECOMGEN_MASTER_KEY

启动后访问 http://127.0.0.1:8787 即完整工作台。部署在 VPS 或远程服务器时,用 http://<服务器IP>:8787 访问,建议前置 Nginx 或 Caddy 反代并配置 HTTPS。查看日志和停止服务:

需要注意,VITE_API_BASE_URL 是构建期变量:前后端分开部署时,必须在 pnpm --filter @ecomgen/web build 之前设置为浏览器可访问的 API 地址,构建后无法修改;不设置时默认走同源相对路径 /api/v1

常用命令

按包运行示例:pnpm --filter @ecomgen/web testpnpm --filter @ecomgen/agent test -- --runpnpm --filter @ecomgen/worker build

Gemini 生图配置

配置项取值
Base URLhttps://generativelanguage.googleapis.com/v1beta
模型 IDgemini-2.5-flash-image
生图 API 类型gemini

该适配器使用 Gemini generateContent 的原生图像响应,参考图以内联图片发送。Gemini 不支持 OpenAI 式蒙版,因此局部蒙版编辑和画布外扩会按能力检查显式拒绝——这是能力边界,不是配置项能绕过的。

我的使用感受

EcomGen 的思路和常见的一键出图工具不太一样:它把「先说清楚商品是什么」放在「生成图片」之前,分镜这一层是可以逐条改、逐条确认的。对卖家长尾 SKU 多的情况,这套约束比多轮对话调提示词更省事。

代价是上手成本不低。要自备 Redis、自备推理 Provider,还得理解 PRODUCT_TRUTHPIXEL_PROTECTED 这类概念。它属于那种需要花半小时配环境、之后能长期复用的实用软件,在众多 AI 工具里定位偏流程管控而非出图速度。指望开箱即用会有点落差,但对正在找电商出图方案的卖家,这是值得放进工具推荐清单的一个选择。

官方网站

https://github.com/linbei0/EcomGen

下载地址

https://pan.quark.cn/s/6b0434d9a1ec

相关推荐

Avatar photo

JameCling

我是 格律诗的软件世界 的作者,一名专注于软件工具、AI 技术和数字效率领域的独立研究者。
多年来,我持续关注互联网工具的发展趋势,体验不同平台的软件产品,并研究它们如何帮助用户提升效率。
我的工作不仅是整理软件信息,而是通过实际测试、功能分析和使用场景研究,帮助用户判断一个工具是否真正值得使用。
格律诗的软件世界 的每一篇文章都希望提供真实、有价值的信息,包括工具特点、使用方法、优缺点分析以及适合的人群。
我相信,好的工具能够改变工作方式,而准确的信息能够帮助用户做出更好的选择。