Gmarker689
|
8657fe5d28
|
!74 fix: 任务侧边栏点击详情后"任务不存在"问题
Merge pull request !74 from 郭永昊/fix/tag-labels-and-click
|
2026-05-25 12:29:49 +00:00 |
|
Gmarker689
|
c7bd02ad49
|
!72 fix: 输出格式根据素材类型自动设置默认值
Merge pull request !72 from 何朝晖/perfect/frontend-tag
|
2026-05-25 12:29:34 +00:00 |
|
Gmarker689
|
acef46063c
|
fix: 任务侧边栏点击详情后"任务不存在"问题
GetTasks 返回的 TaskResponse.ID 使用了数据库自增 ID (t.ID) 而非 ExternalID,
导致前端用错误 ID 调用 GetTask 接口时 external_id 查询不到记录。
改为返回 t.ExternalID 与实际查询字段一致。
|
2026-05-25 20:19:09 +08:00 |
|
Gmarker689
|
7921edd71e
|
fix: 任务详情页 JWT 鉴权失败导致回退登录页
- TaskListPanel 用 React Router <Link> 替代原生 <a href>,避免整页刷新
- auth store 初始化时同步读取 token 设置 isAuthenticated,避免 useEffect 异步执行前 ProtectedRoute 误判未登录
|
2026-05-25 20:15:06 +08:00 |
|
Gmarker689
|
47b31b5c13
|
!71 !70 fix: 自定义标签融入原生标签栏,点击切换而非消失
Merge pull request !71 from 郭永昊/develop
|
2026-05-25 12:06:51 +00:00 |
|
Gmarker689
|
8782e7c3fe
|
!70 fix: 自定义标签融入原生标签栏,点击切换而非消失
Merge pull request !70 from 郭永昊/fix/tag-labels-and-click
|
2026-05-25 12:05:05 +00:00 |
|
Gmarker689
|
a6486896ef
|
!69 feat: 结果页添加帧预览、GIF动画和导出选项
Merge pull request !69 from 郭永昊/feature/result-preview-export
|
2026-05-25 12:04:36 +00:00 |
|
Gmarker689
|
f44fd56e22
|
fix: 自定义标签融入原生标签栏,点击切换而非消失
- StyleSelector 新增 customTags 属性,自定义标签作为「自定义标签」行展示在原生标签栏中
- 自定义标签点击切换 true/false,不再移除 key,解决点击消失问题
- CustomTagsEditor 简化为仅输入框+添加按钮
- extractTags 仅提取激活态自定义标签(value=true)
- 导出 CUSTOM_PREFIX 供组件使用
|
2026-05-25 19:55:29 +08:00 |
|
Gmarker689
|
9d3b8fcd20
|
fix: 修复工程类型双重标签和自定义标签无法点击的问题
- 移除 CreateProjectModal/ProjectConfigPanel 中外层重复的"工程类型"标签
- CustomTagsEditor 标签 pill 改为 button,点击整个 pill 即可移除标签
|
2026-05-25 19:46:04 +08:00 |
|
Gmarker689
|
a518168762
|
feat: 结果页添加帧预览、GIF动画和导出选项
- 后端: GetAssets 返回素材级别 metadata,区分 frame/preview/spritesheet 类型
- 后端: 上传时区分素材类型标签,GIF URL 独立追踪
- 前端: 结果详情页默认展示拆分后的单帧网格
- 前端: 添加动作帧 GIF 预览弹窗
- 前端: 添加导出下拉菜单(整张精灵表/自动切分帧)
- 前端: 失败任务展示错误信息和重试次数
|
2026-05-25 19:41:55 +08:00 |
|
Gmarker689
|
ab2b72e746
|
fix: 工程类型与素材风格标签分离,支持双栏自定义标签
- 工程层面:新增 PROJECT_TYPES(2D平台跳跃/角色扮演等8种),替代原先与素材生成重复的风格标签栏
- 素材生成层面:StyleSelector 作为素材风格主配置项,新增 CustomTagsEditor 支持任务级自定义标签
- extractTags 合并工程类型、风格分类、工程自定义标签、任务自定义标签
- StyleSelector 支持 categories 参数复用
- 后端:spritesheet 拆分失败回退为单帧、GIF 上传为独立素材、AssetResponse 增加 metadata 字段
|
2026-05-25 19:31:36 +08:00 |
|
Gmarker689
|
7cc472052f
|
!68 !67 fix: 修复管线context取消、添加FIFO任务队列、移除重复提示词优化
Merge pull request !68 from 何朝晖/develop
|
2026-05-25 11:13:54 +00:00 |
|
Gmarker689
|
67e70fa9d4
|
!65 fix: 七牛云私有 bucket 下载 URL 签名支持
Merge pull request !65 from 何朝晖/fix/qiniu
|
2026-05-25 11:11:42 +00:00 |
|
Gmarker689
|
96ac56cb4e
|
fix: 修复管线context取消、添加FIFO任务队列、移除重复提示词优化
三个修复:
1. runPipelineBg 改用 context.Background(),避免 HTTP 响应返回后
Gin 取消 request context 导致后台管线静默失败
2. 新增 TaskQueue FIFO 串行队列,任务提交后进入 pending 状态排队,
按提交顺序逐个执行,前端轮询显示排队中
3. promptOptimizerNode 移除 RunPromptAgent 调用,提示词优化仅由
前端在提交前通过 /api/v1/prompt/optimize 执行一次,管线内只做
风格合并和技术参数追加
|
2026-05-25 19:10:46 +08:00 |
|
Gmarker689
|
e612f48b9e
|
!60 !58 refactor: 移除内存存储,全部改为数据库持久化
Merge pull request !60 from 何朝晖/develop
|
2026-05-25 10:04:02 +00:00 |
|
Gmarker689
|
d5e2d7fa53
|
feat: FormatAdapter 接入 splitsprite+gifmaker 管线
- FormatAdapter: 精灵表模式(单图)自动调用 splitsprite.Process 拆分帧
- 拆分后每帧编码为独立 PNG Asset,Metadata 包含 GIFPreview 字节
- 多图/非精灵表模式保持原样透传
- AssetParams 新增 GridRows/GridCols 覆盖投影检测
- AssetMetadata 新增 GIFPreview 字段
|
2026-05-25 18:01:51 +08:00 |
|
Gmarker689
|
8309d32d4b
|
feat: 投影法波谷检测+白底硬切断+帧底部对齐+gifmaker透明GIF
- prompt_agent: 精灵表/瓦片集间隙从2-4px放宽到8-16px纯白
- splitsprite removeWhiteBg: dist<threshold/2直接A=0,消除半透明残留
- splitsprite findCuts: 波峰-波谷检测替代死阈值,归并原阈值回退
- splitsprite alignCenter: 全局画布底部对齐替代独立居中,人物不跳帧
- splitsprite MinFillRatio 调至0.14,MinGapWidth调至2
- 新增 pkg/gifmaker: 统一画布+透明索引0+DisposalBackground
- test_prompt_to_gif 改用gifmaker包
|
2026-05-25 17:57:01 +08:00 |
|
Gmarker689
|
0a4f1c44c0
|
!58 refactor: 移除内存存储,全部改为数据库持久化
Merge pull request !58 from 何朝晖/fix/memory-storage
|
2026-05-25 09:56:01 +00:00 |
|
Gmarker689
|
ccb7a19947
|
!57 fix: 修复新建任务后任务列表返回为空的问题
Merge pull request !57 from 何朝晖/fix/task
|
2026-05-25 09:50:10 +00:00 |
|
Gmarker689
|
8568ce91ac
|
!55 docs: 修正工程管理文档中的认证方式说明
Merge pull request !55 from 何朝晖/fix/auth
|
2026-05-25 08:59:39 +00:00 |
|
Gmarker689
|
f3dfcd3b0b
|
feat: splitsprite 增加白底移除、固定网格拆分与帧居中功能
- 新增 RemoveWhiteBg:纯白色背景(#FFFFFF)像素半透明化
- 新增 fixedGridSplit:GridRows×GridCols 固定网格拆分
- 新增 CenterAlign:帧内容居中对齐,确保人物不跳帧
- Options 新增 WhiteBg/GridRows/GridCols/GridPadding/CenterAlign
- 默认模式从绿幕切换为白底
- 新增 tools/test_prompt_to_gif.go 端到端测试脚本
- .gitignore 忽略 test_output 目录
|
2026-05-25 16:48:48 +08:00 |
|
Gmarker689
|
cce10f3bfe
|
!54 !53 docs: 更新 API 文档反映实现状态
Merge pull request !54 from 何朝晖/develop
|
2026-05-25 08:45:18 +00:00 |
|
Gmarker689
|
feeb83b2a8
|
!53 docs: 更新 API 文档反映实现状态
Merge pull request !53 from 何朝晖/feat/backend-api
|
2026-05-25 08:44:53 +00:00 |
|
Gmarker689
|
aff48b6780
|
feat: 提示词优化支持多布局模式识别与纯白背景统一
- buildMetaPrompt 按素材类型给出双模式指令(单素材/网格瓦片集),LLM 根据用户意图选择
- 新增 isSheetRequest 自动识别精灵表/瓦片集/tileset 关键字
- 模板回退链路全面支持 isSheet 双模式,默认单素材模式
- 所有素材类型统一纯白色背景(#FFFFFF),由后期 format 节点清洗去背
- 补充 sprite/background/ui/animation 四类素材的完整生成场景覆盖
|
2026-05-25 16:23:00 +08:00 |
|
Gmarker689
|
9d5ee1fc05
|
!47 fix: 修复前端无法加载七牛云图片的问题
Merge pull request !47 from 何朝晖/fix/show-img
|
2026-05-25 07:27:33 +00:00 |
|
Gmarker689
|
b434ec7d11
|
!46 !45 fix: 七牛云上传缺少 File.Name 导致上传失败
Merge pull request !46 from 何朝晖/develop
|
2026-05-25 07:00:13 +00:00 |
|
Gmarker689
|
50caad8e6c
|
!45 fix: 七牛云上传缺少 File.Name 导致上传失败
Merge pull request !45 from 何朝晖/fix/upload-img
|
2026-05-25 06:59:29 +00:00 |
|
Gmarker689
|
2d6797ab3d
|
!43 fix: 修复 runPipelineBg 调用参数不匹配的编译错误
Merge pull request !43 from 何朝晖/fix/runtime
|
2026-05-25 06:46:04 +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 |
|
Gmarker689
|
610c7ebbc0
|
!40 docs: 更新后端文档,补充日志系统说明
Merge pull request !40 from 何朝晖/refactor/log
|
2026-05-25 06:33:07 +00: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 |
|
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 |
|
Gmarker689
|
fc4e6b58f4
|
!36 feat: 接入七牛云存储,替换本地文件存储
Merge pull request !36 from 何朝晖/feat/invoke-qiniu
|
2026-05-25 05:50:07 +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 |
|
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 |
|
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 |
|
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 |
|
Gmarker689
|
7c0ce6fce8
|
feat(auth+db): 实现注册登录核心逻辑,以及自动建表,用户信息落库
|
2026-05-24 13:53:03 +08:00 |
|
Gmarker689
|
259d8dcbd7
|
feat(login/register): 实现用户注册登录handler以及用户模型
|
2026-05-24 13:14:41 +08:00 |
|
Gmarker689
|
2c262c2783
|
feat: 新增精灵表清洗拆分组件
|
2026-05-23 16:39:38 +08:00 |
|
Gmarker689
|
f21f25c4bf
|
docs: 修改架构设计文档
|
2026-05-23 16:37:01 +08:00 |
|
Gmarker689
|
693af03ba4
|
docs: 新增架构设计文档
|
2026-05-23 13:22:39 +08:00 |
|