后端生成闸+多项修复;前端全站更新;QA 审计与报告

后端:
- 新增 celery_health 生成前置闸——无 worker 在线时图片/视频生成入口
  一律 503,防"提交到 ARK 后无人轮询、结果悬空+额度冻结"的数据丢失
- 拼接导出:帧率跟随源众数、字幕逐句重映射、原声/BGM 混音修复
- 资金核算审计脚本 + genesis 账目回填 + 滞留预留清理命令
- 接入 yunqi provider 与豆包 TTS 模型(catalog/migrations/bootstrap 命令)

前端:全站页面更新(pipeline/library/products/projects/team/account 等),
新增共享 pager 分页组件

QA:刷新 function-audit 全量输出,新增 full-qa 报告
文档:BP 产品介绍资料、design/CLAUDE.md

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
zyc
2026-06-15 10:06:15 +08:00
co-authored by Claude Fable 5
parent 890cb9ab67
commit 216a711291
92 changed files with 5114 additions and 2027 deletions
+168 -110
View File
@@ -2,13 +2,13 @@
"name": "pipeline",
"route": "/pipeline/1048451e-3b4a-4b66-a8f4-cb865096de2f",
"url": "http://127.0.0.1:5173/pipeline/1048451e-3b4a-4b66-a8f4-cb865096de2f",
"mode": "isolated",
"mode": "quick",
"tally": {
"total": 29,
"works": 27,
"total": 34,
"works": 26,
"dead": 0,
"error": 0,
"disabled": 2,
"disabled": 8,
"skipped": 0,
"noop": 0,
"blocked": 0
@@ -100,7 +100,7 @@
"url": true,
"overlay": false,
"self": false,
"mutations": 31,
"mutations": 36,
"api": 0
}
},
@@ -136,7 +136,7 @@
"url": true,
"overlay": false,
"self": false,
"mutations": 22,
"mutations": 26,
"api": 0
}
},
@@ -154,7 +154,7 @@
"url": true,
"overlay": false,
"self": false,
"mutations": 36,
"mutations": 37,
"api": 0
}
},
@@ -191,7 +191,7 @@
"overlay": false,
"self": false,
"mutations": 25,
"api": 0
"api": 1
}
},
{
@@ -244,8 +244,8 @@
"url": true,
"overlay": false,
"self": false,
"mutations": 22,
"api": 0
"mutations": 24,
"api": 1
}
},
{
@@ -270,17 +270,17 @@
"idx": 14,
"tag": "a",
"role": "",
"cls": "sp-dot.active",
"cls": "sp-dot",
"label": "基础资产",
"href": "#stage-2",
"disabled": false,
"active": true,
"active": false,
"verdict": "works",
"signals": {
"url": true,
"overlay": false,
"self": false,
"mutations": 20,
"self": true,
"mutations": 22,
"api": 0
}
},
@@ -316,7 +316,7 @@
"url": true,
"overlay": false,
"self": true,
"mutations": 25,
"mutations": 23,
"api": 0
}
},
@@ -334,7 +334,7 @@
"url": true,
"overlay": false,
"self": true,
"mutations": 27,
"mutations": 23,
"api": 1
}
},
@@ -342,62 +342,41 @@
"idx": 18,
"tag": "button",
"role": "",
"cls": "tag-add",
"label": "添加人物",
"cls": "ctl-btn",
"label": "上一帧 (←)",
"href": "",
"disabled": false,
"disabled": true,
"active": false,
"verdict": "works",
"signals": {
"url": false,
"overlay": false,
"self": false,
"mutations": 24,
"api": 0
}
"verdict": "disabled"
},
{
"idx": 19,
"tag": "button",
"role": "",
"cls": "tag-add",
"label": "添加场景",
"cls": "ctl-btn",
"label": "播放 / 暂停 (空格)",
"href": "",
"disabled": false,
"disabled": true,
"active": false,
"verdict": "works",
"signals": {
"url": false,
"overlay": false,
"self": false,
"mutations": 24,
"api": 0
}
"verdict": "disabled"
},
{
"idx": 20,
"tag": "button",
"role": "",
"cls": "btn.btn-ghost.btn-sm",
"label": "↻ 整体重写",
"cls": "ctl-btn",
"label": "下一帧 (→)",
"href": "",
"disabled": false,
"disabled": true,
"active": false,
"verdict": "works",
"signals": {
"url": false,
"overlay": false,
"self": false,
"mutations": 22,
"api": 1
}
"verdict": "disabled"
},
{
"idx": 21,
"tag": "button",
"role": "",
"cls": "btn.btn-ghost.btn-sm",
"label": "清空对话",
"cls": "ctl-btn",
"label": "静音",
"href": "",
"disabled": true,
"active": false,
@@ -405,10 +384,28 @@
},
{
"idx": 22,
"tag": "button",
"role": "",
"cls": "chat-mode.primary",
"label": "AI 全生",
"tag": "div",
"role": "button",
"cls": "active",
"label": "字幕",
"href": "",
"disabled": false,
"active": true,
"verdict": "works",
"signals": {
"url": false,
"overlay": false,
"self": true,
"mutations": 61,
"api": 0
}
},
{
"idx": 23,
"tag": "div",
"role": "button",
"cls": "",
"label": "转场",
"href": "",
"disabled": false,
"active": false,
@@ -417,34 +414,16 @@
"url": false,
"overlay": false,
"self": false,
"mutations": 22,
"api": 1
}
},
{
"idx": 23,
"tag": "button",
"role": "",
"cls": "chat-mode",
"label": "一句话主题",
"href": "",
"disabled": false,
"active": false,
"verdict": "works",
"signals": {
"url": false,
"overlay": false,
"self": true,
"mutations": 21,
"mutations": 33,
"api": 0
}
},
{
"idx": 24,
"tag": "button",
"role": "",
"cls": "chat-mode",
"label": "自带脚本",
"tag": "div",
"role": "button",
"cls": "",
"label": "BGM",
"href": "",
"disabled": false,
"active": false,
@@ -453,7 +432,7 @@
"url": false,
"overlay": false,
"self": true,
"mutations": 21,
"mutations": 35,
"api": 0
}
},
@@ -461,8 +440,8 @@
"idx": 25,
"tag": "button",
"role": "",
"cls": "chat-icon-btn",
"label": "上传脚本附件",
"cls": "btn.btn-sm.btn-primary",
"label": "已开启",
"href": "",
"disabled": false,
"active": false,
@@ -471,63 +450,142 @@
"url": false,
"overlay": false,
"self": false,
"mutations": 0,
"mutations": 30,
"api": 0
}
},
{
"idx": 26,
"tag": "div",
"role": "button",
"cls": "swatch-card.selected",
"label": "真实分享朴素白底",
"href": "",
"disabled": false,
"active": true,
"verdict": "works",
"signals": {
"url": false,
"overlay": false,
"self": true,
"mutations": 35,
"api": 0
}
},
{
"idx": 27,
"tag": "div",
"role": "button",
"cls": "swatch-card",
"label": "真实分享影视黑底",
"href": "",
"disabled": false,
"active": false,
"verdict": "works",
"signals": {
"url": false,
"overlay": false,
"self": false,
"mutations": 30,
"api": 0
}
},
{
"idx": 28,
"tag": "div",
"role": "button",
"cls": "swatch-card",
"label": "真实分享手写描边",
"href": "",
"disabled": false,
"active": false,
"verdict": "works",
"signals": {
"url": false,
"overlay": false,
"self": true,
"mutations": 35,
"api": 0
}
},
{
"idx": 29,
"tag": "div",
"role": "button",
"cls": "swatch-card",
"label": "真实分享综艺暖黄",
"href": "",
"disabled": false,
"active": false,
"verdict": "works",
"signals": {
"url": false,
"overlay": false,
"self": false,
"mutations": 36,
"api": 0
}
},
{
"idx": 30,
"tag": "button",
"role": "",
"cls": "chat-send-btn",
"label": "发送",
"cls": "tl-action",
"label": "撤销",
"href": "",
"disabled": true,
"active": false,
"verdict": "disabled"
},
{
"idx": 27,
"idx": 31,
"tag": "button",
"role": "",
"cls": "btn",
"label": "重新生成全部",
"cls": "tl-action",
"label": "重做",
"href": "",
"disabled": false,
"disabled": true,
"active": false,
"verdict": "works",
"signals": {
"url": false,
"overlay": false,
"self": false,
"mutations": 22,
"api": 1
}
"verdict": "disabled"
},
{
"idx": 28,
"idx": 32,
"tag": "button",
"role": "",
"cls": "btn.btn-primary.btn-lg",
"label": "进入下一步",
"cls": "tl-action",
"label": "在播放头处分割所在片段",
"href": "",
"disabled": false,
"disabled": true,
"active": false,
"verdict": "works",
"signals": {
"url": true,
"overlay": false,
"self": false,
"mutations": 20,
"api": 0
}
"verdict": "disabled"
},
{
"idx": 33,
"tag": "button",
"role": "",
"cls": "tl-action",
"label": "复制选中片段",
"href": "",
"disabled": true,
"active": false,
"verdict": "disabled"
}
],
"missing": [
"搜索",
"李 小李的店",
"余额 ¥327.40",
"E E2E 桥接测试团队 20260529",
"余额 ¥14,907.00",
"账户",
"添加人物",
"添加场景",
"↻ 整体重写",
"清空对话",
"AI 全生",
"一句话主题",
"自带脚本",
"上传脚本附件",
"发送",
"重新生成全部",
"确认脚本,进入下一步"
]
}