Commit Graph
89 Commits
Author SHA1 Message Date
19904408334 73f296731c refactor(workflow): 隔离逻辑运行键为 node_group_id
将 checkpoint、异步任务与段结果缓存的唯一键从 execution_id 改为 node_group_id,区分换参重跑与续跑语义;恢复/续跑复用执行记录的组标识,换参重跑则换新组并软删旧组残留,消除软删墓碑导致同键重存失效的问题。
2026-09-04 17:36:46 +08:00
19904408334 8c6305f267 fix(workflow): 修复取消/中断漏扣费与终态提前落库问题
- launchExecution 失败时返回真实 execId,避免 wrapper 兜底失效
- summary 节点移除执行终态与计费写库,统一由 recordWorkflow 结算
- 更新数据库连接凭据
2026-09-04 13:29:47 +08:00
19904408334 f7957761f0 fix(workflow): 修复子流程批量执行缓存键冲突
递归识别子工作流中的视频模型以支持 per_second 计费,并为子流程批量子执行添加 SubFlowScope 隔离 async/segment 缓存键。
2026-09-03 16:50:18 +08:00
19904408334 fc629ee493 fix(ai-agent): 支持按条计费模式逐条上报视频时长 2026-09-03 15:48:46 +08:00
19904408334 d699f7ce14 feat(workflow): 增加工作流计费与执行生命周期管理
- 新增计费模块:执行开始建单、终态结算/取消/失败处理,支持按条/按秒/按token计费
- 新增执行生命周期跟踪:优雅关停时取消运行中执行并等待落库
- 新增异步任务等待/通知机制(Wait/Notify)
- 重构执行记录落库与进度上报,统一失败分类与重试语义
- 重命名文件:async_task.go→async.go、flow_checkpoint_store.go→exec_checkpoint.go、flow_graph_util.go→exec_record.go
- 更新 .gitignore 与数据库密码配置
2026-09-03 13:22:22 +08:00
19904408334 67d049e586 refactor(workflow): 统一 OSS 接口并重构恢复锁
- 将文件地址前缀与上传逻辑迁移至 common/oss
- 恢复执行改用 utils.WithLock 自动续期锁
- 转写提示词增加单镜头最小时长约束
2026-08-29 11:51:30 +08:00
19904408334 740003a192 build(ai-agent): 更新 common 和 gmq 依赖版本 2026-08-26 15:01:58 +08:00
19904408334 5c5f97af17 feat(workflow): 支持运行中执行事件中枢与优雅关停 2026-08-26 14:52:15 +08:00
19904408334 e0f7ce61a1 feat(workflow): main 启动工作流恢复扫描 2026-08-25 17:06:15 +08:00
19904408334 36b10ae8e7 fix(workflow): 补 reExecute 后再次 Insert 分支的 LastHeartbeat,消除 30s 僵尸双跑窗口 2026-08-25 17:04:49 +08:00
19904408334andClaude Opus 4.7 ce2407bb2d feat(workflow): 错误分类 + in-process 自动重试 + status=1 防重复执行
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-08-25 16:58:38 +08:00
19904408334 95dc0d6052 feat(workflow): 恢复例程 + 心跳 + 启动/周期扫描 2026-08-25 16:44:29 +08:00
19904408334 788c835580 feat(workflow): lambda 节点接入统一异步恢复入口 2026-08-25 16:28:28 +08:00
19904408334 e3c299412f feat(workflow): 统一异步调用 memo 包装 AsyncModelCallWithRecovery 2026-08-25 16:17:08 +08:00
19904408334andClaude Opus 4.7 b039a70547 feat(workflow): Redis 分布式锁工具(SETNX + Lua 原子释放)
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-08-25 16:10:13 +08:00
19904408334andClaude Opus 4.7 3620e1ea61 refactor(gateway): ModelCallResult 拆分为 SubmitModelCall + WaitModelCallResult
- SubmitModelCall: 提交段(异步模型生成唯一 msgTopic),返回 (res, msgTopic, err)
- WaitModelCallResult: 订阅段(重订阅可恢复结果,供 Task5 AsyncModelCallWithRecovery 复用)
- ModelCallResult 签名不变,内部复用二者;订阅参数与拆分前一致

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-08-25 16:04:13 +08:00
19904408334andClaude Opus 4.7 5672c8272e feat(workflow): flow_async_task 统一异步任务表实体与 DAO(物理删除)
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-08-25 15:55:03 +08:00
19904408334 d5b2d90a27 feat(workflow): exec_workflow 增加重试/心跳三列与可恢复查询 DAO 2026-08-25 15:41:50 +08:00
19904408334 b3f4b94b21 feat: 支持模板子流程递归拷贝与段级续跑优化
* 模板拷贝用户流程时递归复制子流程,并重写 sub_flow 节点引用
* 段级续跑改用列表位置作为段身份,移除对 segment_index 的依赖
* 段结果保存移到每段生成完成时立即落库,降低崩溃丢失风险
* 移除视频分段续跑设计与对应测试
2026-08-25 13:56:55 +08:00
19904408334 855d0cca72 fix: 表名常量对齐短名约定 + segment_index 去重守卫防视频批量节点续跑静默损坏 2026-08-25 10:59:09 +08:00
19904408334 01a73e5153 fix: DeleteByExecution 改为物理删除,消除软删后同键重存无法复活的续跑失效 2026-08-25 10:38:22 +08:00
19904408334andClaude Opus 4.7 d984cba714 test: 段结果 DAO 补 pgsql 驱动空导入并加软删复活路径验证
单测包不经 main,缺驱动空导入导致 go test ./workflow/dao/flow/ 报
"cannot find database driver for specified database type pgsql"。

新增 TestFlowSegmentResultDaoResurrect:验证 DeleteByExecution 软删后,
对同一 (execution_id, node_id, segment_index) 重新 Save 能否清除
deleted_at 使 ListByNode 再次可见。实测 upsert 的 DO UPDATE SET 子句
不含 deleted_at,段2 不复活 —— 留作失败证据供控制器裁决。

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-08-25 10:34:14 +08:00
19904408334 bae916e019 feat: ModelLambda 段级续跑——只生成缺失段、失败重试1次、成功落库、按序合并 2026-08-25 10:20:47 +08:00
19904408334 2d7f6888a6 feat: 视频段级续跑纯逻辑(复用决策+按序合并)及单测 2026-08-25 10:16:54 +08:00
19904408334andClaude Opus 4.7 0de29988b4 feat: FlowExecutionInput 增加 ForceNewRun,BuildExecution 全新生前清旧段/成功后清理
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-08-25 10:09:58 +08:00
19904408334andClaude Opus 4.7 035c467a62 feat: 新增视频段级结果表及 DAO(flow_segment_result)
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-08-25 10:01:48 +08:00
19904408334 ac7936829f chore: ignore .superpowers SDD workspace 2026-08-25 09:56:28 +08:00
19904408334 e0529c4ced docs: 补充段结果表执行成功后清理策略
工作流执行成功时(BuildExecution 成功返回)与删 checkpoint 并列清理该执行的
flow_segment_result 段结果,执行失败则保留供 reExecute 复用,避免数据残留。
2026-08-25 09:44:07 +08:00
19904408334 a357ca860f docs: 添加视频节点段级断点续跑设计文档
视频生成节点把长视频拆段生成,当前任意段失败即整节点失败,重跑全部段重新生成。
设计段级断点续跑:flow_segment_result 表存已成功段,执行内段失败重试 1 次,
reExecute 时只重生成失败段,按 segment_index 升序合并后拼接,保证顺序。
2026-08-25 09:37:15 +08:00
19904408334 8936a4c921 fix: 修复更新流程用户时的返回值和逻辑
- 调整 Update 接口返回创建结果 ID
- 修复管理员更新流程模板和普通用户更新流程的归属逻辑
2026-08-24 17:18:53 +08:00
19904408334 f0f8724bd9 fix: 修复并行分支续跑输出丢失及模型空指针
合并续跑时各分支独立的 ConfigMap 副本,避免汇合节点输出丢失;并对模型配置缺失和空 responseType 增加保护,防止空指针崩溃。
2026-08-24 16:04:45 +08:00
19904408334 75fb40274d fix: 修复工作流断点续跑时执行记录复用逻辑 2026-08-24 08:59:29 +08:00
19904408334 f34566d9ad fix: 修复模板字段取值逻辑并补充调试日志 2026-08-22 10:55:04 +08:00
19904408334 76b899133e fix: 添加httpCallResultLambda入参调试日志 2026-08-22 10:36:28 +08:00
19904408334 294b8b229e fix: 修复断连或取消时工作流断点保存失败 2026-08-22 09:58:56 +08:00
19904408334 c7091e3702 fix: 修复执行结果列表依赖结果表查询 2026-08-22 09:15:05 +08:00
19904408334 670fe61033 fix: 修复工作流执行记录卡在运行中的问题 2026-08-22 08:46:57 +08:00
19904408334 aae4ebe199 fix: 修复工作流执行状态比较与落库逻辑
- 解引用状态指针按值比较,避免执行记录误显示为运行中
- panic 时兜底写入失败状态,防止记录卡在 Running
- 保存上下文提前至异步执行入口,确保断连后仍能落库
- 移除结果文件地址前缀拼接,使用原始 URL
2026-08-22 08:28:04 +08:00
19904408334 5b93a7a507 fix: 修复工作流执行记录创建与静音模式约束
- 执行记录仅在合法 execId 时写入,查询失败时返回错误
- 字幕构建改为词级精确对齐并增加比例兜底,避免整句被吞
- 静音模式下从转写与段级 prompt 双重杜绝口播/字幕/口型
- 清理静音事件描述中的说话类动词
2026-08-21 19:38:25 +08:00
19904408334 a06766db6d fix: 复用失败工作流执行记录并统一节点触发模式 2026-08-21 13:30:07 +08:00
19904408334 9bc388018b fix: 重试成功后清空执行记录中的旧报错信息 2026-08-21 10:56:31 +08:00
19904408334 cef837a35c feat: 支持工作流断点续跑并拆分错误信息存储
- 新增同会话+同工作流最近执行失败且参数一致时断点续跑逻辑
- exec_workflow/exec_chat 新增 error 字段存储原始错误,error_message 仅存友好提示
- 新增 UpdateExecChatReq 与 exec_chat_dao Update 方法
- 新增 GetLatestBySessionAndFlow 查询最近执行记录
- 修正 ListDates 分组与排序 SQL 表达式
- 新增 pipeline 配置结构,删除旧设计文档
2026-08-21 09:54:06 +08:00
19904408334 a939c45508 feat: 新增执行记录实体与文件上传能力 2026-08-18 09:47:51 +08:00
19904408334 155a5cad0c fix: execWorkflowDao.Insert 形参改为 CreateWorkflowReq 2026-08-13 16:51:20 +08:00
19904408334 1c0f1a7707 feat: 会话 Get 按 exec_chat/exec_workflow 混排返回结果 2026-08-13 16:49:59 +08:00
19904408334 1dce62921f feat: 新增会话管理 service/controller 并注册路由 2026-08-13 13:04:00 +08:00
19904408334 ab7b8889ed feat: 新增会话/结果 DAO(含软删与级联删除) 2026-08-13 12:34:54 +08:00
19904408334 114563b4f0 feat: 新增会话管理 DTO 2026-08-13 12:30:35 +08:00
19904408334 358c5ca3a7 feat: 新增会话/工作流结果/普通对话结果表 DDL 2026-08-13 12:27:34 +08:00
19904408334 7ea3abbefe style: gofmt 对齐 table_name.go 常量块 2026-08-13 12:23:31 +08:00