feat(*): 生图与视频工作台 - 新增独立生成流程并整合平台配置

This commit is contained in:
ddcat666 committed 2026-10-13 09:04:34 +08:00
1 parent 4c1d2b4012
commit 1f3f2c6020
69 files changed
+7108 -87

No files matched your search

+1
View File
@@ -13,6 +13,7 @@ type Task struct {
CancellationActorID string `json:"cancellationActorId,omitempty" gorm:"size:36"`
CancellationRequestedAt *time.Time `json:"cancellationRequestedAt,omitempty"`
CreationSubmissionID *string `json:"creationSubmissionId,omitempty" gorm:"size:36;uniqueIndex"`
WorkbenchKind string `json:"workbenchKind,omitempty" gorm:"size:16;index"`
ID string `json:"id" gorm:"primaryKey;size:36"`
UserID string `json:"userId" gorm:"index;size:36;index:idx_tasks_user_created,priority:1;index:idx_tasks_user_project_created,priority:1"`
TraceID string `json:"-" gorm:"index;size:96"`
@@ -0,0 +1,46 @@
package model
import "time"
const (
WorkbenchKindImage = "image"
WorkbenchKindVideo = "video"
)
// WorkbenchTool is an administrator-managed public generation entry.
type WorkbenchTool struct {
ID string `json:"id" gorm:"primaryKey;size:36"`
Kind string `json:"kind" gorm:"size:16;index:idx_workbench_tools_kind_enabled_sort,priority:1"`
CategoryID string `json:"categoryId" gorm:"size:64;index"`
Name string `json:"name" gorm:"size:120;not null"`
Subtitle string `json:"subtitle" gorm:"size:240"`
Description string `json:"description" gorm:"type:text"`
IconResourceID string `json:"iconResourceId" gorm:"size:36"`
CoverResourceID string `json:"coverResourceId" gorm:"size:36"`
SortOrder int `json:"sortOrder" gorm:"not null;default:0;index:idx_workbench_tools_kind_enabled_sort,priority:3"`
CapabilityJSON string `json:"capabilityJson" gorm:"type:text"`
GuideJSON string `json:"guideJson" gorm:"type:text"`
Enabled bool `json:"enabled" gorm:"index:idx_workbench_tools_kind_enabled_sort,priority:2"`
Version int `json:"version" gorm:"not null;default:1"`
CreatedBy string `json:"createdBy" gorm:"size:36;index"`
UpdatedBy string `json:"updatedBy" gorm:"size:36;index"`
CreatedAt time.Time `json:"createdAt"`
UpdatedAt time.Time `json:"updatedAt"`
}
// WorkbenchPreset is a versioned prompt/configuration preset owned by a tool.
type WorkbenchPreset struct {
ID string `json:"id" gorm:"primaryKey;size:36"`
ToolID string `json:"toolId" gorm:"size:36;index:idx_workbench_presets_tool_enabled_sort,priority:1"`
Name string `json:"name" gorm:"size:120;not null"`
Summary string `json:"summary" gorm:"size:500"`
PromptTemplate string `json:"promptTemplate" gorm:"type:text"`
DefaultParamsJSON string `json:"defaultParameters" gorm:"type:text"`
SortOrder int `json:"sortOrder" gorm:"not null;default:0;index:idx_workbench_presets_tool_enabled_sort,priority:3"`
Enabled bool `json:"enabled" gorm:"index:idx_workbench_presets_tool_enabled_sort,priority:2"`
Version int `json:"version" gorm:"not null;default:1"`
CreatedBy string `json:"createdBy" gorm:"size:36;index"`
UpdatedBy string `json:"updatedBy" gorm:"size:36;index"`
CreatedAt time.Time `json:"createdAt"`
UpdatedAt time.Time `json:"updatedAt"`
}