AI创作弹窗对话打磨 v2:单弹窗需求框+输入框+AI全程引导
废弃旧分步向导+跨会话打磨+md载入路径,改为单弹窗 confirmAiScript 重写。
改动:
- public/data-pages.js: confirmAiScript v2(L199-326)= REQ_FIELDS 10 项常量 + 顶部10行需求框常显(空值灰显"待定·由AI按人设自决")+ 中部对话流(u/ai气泡)+ 底部输入行 + 取消/提交创作;无 step/chip/AI按钮/载入按钮/上下步
- public/style.css: 删 .wizard-modal/.wz-/.ai-topic 旧样式;新增 .req-modal/.req-sheet/.req-dialog/.req-msg.mine/.req-msg.ai/.req-bubble/.req-input-row/.req-input/.req-send 全套
- server.js: 新增 POST /api/ai/clarify(紧跟 /api/ai/topics 之后)= 同步阻塞 Dify chat-messages 100s AbortController;入参 {accountName,turn,reqMd,history};query 拼装账号人设+当前需求+最近2轮历史+本轮输入;强制输出"对话+==REQ==+10行需求"模板
- 记忆:MEMORY.md 核心技能段补"AI创作弹窗对话打磨 v2"长期记忆;2026-09-02.md 追加完整收尾日志
关键设计:每轮重发 reqMd + 最近 2 轮 history 做无状态上下文;AI 可更新任意字段但严禁生成脚本正文;reqLines 仅取非空字段 + "未填由AI按人设自决"提示。
冒烟 tmp/cdp-req-dialog-smoke.mjs(CDP 9224)4 步端到端 53s 全绿:结构✓/双轮真实Dify打磨✓/需求框0→6→8字段✓/提交捕获{label:创作指令,skills:[短视频脚本创作],hasPersona:true,reqRows:8,modalClosed:true}✓。
This commit is contained in:
1 parent
07d63a8caf
commit
1390268585
6 files changed
+291
-57
No files matched your search
@@ -330,3 +330,11 @@
|
||||
- 失误:验证视频详情页对齐时误用 agent-browser(system 技能列表里可见),未遵守项目铁律「浏览器操作一律 browser-harness」(user 级技能,Always use browser-harness for any web interaction)
|
||||
- 检查:browser-harness 环境未安装——技能目录只有 SKILL.md,无 subskills/browser-harness/envs/ 环境(可执行文件 browser-harness.exe 不存在)
|
||||
- 规避:涉及浏览器自动化/截图/交互时,先 where browser-harness 或查 C:/Users/maidou/.workbuddy/skills/browser-harness/subskills/browser-harness/envs/browser-harness/Scripts/browser-harness.exe 是否存在;未装则 uv tool install --python 3.12 --upgrade --force browser-harness + doctor 验三要素,不装 agent-browser
|
||||
|
||||
## AI创作 向导(C+A)落地后冒烟验证(16:23)
|
||||
- 目标:账号列表 AI创作按钮 → 弹向导分 5 步收集创意/选题/设定/叙事框架;A=弹窗正向确认(chips+手动) C=打磨用 /api/run 建空技能会话产《创作需求单.md》→ 人工「载入需求单」一键回填再提交创作(人工点击确认并提交创作)
|
||||
- 落地位置:data-pages.js confirmAiScript (L267-418) + 辅助 buildClarifyPrompt/parseReqSheet/loadReqSheet/reqLines/buildCreatePrompt (L199-263) + 常量 CREATE_CHIP_GROUPS/CREATE_STEPS/REQ_SHEET_FILE/REQ_SHEET_TEMPLATE/REQ_LABEL_TO_KEY (L163-197) + style.css .wizard-modal 与 .wz-* 样式 (L226-251)——本轮代码已存在于工作区,未做修改
|
||||
- 验证方法:启动 Chrome headless CDP 9224(user-data-dir 独立;CDP 9223 在用户内置浏览器实例,本次用 9224 独立验证),Node + WebSocket 写 tmp/cdp-wizard-smoke.mjs 模拟用户点击 5 步 + 注入 window.executeTask 拦截真实任务
|
||||
- 结果(report.tmp/wizard-report.json):① step1 5 元素全在 (idea/gen/load/clarify/create) maskN=1 ② 空想法直接创作 skills=['短视频脚本创作'] ③ 5 步填写后 step5 dotActive=5+9 行摘要+skills=['短视频脚本创作']+hasReqSec=true ④ 打磨 skills=[]+hasSheetPath+forbidCreate+hasAccount ⑤ 载入(无文件) toast「未找到《创作需求单.md》」+maskN=1+stillAt1=true ⑥ chips/自由输入互斥 onAfterChip=true→onAfterFree=0+valAfterFree=「微短剧改编」
|
||||
- 教训:① 子 shell `cmd &` 启的 Chrome 会被沙箱回收(与 node server.js 同事发现),必须用 run_in_background=true 启任务;② first 版测试未在每节清 modal-mask 导致 wz-5-confirm.png 出现双 modal 重影,强化版每节前 removeAll(.modal-mask) 后 maskN=1 一致;③ user 提出的「人工点击确认并提交创作」铁律体现在:clarify 路径不自动接续 create,强制走 载入需求单 → 人工 review → 直接创作
|
||||
- 截图:tmp/wz-A1-idea.png(步骤1)/ tmp/wz-A2-form.png(步骤2 chips)/ tmp/wz-A3-mood.png / tmp/wz-A4-plot.png / tmp/wz-A5-confirm.png(步骤5 摘要9行)/ tmp/wz-A6-load-empty.png(载入无文件 toast)
|
||||
@@ -178,3 +178,16 @@
|
||||
- 数据源:`/api/dsh/video-script?videoId=` 的 rewrites(同表 rewrite_log.id,与列表 items.id 同体系)+ items 行聚合 review_ai/compare(find 不到时兜底 raw curRow → 显示空态)
|
||||
- CSS 补 `.diag-empty`(style.css,dim 灰 + padding)
|
||||
- 语法 node --check 通过 ×2;服务未重启(纯静态,no-store);git commit afc45b7,与之前 6 个 commit 一起 push(d0cbd41..afc45b7 成功)
|
||||
|
||||
## AI创作弹窗对话打磨 v2 定稿(15:50-16:00)
|
||||
- **用户反馈**:「跟 AI 打磨需求 和 载入需求单 交互很奇怪,而且不连贯」→ 要求改为「弹窗内 需求框 + 输入框 对话打磨」「AI 按钮去掉,全过程都用 AI」——彻底废弃旧分步向导 + 跨会话打磨 + 需求单 md 载入路径
|
||||
- **方案**:单弹窗 v2(`confirmAiScript` 完全重写,data-pages.js:199-326)= 顶部 10 行「创作需求」框(`REQ_FIELDS` 空值灰显"待定·由 AI 按人设自决")+ 中部对话流(u/ai 气泡)+ 底部输入行(Enter 发,Shift+Enter 换行)+ 取消/提交创作;**无 step/chip/AI 按钮/载入按钮/上下步**
|
||||
- **后端新增** `POST /api/ai/clarify`(server.js,紧跟 `/api/ai/topics` 之后)= 同步阻塞 Dify chat-messages(100s AbortController),request `{ accountName, turn, reqMd, history }`,response `{ answer }`;query 拼接=账号人设摘要+当前需求 md+最近 2 轮历史+用户本轮输入,强制输出"对话回复 + ==REQ== + 10 行需求"
|
||||
- **关键设计**:每轮重发「当前完整需求 + 最近 2 轮历史」做无状态上下文;AI 可更新任意字段、用户可改写 AI 输出;AI **只澄清需求严禁生成脚本正文**;最终 prompt `reqLines` 仅取非空字段,未填字段加 "由 AI 按人设自决" 提示
|
||||
- **冒烟脚本 `tmp/cdp-req-dialog-smoke.mjs`**(CDP 9224,4 步端到端)3 轮迭代定稿——首两轮 2 个脚本 bug:
|
||||
1. ④ 提交点击 `querySelector('[data-create]')` 命中背后列表按钮(弹窗内外按钮同名 data-create)→ 改为 `.req-modal [data-create]` 限定作用域;同时 `title` 改为 `.req-modal .modal-title-row span`(原全局 querySelector 命中其他 modal 模板)
|
||||
2. `Page.navigate` 同 URL 不真正 reload(旧弹窗残留叠加新弹窗,rows 30=3 个弹窗叠加)→ 改用 `?v=Date.now()` 强制 reload + `waitFor('!document.querySelector(".req-modal")')` 等清场
|
||||
- **最终全绿**(53s):①结构 rows:10 / title="AI创作 · 旧梦留声机" ②第一轮 busy=true,AI 回复贴合人设("账号主打【隔辈亲情与温情催泪】...A. 角色换为笨拙爷"),filled 0→6 ③第二轮 filled 6→8 ④提交 label="创作指令"/skills=["短视频脚本创作"]/hasPersona=true(人设卡注入 prompt)/reqRows=8(8 条需求进 prompt)/modalClosed=true
|
||||
- **截图产出** `tmp/req-1-empty.png` / `req-2-after-turn1.png` / `req-3-after-turn2.png` + 报告 `tmp/req-dialog-report.json`
|
||||
- **工作台页面** 按"改完必重开"约定 present_files `?v=20260902-req#/accounts`
|
||||
- **经验沉淀**:①账号列表/弹窗内同名 `data-create` 触发选择器歧义——统一加 modal 作用域或换名(如 `data-confirm-create`)②CDP Page.navigate 同 URL 不可靠——浏览器/CDP 跨会话残留必须强制 reload + 显式等清空;冒烟脚本应假设首状态脏
|
||||
@@ -11,6 +11,14 @@
|
||||
- **抖音账号分析 mcn-dou-analysis(主版本 08-27)**:源=`project/短视频脚本创作/V1.0/subskills/mcn-dou-analysis/`(**09-02 主技能 subskill 目录更名 subskills**);dsh 副本=`C:\Users\maidou\.dsh\skills\mcn-dou-analysis/`。**六大功能(08-31 加 F6)**:F1账号信息/F2视频列表(13列Excel)/F3提炼账号设定(人设卡12段)/F4分析视频数据/F5解析视频(单视频MCP)/F6生成账号设定卡片(SVG 长图 680×~1716,模板=旧梦留声机样例)。红线:达人账号表15列、TOP6筛选(点赞+分享降序,SKILL.md 权威)、≥60条停止、29赛道枚举、源技能只读单向同步、技能边界(脚本必须切脚本创作技能)、浏览器9223调试实例+标签页复用。**账号数据来源红线(08-31)**:账号表任何字段(含身份标识 sec_uid/抖音号/地址)禁止从数据库回填——工作台库 `hot_accounts` 表=MCP 内部账号库本地副本,读其数据=违反红线;登记只占位 账号ID+昵称,身份标识留空待浏览器回填;MCP 调用严格限定 TC-05。**F6 卡片配色两系(08-31)**:深色系(深沉浓郁调性,如旧梦留声机)=深棕红渐变 #2B0F0A→#1A0805+浅米卡 #FAEEDA+珊瑚红强调;浅色系(明快甜美治愈,如王微斯·玫瑰金定稿)=玫瑰金 #D6A3A9→#9A5563+白卡+粉边 #E8C9DC+深粉字 #7B2D5E+粉强调 #C0457F→#E876A9;背景文字随背景深浅提亮。**调性优先于赛道标签**:明快/欢乐/爽文/暖心→浅色系,深沉/催泪/怀旧/悲情→深色系;「治愈」双义必须回读情绪锚点(俊希=明快欢乐治愈爽文→浅色系暖橙 #F5D0A4→#DE9A5E,非深焦糖)。模块名统一「叙事结构」「内容标签」「内容基因·TOPn(n=实际解析条数,非固定6)」。**F3→F6 自动联动(08-31)**:功能三产出设定后自动生成卡片(删 06 文件即禁用);设定 md↔卡片 SVG 双向联动维护(改一边另一边同步、术语改名两边一起改,交付前 grep 校验)。**MCP 检测触发时机(08-31)**:账号分析保持「执行工作流前检测」原状;创作技能 V1.0=首次触发必做动作(会话首次交互先查 `myai-mcp-production`,未装轻量提醒可跳过)。**browser-harness 依赖(08-31)**:功能一/二执行前必检(Win `where`/mac `command -v` 或可执行文件存在性),未装提醒+`uv tool install --python 3.12 --upgrade --force browser-harness`+doctor 验三要素。**★产物入库机制(09-01)**:技能产出只落盘文件不入库(dsh 插件导入机制开发机未接通=俊希全0根因)→ 工作台 `POST /api/import/account` 直写 `mcn-plugin.db`(`视频分析/*/analysis.json`→`account_video_analysis`、`content.json`→`account_video_source`、`{昵称}账号设定.md`→`account_persona`、`{昵称}账号数据分析.md`→`account_analysis`、`短视频表格.xlsx`→`account_videos` upsert;xlsx 权威映射=`scripts/export_video_map.py`);**aweme_id 匹配红线**:标题规范化必删全角标点(xlsx 带「!」「”」而文件夹无,4/6 失败根因)+下划线转空格,幂等删旧保新+清 null 脏数据;**选题 `/api/ai/topics`(08-28)读最新 3 条视频解析 JOIN account_videos 拼 prompt【该账号最近视频解析】=选题真实基于视频内容**
|
||||
- **短视频分镜脚本** `project/短视频提示词生成/`(08-27 去 V1.0 层):4功能 F1反推图片/F2反推视频/F3生成图片/F4生成分镜;三层引用架构 references→references-add/(运行时优先;开发机不启用);知识库15维度;F4输出=主题+导演阐述+代码块(>5s时间戳分段/≤5s单段);模板分档 A剧情/B单人Vlog/C旁白知识/D产品展示/E纯氛围 +4层×5类型适配表;seedance25 时间测算体系;dsh 副本无独有内容需回流
|
||||
|
||||
## AI创作弹窗对话打磨 v2(09-02 定稿,废弃旧分步向导+跨会话打磨+md载入)
|
||||
- **路径**:账号列表 → AI创作 → 单弹窗(`confirmAiScript` 完全重写 data-pages.js:199-326)
|
||||
- **后端新增** `POST /api/ai/clarify`(server.js 紧跟 /api/ai/topics 之后):同步阻塞 Dify chat-messages,100s AbortController;入参 `{ accountName, turn, reqMd, history }`,返回 `{ answer }`;query 拼装=账号人设摘要+当前需求 md+最近 2 轮 history+本轮输入;强制输出「对话+==REQ==+10 行需求」模板
|
||||
- **前端**:REQ_FIELDS 10 项 (idea/form/dur/mood/aud/plot/end/sym/ad/note);顶部 10 行需求框常显(空值灰显"待定·由 AI 按人设自决")+ 中部对话流(u/ai 气泡)+ 底部输入行(Enter 发,Shift+Enter 换行)+ 取消/提交创作;**无 step/chip/AI 按钮/载入按钮/上下步**
|
||||
- **关键设计**:每轮重发 reqMd + 最近 2 轮 history 做无状态上下文;AI 任何字段都允许更新、严禁生成脚本正文;reqLines 仅取非空字段 + 「未填由 AI 按人设自决」提示
|
||||
- **冒烟 CDP 坑**(3 轮迭代定稿):①querySelector('[data-create]') 命中背后列表按钮(弹窗内外同名 data-create)→ 必须 `.req-modal [data-create]` 限定;②Page.navigate 同 URL 不真正 reload 致旧弹窗叠加 → `?v=Date.now()` 强制 reload + `waitFor('!document.querySelector(".req-modal")')` 等清场
|
||||
- **冒烟脚本** `tmp/cdp-req-dialog-smoke.mjs`(4 步端到端 CDP 9224)= 结构/双轮真实 Dify 打磨/需求框递增/提交捕获(拦截 executeTask 验 label+skills+persona+reqRows+modalClosed),端到端 ~50s 全绿
|
||||
|
||||
## 创作技能关键规则(权威源:SKILL.md + references/创作流程规范.md)
|
||||
1. 三态创作:⚡自动(默认)=静默执行+只落最终交付物;🤝共创=+每确认门询问;🛠️开发=+每步全落盘。7确认门不可合并;角色边界(分析不做创作)
|
||||
2. 内容总监兜底所有质量检查点;文件 `scripts/{视频标题}/XX_阶段名.md`
|
||||
|
||||
Reference in new issue
Block a user