diff --git a/CHANGELOG.md b/CHANGELOG.md index d1761ff..a601953 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -483,5 +483,6 @@ - 全局 `生成文案` 旧入口也已经做成相同分流:优先围绕最近完成任务直接生成,只有没有可承接任务时才回退到旧文案表单。 # 2026-04-05 +- agent: 遗留 `创建 Agent` 入口现在也会优先 direct-execute,当前项目已就绪时直接创建 Agent,只有缺上下文时才回退到旧表单。 - pipeline: 全局旧入口 `AI 视频 / 实拍剪辑` 现在也会优先围绕最近完成任务 direct-execute,只有没有可承接任务时才回退到旧表单。 - review: `任务详情 -> 写复盘` 旧入口改成 direct-execute,带 `source_job_id` 直接生成复盘草稿,不再优先打开旧复盘表单。 diff --git a/web/storyforge-web-v4/assets/app.js b/web/storyforge-web-v4/assets/app.js index 70c22f8..db7e118 100644 --- a/web/storyforge-web-v4/assets/app.js +++ b/web/storyforge-web-v4/assets/app.js @@ -12070,6 +12070,14 @@ document.addEventListener("click", async (event) => { return; } if (name === "open-create-assistant") { + const project = getSelectedProject(); + if (project?.id) { + await runDirectWorkbenchAction("create-assistant", { + busyLabel: "正在创建 Agent...", + errorTitle: "创建 Agent 失败" + }); + return; + } openCreateAssistantAction(); return; } diff --git a/web/storyforge-web-v4/tests/workbench-pages.test.mjs b/web/storyforge-web-v4/tests/workbench-pages.test.mjs index 8b7fea4..e4e8520 100644 --- a/web/storyforge-web-v4/tests/workbench-pages.test.mjs +++ b/web/storyforge-web-v4/tests/workbench-pages.test.mjs @@ -1045,6 +1045,9 @@ test("playbook and review high-frequency actions now reuse direct execute handle assert.match(clickActions, /name === "open-real-cut"[\s\S]*const fallbackJob = getLatestCompletedProjectJob\(\)/); assert.match(clickActions, /name === "open-real-cut"[\s\S]*runDirectWorkbenchAction\("create-real-cut"/); assert.match(clickActions, /name === "open-real-cut"[\s\S]*openCreateRealCutAction\(\)/); + assert.match(clickActions, /name === "open-create-assistant"[\s\S]*const project = getSelectedProject\(\)/); + assert.match(clickActions, /name === "open-create-assistant"[\s\S]*runDirectWorkbenchAction\("create-assistant"/); + assert.match(clickActions, /name === "open-create-assistant"[\s\S]*openCreateAssistantAction\(\)/); }); test("main agent landing notices expose a compact mobile follow-up strip", () => {