Commit Graph

138 Commits

Author SHA1 Message Date
wonder 30a46ff74b feat: 七牛云存储服务与素材下载接口
- service/storage.go: StorageService 提供 Upload/GetDownloadURL/Delete
- handler/storage.go: GET /api/v1/assets/download 重定向到 CDN URL
- main.go: 注入 StorageService 并注册下载路由
2026-05-25 12:57:13 +08:00
wonder d0937c2c35 feat: 添加七牛云 SDK 依赖与 QiniuConfig 配置
- go.mod 新增 github.com/qiniu/go-sdk/v7 v7.26.12
- config.go 新增 QiniuConfig 结构体,绑定 GEN2D_QINIU_* 环境变量
- .env.example 补充七牛云环境变量模板
2026-05-25 12:56:58 +08:00
Gmarker689 322e6aecbb feat(generate): 生成管线改为异步,前端接入轮询进度
后端:
- POST /api/v1/generate 改为异步模式,立即返回 taskId
- 管线在后台 goroutine 执行,状态通过 GET /tasks/:taskId 轮询
- 任务状态流转: pending → running → saving → completed/failed

前端:
- generation store: submit 后每 2s 轮询 getTask,完成时自动 getAssets
- GeneratePage: 实时显示轮询状态文本 + 进度条
- ResultPage: 挂载时轮询任务,未完成显示骨架屏+进度,完成自动加载素材
- Types: Task.status 增加 submitted / saving 状态
2026-05-25 12:51:49 +08:00
Gmarker689 c4dc7394b1 refactor(inference): 统合 image_gen 为 GPT Image 2 异步 API,删除冗余配置
- 删除 gptimage.go,异步逻辑直接内聚到 inference.go
- ImageGenConfig 改为 GPT Image 2 参数:aspect_ratio / x_channel / poll_max_wait / poll_interval
- GenerateImages 流程:submit → poll → download,支持并行多图(spritesheet)
- 移除旧的 OpenAI 兼容同步 API 代码(callImageGenAPI / parseImageResponse 等)
- 统一 env:GEN2D_IMAGE_* 系列,移除 GEN2D_GPT_IMAGE2_* 冗余
2026-05-25 12:44:39 +08:00
Gmarker689 d9d3b51262 feat(inference): 集成 GPT Image 2 异步文生图 API
- 新增 GptImage2Config 配置(yuntts 等 GPT Image 2 兼容服务)
- 新增 gptimage.go 异步客户端:提交任务 → 轮询状态 → 下载图片
- GenerateImages 优先级调整为:GPT Image 2 > OpenAI 兼容 ImageGen > Mock
- 支持环境变量 GEN2D_GPT_IMAGE2_* 系列配置
2026-05-25 12:36:37 +08:00
Gmarker689 74c1725473 feat(generate): 图片持久化到本地 generation/ 目录,前端对接真实 API
后端:
- POST /api/v1/generate 接收 projectId,生成 taskId,将图片保存至 generation/{projectId}/{taskId}/
- 新增 GET /api/v1/tasks/:taskId 和 GET /api/v1/tasks/:taskId/assets 查询端点
- 添加 /generation 静态文件服务,前端可通过 URL 直接访问生成的图片
- PipelineInput 增加 ProjectID/TaskID 字段

前端:
- generate.ts 对接真实后端 API,移除 mock 模式
- 401 时不再强制登出跳转,改为抛错由调用方处理
- GeneratePage 加载工程风格,传递 projectId 和完整参数
- generation store 简化为同步 API 模式,移除 WebSocket mock
- ResultPage 使用 getTask/getAssets 按 taskId 查询结果
2026-05-25 12:27:07 +08:00
wonder 8d24905a22 !31 !30 !29 docs: 提示词优化链路图改为上下排布
Merge pull request !31 from 何朝晖/master
2026-05-25 03:45:59 +00:00
wonder 02331f654d !30 !29 docs: 提示词优化链路图改为上下排布
Merge pull request !30 from 何朝晖/develop
2026-05-25 03:45:04 +00:00
wonder a80d1b90e9 !29 docs: 提示词优化链路图改为上下排布
Merge pull request !29 from 何朝晖/doc/mermaid-fix
2026-05-25 03:41:33 +00:00
wonder af9d19d22f docs: 提示词优化链路图改为上下排布 2026-05-25 11:39:21 +08:00
wonder d66ac373dd fix: 修正重复的deploy流水线 2026-05-25 11:34:47 +08:00
wonder e4ded604ae !28 !27 docs: README 架构图从 ASCII 替换为 Mermaid
Merge pull request !28 from 何朝晖/develop
2026-05-25 03:27:20 +00:00
wonder d873a777fd !27 docs: README 架构图从 ASCII 替换为 Mermaid
Merge pull request !27 from 何朝晖/doc/README
2026-05-25 03:26:33 +00:00
wonder d0ad68c309 CI/CD: 更新部署流水线,仅应用到master分支 2026-05-25 03:23:17 +00:00
wonder 97d9c7974c docs: README 架构图从 ASCII 替换为 Mermaid 2026-05-25 11:19:47 +08:00
wonder 6932b20152 docs: 全面优化 README.md
基于仓库代码与 docs/ 文档综合重写 README:
- 新增特性概览、技术栈表格、架构管线图、风格系统、部署说明
- 补充 Eino / License 徽章,修正版本号
- 配置表默认值与 config.yml 实际值对齐(DeepSeek)
- 项目结构树反映实际目录与关键文件
- API 部分区分已实现与规划中,补充 WebSocket 说明
2026-05-25 11:18:23 +08:00
wonder 6254433728 CI/CD: 流水线部署自动化 v0.1 2026-05-25 02:35:55 +00:00
Gmarker689 6bda5a1f35 fix(inference): 修正文生图 API 调用参数,支持动态分辨率
- 去掉 response_format 参数(API 默认返回 URL,自动下载)
- Resolution 参数覆盖 API 调用尺寸(不再仅 mock 路径生效)
- parseImageResponse 改为动态 width/height 入参
- 新增 tools/gentest.go 生成测试脚本
- .gitignore 忽略 test_output/
2026-05-25 00:21:16 +08:00
Gmarker689 0a9a923d55 feat(inference): 实现文生图与图片编辑 API 调用,新增管线与编辑 HTTP 端点,JWT 认证中间件
- inference.go: GenerateImages 改为 API 优先(callImageGenAPI),无 key 回退 mock;新增 EditImages/callImageEditAPI(multipart 上传编辑);提取 parseImageResponse 共享响应解析
- handler/generate.go: POST /api/v1/generate 触发生成管线,返回 base64 图片
- handler/edit.go: POST /api/v1/images/edit 图片编辑端点
- mildware/auth.go: JWT Bearer token 认证中间件
- main.go: 路由拆分公开/认证组,generate 与 images/edit 需鉴权
2026-05-24 22:47:43 +08:00
wonder 0afaf2acbd !26 !25 feat(deploy): 支持通过 .env 文件注入后端环境变量
Merge pull request !26 from 何朝晖/develop
2026-05-24 13:41:01 +00:00
wonder ffed0c1e8c !25 feat(deploy): 支持通过 .env 文件注入后端环境变量
Merge pull request !25 from 何朝晖/hotfix/deploy
2026-05-24 13:40:38 +00:00
wonder 2c5f83f64e feat(deploy): 支持通过 .env 文件注入后端环境变量
- docker-compose.yml 添加 env_file 加载 backend/.env
- deploy.sh 自动检测并从 .env.example 复制模板
- .dockerignore 排除 .env 防止密钥泄露到镜像
2026-05-24 21:39:49 +08:00
GYhde 5e54591b1f !24 !23 docs(api): 同步 api.md 与后端实际行为
Merge pull request !24 from 何朝晖/develop
2026-05-24 13:30:14 +00:00
GYhde fa93d18e61 !23 docs(api): 同步 api.md 与后端实际行为
Merge pull request !23 from 何朝晖/feat/frontend
2026-05-24 13:29:12 +00:00
wonder bc9c511ac3 docs(api): 同步 api.md 与后端实际行为
修正认证方式为 Bearer Token(非 Set-Cookie),修正端点路径
为 /auth/*,修正注册字段约束(email 可选、password 6-64、
username 3-32),补充登录响应完整字段。
2026-05-24 21:27:26 +08:00
wonder e880a80c51 feat(ux): Toast 通知系统,替换内联错误/成功提示
新增 toast store 和 Toast 组件,风格保存成功/失败显示 toast,
素材生成失败显示 toast,Layout 中全局渲染。
2026-05-24 21:26:19 +08:00
wonder aaf846a60d feat(ux): 空状态组件,替换各页面空白提示
新增 EmptyState 组件,ProjectPage 暂无任务时显示带操作按钮的
友好提示,AssetPreview 暂无素材时显示引导文案。
2026-05-24 21:23:02 +08:00
wonder f063ec564e feat(ux): 骨架屏加载组件与页面入场动画
新增 Skeleton 组件支持 text/card/table 三种变体,替换各页面
"加载中..." 文本为骨架屏,所有页面添加 fadeIn 入场动画。
2026-05-24 21:21:52 +08:00
wonder 60c752fad9 feat(ux): 素材类型选择器改为图标卡片布局
每个素材类型使用内联 SVG 图标 + 文字垂直排列的卡片式选择器,
选中态高亮边框与背景色。
2026-05-24 21:19:44 +08:00
wonder a7decf86ec feat(ux): 交互元素悬浮/聚焦/按压状态增强
表格行悬浮高亮、StyleSelector 药丸按钮键盘焦点环。
2026-05-24 21:17:40 +08:00
wonder c177cbaf82 feat(prompt): AI 提示词优化双栏交互
新增 prompt API 模块调用后端 /api/v1/prompt/optimize,PromptEditor
重构为左右双栏布局支持原始/优化提示词对比编辑,默认开启 AI 优化,
用户可关闭开关或手动编辑优化结果后再提交生成。
2026-05-24 21:16:15 +08:00
wonder eac64105de feat(layout): 认证页面统一导航栏,含主题切换与退出按钮
新增 Layout 组件作为认证路由的公共布局,提供 sticky 导航栏,
移除各页面重复的顶栏代码。
2026-05-24 21:12:23 +08:00
wonder 323472ab2b feat(theme): App 初始化时设置 data-theme 属性,首次渲染即为主题 2026-05-24 21:09:23 +08:00
wonder dab9bc9750 feat(theme): Zustand 主题 store,localStorage 持久化,默认浅色 2026-05-24 21:08:02 +08:00
wonder 6928d9250d feat(theme): CSS 变量重构为暗色/浅色双主题
将 :root 硬编码的深色变量拆分为 [data-theme="light"] 和 [data-theme="dark"]
两套主题块,新增导航栏、骨架屏、Toast 等预留变量,添加页面入场动画。
2026-05-24 21:07:29 +08:00
wonder 9e3bb1241e !22 docs: 更新 README 与 API 文档,描述提示词优化链路
Merge pull request !22 from GYhde/feat/promptagent
2026-05-24 12:48:32 +00:00
Gmarker689 36a6465f26 docs: 更新 README 与 API 文档,描述提示词优化链路
- README 新增提示词优化链路章节(流程图 + 特性 + API 说明)
- docs/api.md 新增提示词优化接口文档与调用链路
- 更新架构描述:PromptBuilder → PromptOptimizer
2026-05-24 20:45:24 +08:00
Gmarker689 9ca1e65221 feat(pipeline): PromptOptimizer 集成到生成管线,新增优化 API
- PipelineInput 新增 Tags/UserNote 字段
- 管线重构为: START → PromptOptimizer → AssetGenerator → QualitySupervisor → FormatAdapter
- promptOptimizerNode: 有标签调用 PromptAgent,无标签补技术参数,合并风格与重试信息
- PromptBuilder 移除,提示词构建逻辑并入 PromptOptimizer
- 新增 POST /api/v1/prompt/optimize 接口
- main.go 注入 LLM/ImageGen 配置,注册 prompt 路由
- inference.go 新增 InitImageGenConfig 注入
2026-05-24 20:45:18 +08:00
Gmarker689 788cd021ef feat(prompt-agent): 新增 PromptAgent Eino Chain 调用 LLM 优化提示词
- Eino Chain: formatMetaPrompt → llmRefine → 三段式输出
- callLLMRefine 调用 OpenAI 兼容 Chat Completions API
- 支持 SSE 流式与非流式响应解析
- 无 API key 或调用失败时自动回退模板生成
- 新增完整的单元测试与集成测试(含 mock HTTP server)
2026-05-24 20:45:09 +08:00
Gmarker689 ef5ddcfbb5 feat(config): 重构配置层为 Viper + YAML + .env 三级加载
- config 改用 Viper 读取 YAML + 绑定环境变量 + godotenv 加载 .env
- 新增 LLM / ImageGen / JWT / Database / Server 分组配置结构
- 新增 backend/.env.example 环境变量模板
- .gitignore 添加 backend/.env 和 backend/main
2026-05-24 20:44:53 +08:00
wonder 5f35600190 !21 !20 fix(deploy): 修复后端容器 SQLite 数据目录不存在导致 502
Merge pull request !21 from 何朝晖/develop
2026-05-24 06:49:22 +00:00
wonder 87258cb3a8 !20 fix(deploy): 修复后端容器 SQLite 数据目录不存在导致 502
Merge pull request !20 from 何朝晖/hotfix/deploy
2026-05-24 06:48:14 +00:00
wonder d92ba33846 fix(deploy): 修复后端容器 SQLite 数据目录不存在导致 502
运行时阶段缺少 /data 目录,SQLite 初始化失败后端崩溃,nginx 返回 502。
- Dockerfile 添加 mkdir -p /data 和 WORKDIR
- docker-compose 添加 backend-data 卷挂载,确保持久化
2026-05-24 14:46:48 +08:00
wonder 812230f850 !19 !18 fix(deploy): 修复 Docker 部署两个问题
Merge pull request !19 from 何朝晖/develop
2026-05-24 06:37:09 +00:00
wonder f0bb2b71fa !18 fix(deploy): 修复 Docker 部署两个问题
Merge pull request !18 from 何朝晖/hotfix/deploy
2026-05-24 06:36:32 +00:00
wonder 6a88ec0d46 fix(deploy): 修复 Docker 部署两个问题
1. 后端 Dockerfile 开启 CGO(go-sqlite3 依赖),安装 gcc/musl-dev
2. nginx 添加 /auth/ 反向代理,修复注册登录 405 错误
2026-05-24 14:33:45 +08:00
wonder 7686047a7f !17 !15 feat(auth+db): 实现注册登录核心逻辑,以及自动建表,用户信息落库
Merge pull request !17 from 何朝晖/develop
2026-05-24 06:23:11 +00:00
GYhde e373f39667 !16 chore: 更新 .gitignore,忽略前后端构建产物
Merge pull request !16 from 何朝晖/feat/frontend-mvp
2026-05-24 06:22:37 +00:00
wonder a6bc887a45 chore: 更新 .gitignore,忽略前后端构建产物 2026-05-24 14:19:39 +08:00
wonder a2736f722c feat(frontend): 构建前端 MVP,实现完整 UI 框架与 mock 数据层
- 安装 zustand + react-router-dom 依赖
- 修复 Vite 代理配置,添加 /auth 路由转发
- 实现 API 封装层(client.ts 统一 fetch、auth.ts 真实调用)
- 实现 mock 数据层(mock.ts 模拟 WebSocket 管线进度)
- 实现 4 个 zustand stores(auth/project/task/generation)
- 实现 5 个组件(StyleSelector/PromptEditor/GenerateForm/ProgressBar/AssetPreview)
- 实现 5 个页面(Login/Register/Project/Generate/Result)
- 实现路由含 ProtectedRoute 守卫
- 添加暗色主题全局样式
- 更新前端文档与 API 文档
2026-05-24 14:18:39 +08:00