Commit Graph
522 Commits
Author SHA1 Message Date
admin 7209cd3ba2 admin-ui ng转发域名增加 2026-09-07 10:42:49 +08:00
admin 3b0369850f admin-ui ng转发域名增加 2026-08-27 09:23:22 +08:00
admin 42b6e75b77 Merge remote-tracking branch 'origin/feature/home-workflow' into feature/home-workflow 2026-08-25 17:07:27 +08:00
admin d62f79a407 admin-ui ng转发域名增加 2026-08-25 17:07:12 +08:00
2910410219 ef4976ee03 Merge branch 'feature/home-workflow' of http://116.204.74.41:3000/red-future/admin-ui into feature/home-workflow 2026-08-24 18:25:46 +08:00
2910410219andClaude cf6a17387d 修复:子例程引入便签名称兼容模板字段、模板创建成功后刷新首页占位工作流列表
- 工作流管理引入子例程:存名/提示补 flowTemplateName,管理员引入模板时便签不再显示数字 id
- 首页模板补全创建成功:同步刷新占位页工作流列表(MainContent 暴露 loadPlaceWorkflows),点叉取消后可见新建工作流

Co-Authored-By: Claude <noreply@anthropic.com>
2026-08-24 18:25:32 +08:00
2910410219andClaude dd4e719f55 工作流功能完善:子例程弹窗角色分支与模板名称修复、模板子工作流递归补全、首页工作流名称省略+tooltip
- 引入子例程弹窗:按 isAdmin 分支读取 listFlowTemplateRes/listFlowUserRes,名称兼容 flowTemplateName
- 模板补全弹窗:递归展开子工作流模型节点,一次 PUT 更新整棵树(updateWorkflowFromTemplate)
- 首页工作流胶囊/占位卡片:名称单行省略 + el-tooltip 悬停显示全名

Co-Authored-By: Claude <noreply@anthropic.com>
2026-08-24 18:09:34 +08:00
admin 95dc89e097 admin-ui ng转发域名增加 2026-08-24 13:22:22 +08:00
2910410219andClaude dbd41cc045 首页工作流产出:resultFileUrl 逗号拼接多 URL 统一拆分(兼容字符串/数组入参),修复回显与实时产出渲染异常
Co-Authored-By: Claude <noreply@anthropic.com>
2026-08-24 09:26:45 +08:00
2910410219andClaude d48875bd7a 首页工作空间下载:对象名传参适配后端相对路径、下载感知(toast+按钮级)、5分钟超时
- downloadAsset 重写:content 相对路径直接作下载参数,兼容历史完整 URL 去域名;
  blob 校验拒绝 JSON 错误体,避免生成坏文件;文件名带扩展名
- 下载感知:统一加下载中轻量 toast(旋转图标、不锁页面),工作空间按钮级
  「下载中…」禁用;成功/失败替换为结果提示
- 新增 downloadWorkspaceFile(workflow 域独立 API):下载超时放宽到 5 分钟,
  不动 creation 共享 downloadToFile

Co-Authored-By: Claude <noreply@anthropic.com>
2026-08-21 20:09:20 +08:00
2910410219andClaude 490cf4bb93 首页「更多」入口改为常驻:点击跳转工作流管理页,不再依赖工作流数量超出 9 个
- InputBar 快捷胶囊区、MainContent 占位卡片区:去掉「超过 9 个才显示」条件,「更多」常驻在列表末尾
- 清理 MainContent 不再使用的 hasMorePlaceWorkflows 状态

Co-Authored-By: Claude <noreply@anthropic.com>
2026-08-21 19:28:01 +08:00
2910410219andClaude b140bff5f1 首页工作流与历史会话:修复执行后表单清空/默认展开,工作流最多展示9个+更多入口,历史会话分页加载更多
- 修复:执行时把用户填的表单值写回消息对象,会话认领重建后能恢复,不再清空;执行完成/历史回显卡片默认收起,可手动展开改参
- 功能:首页工作流最多展示 9 个(用户优先、模板补足),超出显示「更多」入口跳转工作流管理页
- 功能:历史会话分页「加载更多」,逐页追加去重
- 重构:工作流执行信号统一走提交(移除 retry/re-edit/cancel),失败卡片重跑/重编辑并入提交路径
- 其他:删除消息时终止进行中的轮;Markdown 渲染缓存设上限

Co-Authored-By: Claude <noreply@anthropic.com>
2026-08-21 19:17:12 +08:00
2910410219andClaude 0232dc6e14 删除首页孤儿组件(CommandList/DiaryList/FileList/ReplyList)
早期首页版本遗留,全项目无任何引用(import/动态导入/barrel 导出均无命中),
已核验不影响编译与功能。

Co-Authored-By: Claude <noreply@anthropic.com>
2026-08-21 18:33:37 +08:00
2910410219andClaude c51d0dc2ca 首页:删除气泡重新生成功能
- 移除失败气泡与 AI/用户消息操作栏的重新生成入口
- 清理 retry/regenerate 事件链、handleRetry 及 retryQuestion 字段
- 保留失败/空回复提示文本、复制与删除操作

Co-Authored-By: Claude <noreply@anthropic.com>
2026-08-21 18:24:03 +08:00
2910410219andClaude 918ae96f71 首页工作流:统一执行开关至发送按钮,最后一张已执行卡片参数可编辑
- 工作流表单卡片移除执行/重跑按钮,执行统一由 InputBar 发送按钮触发
- 会话执行过工作流即为工作流对话,下方输入框永久禁止文本输入
- 执行中发送按钮变停止,复用 teardownRound 按 runTypeMap 区分协议
- 最后一张已执行(done/failed)卡片参数保持可编辑,改参后经发送按钮重新执行(含必填校验)

Co-Authored-By: Claude <noreply@anthropic.com>
2026-08-21 18:13:47 +08:00
2910410219andClaude cb6792cb29 首页工作流执行:表单默认收起可展开、节点执行过程可视化(仿豆包)、失败支持重新执行/重新编辑、错误信息去重
- 提交后表单卡片默认收起(仅显示工作流标题),头部加明确展开/收起按钮
- node_start/node_complete 事件驱动节点步骤流,执行过程区仿豆包竖向展示
- 失败卡片拆分「重新执行」(复用已填值直接重跑)与「重新编辑」两按钮
- 失败消息只显示「 执行失败」,错误详情由卡片 footer 展示,避免双处重复

Co-Authored-By: Claude <noreply@anthropic.com>
2026-08-21 17:07:40 +08:00
2910410219andClaude a95fe2d73f nginx 反向代理透传 WebSocket 升级头,修复首页会话长连接握手失败
客户端 wsExecute 握手缺少 'upgrade' token in 'Connection' header,在 @proxy 增加 Upgrade/Connection 头透传。

Co-Authored-By: Claude <noreply@anthropic.com>
2026-08-21 14:58:02 +08:00
2910410219andClaude 73036038fd 首页工作流卡片名称完整展示(换行),不再省略号截断
Co-Authored-By: Claude <noreply@anthropic.com>
2026-08-21 14:57:54 +08:00
2910410219andClaude e596c9b5ae 模型管理v2:系统模型填 API Key 转用户模型时透传 priceConfig 等4个业务字段
后端在返回的模型信息中携带 requestBusinessFieldMapping/responseBusinessFieldMapping/minDuration/priceConfig,
首页两处提交链路(SessionModelSetter、TemplateCompleteDialog)此前遗漏未传,现从模型对象原样透传。

Co-Authored-By: Claude <noreply@anthropic.com>
2026-08-21 14:57:44 +08:00
2910410219andClaude c441ccec94 修复首页会话切换时正在执行的工作流被历史详情覆盖的问题
切回正在执行的会话时保留内存中的实时消息流(running 表单卡片 + 实时节点进度),
不再用 session/get 历史详情重建覆盖;普通对话生成中同样受益

Co-Authored-By: Claude <noreply@anthropic.com>
2026-08-21 10:25:49 +08:00
2910410219andClaude c432eb431a 模型配置响应主体映射保存时直接填充字段中文 label
responseBodyMapping 提交时 value 由空串占位改为对应响应映射字段的中文
label(无 label 时兜底为路径本身),使后端存储即携带展示名,无需前端
workflow 侧再 enrich 补充。

Co-Authored-By: Claude <noreply@anthropic.com>
2026-08-20 18:20:08 +08:00
2910410219andClaude 4d74dd2d63 修复首页对话回显中贴片模板未恢复的问题
贴片模板提交时写入 patchLayout 节点的内部 templates 字段并删除顶层,
回显恢复逻辑仅从顶层读取导致模板丢失;现优先从 nodeInputParams 中
patchLayout 节点的 templates 恢复,顶层旧位置作为兼容兜底。

Co-Authored-By: Claude <noreply@anthropic.com>
2026-08-20 17:54:33 +08:00
2910410219andClaude daf9f5147b 模型管理v2:schema 保存时统一将标量字段 value 置空,数据值不在模板中预设
Co-Authored-By: Claude <noreply@anthropic.com>
2026-08-20 17:31:38 +08:00
2910410219andClaude de2e1d8902 模型管理v2:异步映射配置分区排版优化,请求体映射与响应主体映射合并一行
Co-Authored-By: Claude <noreply@anthropic.com>
2026-08-20 16:51:21 +08:00
2910410219andClaude 28cc58bca0 模型管理v2:映射配置新增错误消息映射字段,重排映射配置分区为四列均分
Co-Authored-By: Claude <noreply@anthropic.com>
2026-08-20 16:48:16 +08:00
2910410219andClaude 9f94f4a9ab 模型管理v2:异步映射配置新增请求方法下拉与请求体映射,回调文案改异步
Co-Authored-By: Claude <noreply@anthropic.com>
2026-08-20 16:42:12 +08:00
2910410219andClaude 03697b9747 首页删除以真实接口为准:会话/工作空间删除成功才移除并刷新,删除接口改 DELETE
- deleteSessionV2 请求方式 post → delete(/ai-agent/session/delete)
- 工作空间删除:缺少删除信息提示不可删;接口失败保留数据;成功才移除本地并刷新工作空间树
- 会话记录删除:已认领后端号的会话接口失败保留数据且不打断连接;成功才 teardown/关闭并刷新列表;
  未认领的本地虚拟会话直接本地删除

Co-Authored-By: Claude <noreply@anthropic.com>
2026-08-20 16:28:25 +08:00
2910410219andClaude ee5120c6ed 首页执行工作流:贴片模板写入开启贴片布局的节点内部(与 modelConfig 平级)
- templates 不再放 flowContent 最外层,改为写入 patchLayout===true 的节点内部(数组),后端执行从节点读取
- 删除 detail.flowContent 可能遗留的顶层 templates,统一走节点

Co-Authored-By: Claude <noreply@anthropic.com>
2026-08-20 14:48:28 +08:00
2910410219andClaude ba5ff9b87d 工作流贴片布局节点输出可被下级引用(field=templates)
- getNodeOutputFields 重构为累积输出,开启贴片布局的节点额外提供「贴片布局」输出(field=templates、label=贴片布局),与模型返回参数等并列供下级引用
- upstreamNodes 的 hasOutput 放行开启贴片布局的节点(不依赖具体 nodeCode),保证可被前驱引用

Co-Authored-By: Claude <noreply@anthropic.com>
2026-08-20 14:48:20 +08:00
2910410219andClaude e2a5480bf9 工作流节点库 patchLayout 驱动贴片布局开关显示(对齐内容创作)
- NodeLibraryItem 增加 patchLayout 字段(节点库返回,仅 model 节点 true)
- nodeConfigMap 聚合透传节点库 patchLayout,开关显示条件由 modelType 范围改为 nodeConfig.patchLayout
- 移除不再使用的 isVideoModelSelected 判断

Co-Authored-By: Claude <noreply@anthropic.com>
2026-08-20 14:01:38 +08:00
2910410219andClaude abc5b47f72 首页工作空间适配新结构并支持加载失败重试、切换独立删除接口
- 工作空间结果树适配 createDate→flows→items 两级结构(flows 下文件平铺,兼容旧平铺结构)
- 删除接口切换:工作空间树删除改走 session 域独立接口 resultDelete(deleteWorkspaceResult),不依赖内容创作域
- 会话记录/工作空间列表加载失败:区分失败态与空态,提供重试按钮;工作空间懒加载失败后切回 tab 自动重试

Co-Authored-By: Claude <noreply@anthropic.com>
2026-08-20 14:01:30 +08:00
2910410219andClaude 63ac39cd4a 模型参数约束透传:collectExposedFields 从 constraint 归一化 fieldConstraint 供首页表单校验
模板字段约束实际挂在 constraint 键(min/max/uploadRules 等),原读取 fieldConstraint 键导致模型勾选字段的约束丢失。新增 toFieldConstraint 归一化(min→minValue、max→maxValue、uploadRules/accept→fileTypes/maxFileSize/maxFileCount),并将格式分隔符统一为英文逗号,修复 wan 模型音频上传被误拦。

Co-Authored-By: Claude <noreply@anthropic.com>
2026-08-20 11:46:50 +08:00
2910410219andClaude 20bab0997e 多会话并发执行:每会话独立连接与 handler,切换/新建会话不再取消执行中工作流
重构首页 WebSocket 连接模型:wsConnMap/roundHandlers/runTypeMap 按会话独立管理;执行中保留连接、空闲切换释放;消息按 sid 定向写入;修复后台会话完成时误清当前会话输入状态(resetAll 仅限活跃会话)。

Co-Authored-By: Claude <noreply@anthropic.com>
2026-08-20 11:46:40 +08:00
2910410219andClaude 3cddff6df2 工作流绘制链路加固:校验增强、悬垂引用清理与保存连续性修复
- validateFlowConstraints 增加自环/model 必选模型/孤立节点校验,onConnect 拦截自环连线
- 删除节点后主动清理其余节点指向被删节点的 valueSource,避免保存脏 DSL
- 保存成功后保留工作流 id 支持连续保存,新建回填 id,避免重复副本
- attachFormFieldValueSources 不再覆盖已有上游引用,保持引用/表单展示互斥
- form 自定义字段引入不可变 field,重命名 label 不影响下游引用

Co-Authored-By: Claude <noreply@anthropic.com>
2026-08-20 01:04:58 +08:00
2910410219andClaude c1658380a7 工作流节点库 outputField 引用 + totalDuration 字段级引用;首页选项卡拆分/懒加载、工作空间结果接口 resultList;引用标签与 KeyValue prop 校验修复
- 节点库 outputField 作为可引用输出项:NodeLibraryItem 补类型、getNodeOutputFields 优先返回、upstreamNodes 来源扩展
- script_transcribe 视频总时长支持引用上级输出/手动输入:NodeConfigPanel 引用按钮 + valueSource 存 formConfig 条目,buildOutputConfig 序列化、buildNodeFormConfigFromDsl 回显
- 首页工作空间结果接口切 /ai-agent/session/resultList,会话列表/结果树选项卡拆分独立容错与按需懒加载
- ChatList 滚底感知;引用标签 ElTag type 空值、KeyValueEditor modelValue 空值兜底修复

Co-Authored-By: Claude <noreply@anthropic.com>
2026-08-20 00:38:19 +08:00
2910410219andClaude 998e13e6be 工作流 valueSource label 契约统一:去节点名前缀 + outputConfig/subConfig 补全
- resolveRefLabel 去掉「节点名.」前缀,valueSource label 只保留字段中文名
- ModelField 引用 tag 展示同步去前缀
- buildOutputConfig(http/form/其它节点)与 serializeSubFlowConfig(subConfig)的
  valueSource 补 label,subConfig 引用上游分支经 outputIndex 查上游字段中文名
- 取消引用改用 delete(避免写空数组),enumValues 按 __originIndex 统一索引

Co-Authored-By: Claude <noreply@anthropic.com>
2026-08-19 23:18:03 +08:00
2910410219 68850c40fe socket失败处理 2026-08-19 20:27:37 +08:00
2910410219andClaude d2143809de 首页选中工作流时禁用底部输入与发送按钮,占位提示引导填写表单
Co-Authored-By: Claude <noreply@anthropic.com>
2026-08-19 20:17:53 +08:00
2910410219andClaude 68bdc63231 首页工作流节点引用多选与保存回显完善:isMultiParameter 全链路透传 + valueSource 数组化/label + 旧 DSL 兼容
- isMultiParameter 节点级开关从节点库透传至引用下拉,支持多选勾选/去重/逐条删除/清空
- valueSource 契约统一为数组并补 label(节点名.字段中文名),覆盖用户引用、表单展示标记与旧 DSL 单对象
- ModelField 递归透传 multi,object/array 嵌套子字段同样支持多选
- 保存/回显兼容旧 DSL 单对象 valueSource,重开自动升级为数组
- modelRequestParamsPath 每项新增 label 字段,后端按 path 重组请求参数

Co-Authored-By: Claude <noreply@anthropic.com>
2026-08-19 19:53:06 +08:00
2910410219andClaude b6208b37e4 首页工作流引用功能收口:Schema 移除对象/数组引用,模型参数引用与表单展示同级
- FieldConfigDialog(json-schema-editor):删除对象/数组字段的「值来源」引用入口,
  标量字段的默认值引用保留
- ModelField:leaf 分支引用按钮对所有叶子参数生效(含数组元素内字段),
  与「表单展示」勾选同级;对象/数组字段本身不提供引用
- modelParamUtils:buildModelRequestParamsPath 恢复所有叶子保留 valueSource,
  保存链路与编辑器语义一致

Co-Authored-By: Claude <noreply@anthropic.com>
2026-08-19 18:21:06 +08:00
2910410219andClaude f7b3531392 首页工作流:输出字段中文展示 + 引用面板滚动修复
- valueSource 契约统一为 { nodeId, field },替换 modelParamUtils 中 fieldName 旧用法
- 数组模板压缩时记录 __originIndex,叶子字段扁平清单按后端原始索引产出 enumValues
- 模型节点输出项保存时用 responseMapping 中文填充 value,引用展示显示中文
- http 节点输出字段识别 JsonEditor 包裹结构,修正真实数据路径并提取中文 label
- 引用上级节点输出面板超高时内部滚动,避免超出视口被截掉

Co-Authored-By: Claude <noreply@anthropic.com>
2026-08-19 17:07:21 +08:00
2910410219andClaude c8f457dada 首页历史工作流会话解除工作流锁定,回显预选上次执行工作流可自由切换
Co-Authored-By: Claude <noreply@anthropic.com>
2026-08-19 13:38:04 +08:00
2910410219andClaude 0421adb6ac 首页 round_start 记录 id 实时绑定 + 用户消息重生成修复
- wsMessage 新增 RoundStart 事件与 getRecordId 解析(兼容数字/字符串)
- 普通对话:round_start 首帧把 recordId 绑定到本轮用户消息与 AI 气泡,实时即可删除/重生成
- 工作流:round_start 把 recordId 绑定到表单卡片与结果消息(共享同一记录)
- 修复用户消息重新生成时气泡消失(runChat 不补用户消息,重生成时先重新追加)

Co-Authored-By: Claude <noreply@anthropic.com>
2026-08-18 18:04:21 +08:00
2910410219 c962cdd830 首页工作流产出链路去 execution/get 依赖,空结果兜底与删除接口契约对齐
- 实时执行产出只信 flow_complete 事件 resultFileUrls,删除 getExecutionDetail 兜底
- 历史回显产出改用 session/get 记录自带 resultFileUrl,不再调 execution/get
- 普通对话空回复:提示「未收到回复内容,请重试」并支持重新生成
- 工作流实时/历史无产出文件:明确提示「本次未生成产出文件」
- deleteSessionV2 对齐后端契约:/ai-agent/session/delete 传 sessionId
2026-08-18 17:04:41 +08:00
2910410219 13a2aeee9f 首页工作流会话重构与产出内嵌:后端 UUID 认领 + 产出对话内直接预览
会话机制:
- 建连不传本地会话号,由后端生成 UUID 并经首帧 ack 认领(claimSessionId 就地迁移全部状态)
- 删除执行完成后轮询会话列表替换本地条目的双路径逻辑,统一认领后刷新
- 清理 virtual_ 特判,收敛为 hasBackendSessionId 单一语义判断

产出展示:
- flow_complete 事件自带 resultFileUrls 直接构建产出卡片(buildOutputsFromUrls)
- 完成文案改为「 执行完成」,产出以消息形式展示在对话里
- 产出媒体(图片/视频/音频)常驻内嵌预览,图片点击放大,text/file 保持文件行
- ChatList 自动续载增加次数上限,防止 hasMore 恒真时无限加载循环
2026-08-17 17:59:24 +08:00
2910410219andClaude bb15c053e6 首页工作流表单卡片化闭环:执行进度、输入禁用与取消入口
- socket 节点事件推进表单卡片执行进度,失败详情展示详细原因
- 工作流执行时禁用输入框,取消入口移到卡片 footer,卡片定格可重试
- 工作流 ModelRequestParams 按详情原样透传后端
- 会话内产出文件卡片展示(预览/下载/删除),移除顶部结果卡片区

Co-Authored-By: Claude <noreply@anthropic.com>
2026-08-15 21:36:33 +08:00
2910410219andClaude dc20a6a829 首页工作流表单对话卡片化,历史回显走消息流
选中工作流即以表单卡片推送进入对话消息流,卡片内填写并提交执行,
移除整页表单区。历史 workflow 会话回显为带值表单卡片 + 结果消息,
不再跳整页表单页;回显数据源改用 session/get 记录(requestParams
即完整 flowContent,含 __start__ 值快照),失败判断以 errorMsg 为准。

- 新增 WorkflowFormCard.vue 表单卡片组件(迁移原整页表单渲染/校验逻辑)
- ChatList 渲染 form 类型消息,透传 form-submit
- MainContent 精简为两态(对话页/占位页)
- SessionResults workflow 结果精简摘要,状态以 errorMsg 为准

Co-Authored-By: Claude <noreply@anthropic.com>
2026-08-15 20:03:39 +08:00
2910410219 b8d29e31df 非子流程节点表单展示补 valueSource,修复子流程生成次数回显
- http/form/其它 presetOption 节点勾选表单展示的字段保存时补 valueSource={nodeId:开始节点id, fieldName},与子流程契约统一
- model 节点勾选字段按 path 补 valueSource,回显时清除指向开始节点的引用防误删
- 修复 sub_flow 节点 outputConfig 为空时参数面板(含生成次数)无法回显:回显逻辑改为节点库有 presetOption 定义即构建参数,值从开始节点运行表单反查
2026-08-15 19:23:11 +08:00
2910410219 41655fa825 sub_flow 节点引入工作流修复与首页执行工作流重构
- 引入工作流列表字段兼容 flowName,选择弹窗卡片正常展示数据
- 生成次数 maxConcurrency 同步保存到 sub_flow 节点,回显兜底恢复
- valueSource 按后端契约统一 {nodeId, fieldName},表单展示/引用正确保存与回显
- 首页执行工作流 DSL 字段路径改为 .enumValues[i],支持引用上游输出与上传文件名
2026-08-15 18:49:56 +08:00
2910410219 3b71f144c4 修复模型管理v2对话模型回显与异步弹窗崩溃问题
- 修复 chatModel 开关回显:字段大小写与后端对齐(chatModel)
- 修复异步模型 asyncTaskMapping 内字段为 null 时编辑弹窗崩溃
- lastFrame 提交仅限视频模型,避免占位符误提交
- 切换返回类型时清空 responseBodyMapping 残留
- 列表页访问类型列改为供应商列(后端不再返回 PrivateModel)
- ModelManageItem 类型与后端返回字段对齐(modelSupplier/chatModel/minDuration 等)
2026-08-15 10:43:40 +08:00