feat: 支持工作流断点续跑并拆分错误信息存储

- 新增同会话+同工作流最近执行失败且参数一致时断点续跑逻辑
- exec_workflow/exec_chat 新增 error 字段存储原始错误,error_message 仅存友好提示
- 新增 UpdateExecChatReq 与 exec_chat_dao Update 方法
- 新增 GetLatestBySessionAndFlow 查询最近执行记录
- 修正 ListDates 分组与排序 SQL 表达式
- 新增 pipeline 配置结构,删除旧设计文档
This commit is contained in:
2026-08-21 09:54:06 +08:00
parent a939c45508
commit cef837a35c
34 changed files with 1519 additions and 515 deletions
+66 -22
View File
@@ -37,9 +37,11 @@ type NodeTypeMeta struct {
Group NodeGroup `json:"group"` // 所属分组
Sort int `json:"sort"` // UI排序字段
Desc string `json:"desc,omitempty"` // 可选:节点简介
PatchLayout bool `json:"patchLayout"`
IsMultiParameter bool `json:"isMultiParameter"`
BatchExecOption bool `json:"batchExecOption"`
PreToolOption bool `json:"preToolOption"`
PostToolOption bool `json:"postToolOption"`
PreToolOption []NodePresetField `json:"preToolOption"`
PostToolOption []NodePresetField `json:"postToolOption"`
IsSaveFileOption bool `json:"isSaveFileOption"`
FormConfigOption bool `json:"formConfigOption"`
ModelConfigOption bool `json:"modelConfigOption"`
@@ -47,11 +49,17 @@ type NodeTypeMeta struct {
PromptOption bool `json:"promptOption"`
NegativePromptOption bool `json:"negativePromptOption"`
PresetOption []NodePresetField `json:"presetOption"`
OutputField []string `json:"outputField"`
OutputField []NodeOutputField `json:"outputField"`
}
type NodeOutputField struct {
Field string `json:"field"`
Label string `json:"label"`
}
type NodePresetField struct {
Value string `json:"value"`
ValueSource []ValueSource `json:"valueSource"`
Field string `json:"field"`
Label string `json:"label"`
Type string `json:"type"`
@@ -61,6 +69,12 @@ type NodePresetField struct {
Options []SelectOption `json:"options"`
}
type ValueSource struct {
NodeId string `json:"nodeId"`
Field string `json:"field"`
Label string `json:"label"`
}
// FieldConstraint 字段约束
type FieldConstraint struct {
// 数字类型:int、float、double、string
@@ -91,20 +105,38 @@ var NodeGroupMetaList = []NodeGroupMeta{
var NodeTypeMetaList = []NodeTypeMeta{
{
Key: NodeTypeModel,
Name: "模型",
Group: NodeGroupBase,
Sort: 1,
Desc: "模型调用节点,可配置模型参数、模型配置、技能、提示语、结果汇集、结果保存、结果返回、结果展示等信息。",
BatchExecOption: true,
PreToolOption: true,
PostToolOption: true,
Key: NodeTypeModel,
Name: "模型",
Group: NodeGroupBase,
Sort: 1,
Desc: "模型调用节点,可配置模型参数、模型配置、技能、提示语、结果汇集、结果保存、结果返回、结果展示等信息。",
PatchLayout: true,
IsMultiParameter: true,
BatchExecOption: true,
PreToolOption: []NodePresetField{
{
Field: "perTool",
Label: "前置方法",
Type: "select",
Required: false,
Options: []SelectOption{},
},
},
PostToolOption: []NodePresetField{
{
Field: "postTool",
Label: "后置方法",
Type: "select",
Required: false,
Options: []SelectOption{},
},
},
IsSaveFileOption: true,
FormConfigOption: false,
ModelConfigOption: true,
SkillOption: false,
PromptOption: true,
NegativePromptOption: true,
NegativePromptOption: false,
},
{
Key: NodeTypeDataMerge,
@@ -112,9 +144,8 @@ var NodeTypeMetaList = []NodeTypeMeta{
Group: NodeGroupBase,
Sort: 2,
Desc: "结果汇集节点,可配置结果汇集方式、结果保存、结果返回、结果展示等信息。",
IsMultiParameter: false,
BatchExecOption: false,
PreToolOption: false,
PostToolOption: false,
IsSaveFileOption: false,
FormConfigOption: false,
ModelConfigOption: false,
@@ -128,9 +159,8 @@ var NodeTypeMetaList = []NodeTypeMeta{
Group: NodeGroupBase,
Sort: 3,
Desc: "表单节点,可配置表单字段、表单配置、结果汇集、结果保存、结果返回、结果展示等信息。",
IsMultiParameter: false,
BatchExecOption: false,
PreToolOption: false,
PostToolOption: false,
IsSaveFileOption: false,
FormConfigOption: true,
ModelConfigOption: false,
@@ -166,9 +196,7 @@ var NodeTypeMetaList = []NodeTypeMeta{
Sort: 5,
Desc: "HTTP(S)接口节点,可配置HTTP(S)接口地址、请求方式、请求头、请求体、结果返回结构、结果返回方式、结果返回结构、结果返回方式等信息。",
BatchExecOption: false,
PreToolOption: true,
PostToolOption: true,
IsSaveFileOption: false,
IsSaveFileOption: true,
FormConfigOption: false,
ModelConfigOption: false,
SkillOption: false,
@@ -305,9 +333,8 @@ var NodeTypeMetaList = []NodeTypeMeta{
Group: NodeGroupBase,
Sort: 6,
Desc: "脚本转写节点,把文案/视频分析结果通过大模型转写为结构化分镜脚本([]Shot),作为视频生成节点的 shots 输入。",
IsMultiParameter: false,
BatchExecOption: false,
PreToolOption: false,
PostToolOption: false,
IsSaveFileOption: false,
FormConfigOption: false,
ModelConfigOption: true,
@@ -334,7 +361,24 @@ var NodeTypeMetaList = []NodeTypeMeta{
Options: []SelectOption{},
},
},
OutputField: []string{"prompt", "duration", "seed", "negative_prompt", "reference_urls"},
OutputField: []NodeOutputField{
{
Field: "prompt",
Label: "转写内容",
},
{
Field: "duration",
Label: "时长",
},
{
Field: "seed",
Label: "种子",
},
{
Field: "reference_urls",
Label: "参考链接",
},
},
},
{
Key: NodeTypeSystemSum,