wonder
|
7d89faff5c
|
fix: 七牛云上传缺少 File.Name 导致上传失败
UploadReader 调用时未设置 ObjectOptions.FileName,SDK 内部
PostObject 校验 File.Name 不能为空,返回 missing required field 错误。
从 key 中提取文件名填入 FileName 字段即可。
|
2026-05-25 14:58:12 +08:00 |
|
wonder
|
3890a50809
|
!44 !43 fix: 修复 runPipelineBg 调用参数不匹配的编译错误
Merge pull request !44 from 何朝晖/develop
|
2026-05-25 06:47:00 +00:00 |
|
Gmarker689
|
2d6797ab3d
|
!43 fix: 修复 runPipelineBg 调用参数不匹配的编译错误
Merge pull request !43 from 何朝晖/fix/runtime
|
2026-05-25 06:46:04 +00:00 |
|
wonder
|
20787fcde7
|
fix: 修复 runPipelineBg 调用参数不匹配的编译错误
|
2026-05-25 14:44:55 +08:00 |
|
wonder
|
d835038f95
|
!42 !41 feat: .env example示例
Merge pull request !42 from 何朝晖/develop
|
2026-05-25 06:39:11 +00:00 |
|
Gmarker689
|
c2d5acfb52
|
!41 feat: .env example示例
Merge pull request !41 from 郭永昊/feat/async-generate-pipeline
|
2026-05-25 06:38:52 +00:00 |
|
wonder
|
cc8310860b
|
Merge branch 'develop' of gitee.com:hezhaohui123/gen2d into feat/async-generate-pipeline
Signed-off-by: 何朝晖 <hezhaohui0807@163.com>
|
2026-05-25 06:38:14 +00:00 |
|
Gmarker689
|
610c7ebbc0
|
!40 docs: 更新后端文档,补充日志系统说明
Merge pull request !40 from 何朝晖/refactor/log
|
2026-05-25 06:33:07 +00:00 |
|
wonder
|
2471f97066
|
docs: 更新后端文档,补充日志系统说明
|
2026-05-25 14:31:09 +08:00 |
|
wonder
|
25c11ed649
|
refactor: 全面集成 slog 日志到 handler、service、middleware
- cmd/main.go: 集成 logger.Init 和日志中间件,替换标准 log 包
- handler 层: 5xx 错误记录完整日志,返回通用消息(防内部信息泄露)
- service 层: LLM/图片生成/存储/认证等关键操作补充结构化日志
- auth 中间件: 记录认证失败原因
- generate.go: 后台管线任务使用带 task_id 的 logger
|
2026-05-25 14:31:04 +08:00 |
|
wonder
|
681bc8f472
|
feat(middleware): 新建请求日志与 Panic 恢复中间件
- Logger 中间件:生成 request_id(注入 X-Request-ID header),记录 method/path/status/latency/client_ip
- Recovery 中间件:自定义 panic 恢复,记录 request 上下文和堆栈
|
2026-05-25 14:30:44 +08:00 |
|
wonder
|
fb0d83251f
|
feat(log): 新建 logger 包,基于 log/slog 提供结构化日志
- 新建 internal/logger/logger.go,提供 Init/FromCtx/WithRequestID 方法
- Config 新增 LogConfig(level/format),支持 GEN2D_LOG_LEVEL/GEN2D_LOG_FORMAT 环境变量
- config.yml 和 .env.example 添加日志配置示例
|
2026-05-25 14:30:35 +08:00 |
|
Gmarker689
|
e51e1b6742
|
feat: .env example示例
|
2026-05-25 14:29:02 +08:00 |
|
Gmarker689
|
5d5fe60426
|
feat: 管线四阶段进度上报 + 图片预览 + Vite 代理
后端:
- pipeline.go: ProgressReporter 回调类型 + WithProgressReporter 注入 context
- nodes.go: 各节点 pre/post handler 调用 reportProgress() 上报阶段进度
- generate.go: TaskResponse 新增 stage 字段,runPipelineBg 注入进度回调
前端:
- vite.config.ts: 添加 /generation 代理到后端静态文件服务
- generation.ts: 轮询读取 stage 字段,暴露 stage/retryCount/rejectReason
- GeneratePage.tsx: ProgressBar 接收真实管线阶段数据
|
2026-05-25 14:26:26 +08:00 |
|
wonder
|
4826516901
|
!39 !38 fix: 为图片生成 API 添加超时与 5xx 重试机制
Merge pull request !39 from 何朝晖/develop
|
2026-05-25 06:09:48 +00:00 |
|
Gmarker689
|
87120af486
|
!38 fix: 为图片生成 API 添加超时与 5xx 重试机制
Merge pull request !38 from 何朝晖/hotfix/nginx
|
2026-05-25 06:08:33 +00:00 |
|
Gmarker689
|
ecb74a2aed
|
feat: 异步生成管线 + 前端轮询 + 图片编辑 + JWT 中间件
后端:
- 异步生成: POST /api/v1/generate 立即返回 taskId,后台执行管线
- 任务轮询: GET /api/v1/tasks/:id + GET /api/v1/tasks/:id/assets
- 图片保存: 生成图片写入 ../generation/{projectId}/{taskId}/,静态服务
- 图片编辑: POST /api/v1/images/edit (multipart/form-data)
- JWT 中间件: mildware/auth.go 保护生成/编辑端点
- config.yml 清空敏感默认值,交由 .env 控制
- ImageGenConfig 新增 Quality 字段
前端:
- api/generate.ts: 对接真实 API (submitGenerate + poll getTask/getAssets)
- api/types.ts: 新增 GenerateResponse, AssetsResponse, Task 类型
- stores/generation.ts: 异步提交→轮询进度→获取素材→完成
- stores/task.ts: 默认分辨率 256→1024
- GenerateForm: 分辨率范围 1024-1536
- GeneratePage: 显示状态文本,完成后可查看结果/继续生成
- ResultPage: 从 store 读取,下载功能实现
|
2026-05-25 14:08:08 +08:00 |
|
wonder
|
50f95adb98
|
fix: 为图片生成 API 添加超时与 5xx 重试机制
- ImageGenConfig 新增 timeout/max_retries/retry_delay 配置项(默认 120s/2次/5s)
- 替换 http.DefaultClient 为带超时的 imageHTTPClient
- callImageAPI 对 5xx 错误自动重试,避免 504 等瞬时故障直接失败
|
2026-05-25 14:05:14 +08:00 |
|
wonder
|
63ad88db68
|
!37 !36 feat: 接入七牛云存储,替换本地文件存储
Merge pull request !37 from 何朝晖/develop
|
2026-05-25 05:50:30 +00:00 |
|
Gmarker689
|
fc4e6b58f4
|
!36 feat: 接入七牛云存储,替换本地文件存储
Merge pull request !36 from 何朝晖/feat/invoke-qiniu
|
2026-05-25 05:50:07 +00:00 |
|
wonder
|
83d3d2663d
|
feat: 接入七牛云存储,替换本地文件存储
- generate handler 中的本地文件写入替换为 storageSvc.Upload() 调用
- 移除 main.go 中的本地 generation 目录创建和静态文件服务
- 更新 api.md 接口状态标记
|
2026-05-25 13:48:37 +08:00 |
|
wonder
|
8aa36900c7
|
!35 !34 refactor(config): 精简 image_gen 配置为 OpenAI 兼容同步 API
Merge pull request !35 from 郭永昊/develop
|
2026-05-25 05:32:58 +00:00 |
|
wonder
|
ebc6c171d5
|
!34 refactor(config): 精简 image_gen 配置为 OpenAI 兼容同步 API
Merge pull request !34 from 郭永昊/feat/AssertGeneration
|
2026-05-25 05:30:42 +00:00 |
|
wonder
|
a711985b31
|
Merge branch 'develop' of gitee.com:hezhaohui123/gen2d into feat/AssertGeneration
Signed-off-by: 何朝晖 <hezhaohui0807@163.com>
|
2026-05-25 05:29:13 +00:00 |
|
Gmarker689
|
2431d5f961
|
!33 fix: 显式返回exit 0,避免流水线中无法识别脚本已完成的情况
Merge pull request !33 from 何朝晖/hotfix/deploy
|
2026-05-25 05:20:49 +00:00 |
|
Gmarker689
|
eb545d41d9
|
!32 docs: 更新架构文档,文件存储切换为七牛云对象存储
Merge pull request !32 from 何朝晖/feat/kodo
|
2026-05-25 05:20:34 +00:00 |
|
Gmarker689
|
d8bfb81c4d
|
refactor(config): 精简 image_gen 配置为 OpenAI 兼容同步 API
- 移除 yuntts 异步字段: aspect_ratio / x_channel / poll_max_wait / poll_interval
- 改用标准 OpenAI Images API 字段: width / height / quality
- 默认 base_url 改为 api.suchuang.vip/v1
- 模型默认值: gpt-image-2-token(此模型在 suchuang 上需换 gpt-image-1)
|
2026-05-25 13:17:57 +08:00 |
|
Gmarker689
|
8c027d9b52
|
fix(inference): 回退为 OpenAI 兼容同步 Images API,恢复图片编辑功能
- 使用标准 POST /images/generations 端点(suchuang.vip 兼容)
- 恢复 EditImages 的 multipart/form-data 实现
- 移除 yuntts 异步 submit/poll 流程
- 配置精简: base_url / api_key / model / width / height / quality
|
2026-05-25 13:01:13 +08:00 |
|
wonder
|
1b06652f17
|
fix: 显式返回exit 0,避免流水线中无法识别脚本已完成的情况
|
2026-05-25 13:01:12 +08:00 |
|
wonder
|
f61508a249
|
docs: 更新架构文档,文件存储切换为七牛云对象存储
- _index.md: 技术栈加入七牛云对象存储
- api.md: 新增素材下载接口,asset URL 改为 CDN URL
- backend.md: 分层结构新增 storage.go,FormatAdapter 职责增加上传
- database.md: 文件存储改为七牛云,配置表新增 GEN2D_QINIU_* 环境变量
|
2026-05-25 12:57:41 +08:00 |
|
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 |
|