ProductFlow v0.1.0 (2026.5.2)
ProductFlow 的首个公开自托管版本。这个版本提供一套可本地部署、可二次开发的私有电商素材工作流:商品资料、参考图、AI 文案、连续生图、海报产出和素材回收都在单管理员工作台中完成。
默认 mock provider 可以跑通基础流程,接入真实模型 key 后可切换到 OpenAI Responses 兼容的文本和图片 provider。
✨ 亮点
- ProductFlow Workbench — 商品详情页现在是节点式工作台:商品上下文、参考图、文案生成和生图节点可以组成可持久化的 DAG,运行状态、失败原因和历史产物都会落库。
- 连续生图 + 画廊 — 独立图片会话支持可恢复的异步生成任务、队列位置、多候选结果、挂回商品,以及
/gallery统一收藏和下载满意的生成图。 - 文案、海报和素材闭环 — 商品资料可以生成、编辑和确认文案;海报支持本地 Pillow 模板和远程图片 provider;右侧 Images 面板集中回看和下载商品素材。
- 运行时配置 — 设置页可以管理 provider、模型、图片尺寸、上传限制、重试/并发、提示词模板、登录门禁和业务删除开关,secret 不会在 API 响应中回显。
- Docker Compose 自托管 — 仓库内置 PostgreSQL、Redis、FastAPI backend、Dramatiq worker 和 nginx-served Web 的 Compose 部署路径。
- 中英文公开文档 — README、PRD、架构、路线图和用户指南已经同步到当前实现,方便中文用户和英文用户直接了解真实边界。
🚀 快速开始
cp .env.example .env
# 修改 ADMIN_ACCESS_KEY / SETTINGS_ACCESS_TOKEN / SESSION_SECRET / POSTGRES_PASSWORD
docker compose up -d --build默认 mock provider 可以在没有外部模型 key 的情况下跑通基础商品链路。启动后访问:
http://127.0.0.1:29281
生产更新脚本仍然在仓库内提供:just release-dry-run 用于检查计划,just release 用于在真正部署主机上重建 Compose 栈并做健康检查。
🧭 边界
- 单管理员自托管模型,不提供公开注册。
- 不包含多用户、多租户、团队权限、计费、托管账号或店铺授权。
- 不包含自动投放、自动上架或视频生成链路。
- 不发布预构建容器镜像、Helm chart 或 Kubernetes 部署包;使用源码 tag 和仓库内 Compose 构建。
- 普通更新不要删除 Docker volumes;
docker compose down -v只适合明确的数据重置场景。
ProductFlow v0.1.0 (2026.5.2)
The first public self-hosted release of ProductFlow. This version provides a locally deployable and extensible private ecommerce creative workflow: product information, reference images, AI copy, iterative image generation, poster output, and asset reuse are handled in one single-admin workspace.
The default mock providers can run the baseline flow. Operators can switch to OpenAI Responses-compatible text and image providers after connecting real model keys.
✨ Highlights
- ProductFlow Workbench — The product detail page is now a node-based workbench. Product context, reference images, copy generation, and image generation nodes form a persistent DAG with run state, failure reasons, and generated artifacts stored in the database.
- Iterative Image Generation + Gallery — Standalone image sessions support recoverable async generation tasks, queue position, multiple candidates, product attachment, and a
/gallerypage for collecting and downloading selected generations. - Copy, Poster, and Asset Loop — Product data can generate editable/confirmable copy. Posters can come from local Pillow templates or a remote image provider. The Images sidebar centralizes product assets for preview and download.
- Runtime Settings — The settings page manages providers, models, image sizes, upload limits, retry/concurrency controls, prompt templates, login gate, and business deletion. Secrets are not echoed back by API responses.
- Docker Compose Self-Hosting — The repository includes a Compose path for PostgreSQL, Redis, FastAPI backend, Dramatiq worker, and nginx-served Web.
- Bilingual Public Docs — README, PRD, architecture, roadmap, and user guide are synchronized with the current implementation in Chinese and English.
🚀 Quick Start
cp .env.example .env
# Set ADMIN_ACCESS_KEY / SETTINGS_ACCESS_TOKEN / SESSION_SECRET / POSTGRES_PASSWORD
docker compose up -d --buildThe default mock providers can run the baseline product flow without external model keys. After startup, open:
http://127.0.0.1:29281
The production update helper remains in the repository: just release-dry-run checks the plan, while just release rebuilds the Compose stack and runs health checks on the real deployment host.
🧭 Boundaries
- Single-admin self-hosted model without public registration.
- No multi-user accounts, multi-tenancy, team permissions, billing, hosted accounts, or store authorization.
- No automatic ad placement, automatic store listing, or video-generation workflow.
- No prebuilt container images, Helm chart, or Kubernetes package is published; use the source tag and in-repository Compose build.
- Do not delete Docker volumes for ordinary updates;
docker compose down -vis only for deliberate data resets.