From ec988be30a22ddcaaccedd3a22e22276f2acf8ca Mon Sep 17 00:00:00 2001 From: Your Name Date: Fri, 13 Mar 2026 11:21:42 +0800 Subject: [PATCH] Update agent workflow and video task handling --- .../settings/admin-settings-client.tsx | 97 +++ app/(chat)/api/chat/route.ts | 674 +++++++++++++++++- .../storyboard/tasks/[taskId]/cancel/route.ts | 75 ++ .../tasks/[taskId]/confirm/route.ts | 101 +++ .../video/storyboard/tasks/[taskId]/route.ts | 56 ++ .../shots/[shotIndex]/regenerate-hd/route.ts | 73 ++ .../tasks/[taskId]/shots/[shotIndex]/route.ts | 103 +++ app/api/agents/[id]/route.ts | 40 +- app/api/agents/route.ts | 30 +- app/api/site-settings/route.ts | 49 ++ components/agents/AgentPresetCard.tsx | 7 +- components/agents/AgentPresetDialog.tsx | 51 +- components/agents/AgentPresetPanel.tsx | 14 + components/canvas/CanvasChatPanel.tsx | 222 +++++- .../DeerFlow调研与Agent升级建议-2026-03-12.md | 559 +++++++++++++++ docs/多宫格分镜视频开发清单-2026-03-12.md | 436 +++++++++++ docs/多宫格分镜视频需求补充-2026-03-12.md | 382 ++++++++++ ...…¨链路开发文档-含九宫格视频Agent技能化方案.md | 4 + lib/agents/secondary-type-config.ts | 47 ++ lib/ai/auto-agent-graph.ts | 7 +- .../middlewares/human-confirmation-gate.ts | 74 +- lib/ai/skill-router.ts | 17 +- lib/ai/specialists/index.ts | 14 + ...dd_video_storyboard_confirmation_state.sql | 77 ++ .../0058_add_agent_secondary_type.sql | 5 + lib/db/migrations/meta/_journal.json | 14 + lib/db/queries.ts | 28 +- lib/db/schema.ts | 25 +- lib/video-agent/agent-thread-state.ts | 152 ++++ lib/video-agent/execute-storyboard-task.ts | 304 ++++++++ .../pipeline/ruxa-nine-grid-pipeline.ts | 358 +++++----- lib/video-agent/revise-storyboard-task.ts | 288 ++++++++ lib/video-agent/skills/nine-grid-detector.ts | 150 +++- lib/video-agent/skills/script-normalizer.ts | 15 +- lib/video-agent/skills/storyboard-mapper.ts | 4 +- .../storyboard-command-interpreter.ts | 378 ++++++++++ .../storyboard-preference-memory.ts | 110 +++ lib/video-agent/storyboard-subagent.ts | 152 ++++ lib/video-agent/task-store.ts | 314 ++++++++ lib/video-agent/types.ts | 61 +- lib/video-agent/user-task-access.ts | 29 + types/agent.ts | 5 +- .../fal-realtime-image-api-contract.md | 176 ----- .../fal-realtime-image-dev-guide.md | 449 ------------ 44 files changed, 5260 insertions(+), 966 deletions(-) create mode 100644 app/(chat)/api/video/storyboard/tasks/[taskId]/cancel/route.ts create mode 100644 app/(chat)/api/video/storyboard/tasks/[taskId]/confirm/route.ts create mode 100644 app/(chat)/api/video/storyboard/tasks/[taskId]/route.ts create mode 100644 app/(chat)/api/video/storyboard/tasks/[taskId]/shots/[shotIndex]/regenerate-hd/route.ts create mode 100644 app/(chat)/api/video/storyboard/tasks/[taskId]/shots/[shotIndex]/route.ts create mode 100644 docs/DeerFlow调研与Agent升级建议-2026-03-12.md create mode 100644 docs/多宫格分镜视频开发清单-2026-03-12.md create mode 100644 docs/多宫格分镜视频需求补充-2026-03-12.md create mode 100644 lib/agents/secondary-type-config.ts create mode 100644 lib/db/migrations/0057_add_video_storyboard_confirmation_state.sql create mode 100644 lib/db/migrations/0058_add_agent_secondary_type.sql create mode 100644 lib/video-agent/agent-thread-state.ts create mode 100644 lib/video-agent/execute-storyboard-task.ts create mode 100644 lib/video-agent/revise-storyboard-task.ts create mode 100644 lib/video-agent/storyboard-command-interpreter.ts create mode 100644 lib/video-agent/storyboard-preference-memory.ts create mode 100644 lib/video-agent/storyboard-subagent.ts create mode 100644 lib/video-agent/user-task-access.ts delete mode 100644 实时画布新功能文档/fal-realtime-image-api-contract.md delete mode 100644 实时画布新功能文档/fal-realtime-image-dev-guide.md diff --git a/app/(admin)/settings/admin-settings-client.tsx b/app/(admin)/settings/admin-settings-client.tsx index 36b4c5163..d8394a10c 100644 --- a/app/(admin)/settings/admin-settings-client.tsx +++ b/app/(admin)/settings/admin-settings-client.tsx @@ -236,6 +236,11 @@ type SiteSettings = { usageScenarios: string[]; brands: string[]; }; + agentSecondaryTypeConfig: { + image: string[]; + video: string[]; + text: string[]; + }; realtimeCanvasEnabled: boolean; aiDetailGenerationEnabled: boolean; canvasDefaultModelId: string | null; @@ -632,6 +637,11 @@ export function AdminSettingsClient() { usageScenarios: [], brands: [], }, + agentSecondaryTypeConfig: { + image: [], + video: [], + text: [], + }, realtimeCanvasEnabled: true, aiDetailGenerationEnabled: false, canvasDefaultModelId: null, @@ -718,6 +728,17 @@ export function AdminSettingsClient() { ? (siteSettingsData as any).agentCategoryTreeConfig.brands : [], }, + agentSecondaryTypeConfig: { + image: Array.isArray((siteSettingsData as any).agentSecondaryTypeConfig?.image) + ? (siteSettingsData as any).agentSecondaryTypeConfig.image + : [], + video: Array.isArray((siteSettingsData as any).agentSecondaryTypeConfig?.video) + ? (siteSettingsData as any).agentSecondaryTypeConfig.video + : [], + text: Array.isArray((siteSettingsData as any).agentSecondaryTypeConfig?.text) + ? (siteSettingsData as any).agentSecondaryTypeConfig.text + : [], + }, realtimeCanvasEnabled: (siteSettingsData as any).realtimeCanvasEnabled ?? true, aiDetailGenerationEnabled: siteSettingsData.aiDetailGenerationEnabled ?? false, canvasDefaultModelId: siteSettingsData.canvasDefaultModelId || null, @@ -5431,6 +5452,82 @@ export function AdminSettingsClient() { )} + {siteSettings.agentEnabled && ( +
+
+
智能体二级类型配置
+
+ 用户创建智能体时,“二级类型”下拉从这里读取。按主类型分别维护:生图 / 视频 / 生文。 +
+
+ +
+
+ +