从投放需求到文案、图片变体和 A/B 实验的一体化创意工作流。
将创意生成、素材与任务管理、实验指标和模型调用证据放进同一个可本地运行的参考实现。
简体中文 · English
功能 · 快速开始 · 界面预览 · 工作原理 · 项目范围 · 文档
把投放需求变成可执行的创意工作流:先生成文案候选,再创建图片变体任务;随后在素材库中管理产物, 用 A/B 实验记录曝光、点击和 CTR,并通过模型调用链定位请求问题。
从创意方向到图片变体与实验结果,都在同一条工作流中推进。
| 能力 | 当前提供的行为 |
|---|---|
| 文案到创意 | 生成文案候选,确认创意方向后创建图片生成任务。 |
| 素材与任务 | 浏览生成素材,并跟踪任务从创建到完成或失败的状态。 |
| A/B 实验 | 创建变体、分配流量,并记录曝光、点击与 CTR 指标。 |
| 模型调用链 | 查看模型调用证据;追踪记录可用于定位异常请求。 |
- Go 1.20+
- Node.js 18、20 或 22+(含 npm)
- PostgreSQL 14+ 或 MySQL 8+
- 用于文案与图片生成的通义 API Key
- 需要图片上传/存储时配置七牛云凭证
git clone https://github.com/NEDONION/ads-creative-gen-platform.git
cd ads-creative-gen-platform
cp .env.example .env
# 编辑 .env:设置 DB_* 配置与 TONGYI_API_KEY。
# PostgreSQL 示例:迁移前创建 DB_NAME 对应的数据库。
createdb -h localhost -p 5432 -U postgres ads_creative_gen_platform
go mod download
go run cmd/migrate/main.go -action migrate
go run main.go迁移命令只会在已有数据库中创建表,不会创建 DB_NAME。MySQL 用户也需要先创建同名的
ads_creative_gen_platform 数据库,再运行迁移。
在第二个终端中运行:
cd web
npm install
npm run dev打开 http://localhost:3000 访问前端。API 健康检查为
http://localhost:4000/health,API 前缀为
http://localhost:4000/api/v1。
| 分组 | 关键变量 | 说明 |
|---|---|---|
| 应用 | APP_MODE、HTTP_PORT |
示例默认将 API 绑定到 :4000。 |
| 数据库 | DB_TYPE、DB_HOST、DB_PORT、DB_USER、DB_PASSWORD、DB_NAME |
默认使用 PostgreSQL,也支持 MySQL。 |
| 通义 | TONGYI_API_KEY、TONGYI_IMAGE_MODEL、TONGYI_LLM_MODEL |
启动时必须设置 TONGYI_API_KEY。 |
| 七牛云 | QINIU_ACCESS_KEY、QINIU_SECRET_KEY、QINIU_BUCKET |
启动可不配置;启用图片上传/存储时需要配置。 |
关键配置模板请参考 .env.example,不要提交真实凭证。
flowchart LR
U["投放运营人员"] --> W["React + Vite 前端"]
W --> A["Go + Gin API"]
A --> D["PostgreSQL 或 MySQL"]
A --> T["通义 LLM / 图片 API"]
A --> Q["七牛云对象存储"]
前端负责创意操作与结果展示,Go API 负责工作流、数据与外部服务交互;数据库保存应用数据,通义服务 提供文案和图片生成能力,七牛云仅在启用图片上传/存储时参与。
| 分层 | 技术 |
|---|---|
| Web | React 18、TypeScript 5.7、Vite 6 |
| API | Go 1.20、Gin、GORM |
| 数据 | PostgreSQL 或 MySQL |
| AI 与存储 | 通义千问、通义万相、七牛云 |
这是一个持续演进、可本地运行的参考实现,不是托管服务。完整的本地体验需要数据库和通义凭证; 图片存储需要七牛云配置。
| 文档 | 内容 |
|---|---|
| 文档目录 | 全部项目文档的入口 |
| API 参考 | HTTP 接口与调用约定 |
| 数据库设计 | 数据库结构与设计说明 |
| 开发指南 | 本地开发流程 |
| 部署指南 | 部署配置与运行说明 |
| 功能设计文档 | 文案、实验、调用链和插件设计 |
欢迎通过 Issues 提交问题和建议,也欢迎提交 小而聚焦的 Pull Request。请说明使用场景,并在提交前运行相关的 Go 或 Web 检查。







