fix(workbench): 复盘按钮按有无源脚本动态分支prompt——无源(输入选题/未解析视频)仅AI脚本评分,禁幻觉对比;查询失败保守沿用三模式(09-02)
This commit is contained in:
1 parent
e66488b530
commit
24358b2df3
2 files changed
+31
-9
No files matched your search
@@ -163,3 +163,8 @@
|
||||
## AI脚本诊断列表 生成方式列收拢两种取值(14:20)
|
||||
- 原 GEN 映射死代码(rewrite/new/abc→爆款视频创作/账号列表创作/ABC融合创作,后端 listRewrites 从不返回 genMethod,恒显示爆款视频创作)
|
||||
- 改为按 `rewrite_log.video_id>0` 判定:有参考视频(视频/详情页 AI创作入口,prompt 参考视频选题)=「参考选题」;无 video_id(账号列表 confirmAiScript 入口,手输/AI生成选题)=「输入选题」;删 GEN 常量。当前库 26 行全有 video_id → 全显示参考选题(如实)
|
||||
|
||||
## 复盘按钮 prompt 按有无源脚本动态分支(14:24)
|
||||
- 问题:复盘 prompt 固定要求「AI脚本/原视频脚本/对比分析三模式」,输入选题创作(video_id=0,无原视频脚本)或无源脚本视频会无对象可比 → AI 可能幻觉编造源脚本对比,污染 source/compare 数据
|
||||
- 落地:点击复盘/更新按钮时 async 查 `/api/dsh/video-script?videoId=N` 判 source 非空 → 有源=原三模式文案;无源(含 video_id=0)prompt/desc 改「仅 AI 脚本质量复盘评分(独立分析模式·10 维评分制),不做源脚本复盘与对比分析」+title 改「AI脚本复盘」;查询失败保守按有源(沿用原文案不误砍);dataset.lock 防 await 窗口期连点
|
||||
- 检查发现遗留风险:按钮复盘 prompt 不含脚本全文/标识(executeTask 不透传行数据),AI 会话定位脚本依赖会话侧库访问——若点击复盘常跑偏,根因在此需另行注入
|
||||
@@ -922,15 +922,32 @@ async function renderReviews(view) {
|
||||
bindPager(view, (p) => { page = p; render(); });
|
||||
view.querySelectorAll('[data-open]').forEach((a) => a.addEventListener('click', () => openScriptDetail(a.dataset.open)));
|
||||
view.querySelectorAll('[data-review]').forEach((a) => a.addEventListener('click', () => openReviewDetail(a.dataset.review)));
|
||||
view.querySelectorAll('[data-review-row]').forEach((b) => b.addEventListener('click', () => {
|
||||
confirmRun({
|
||||
title: '复盘评分',
|
||||
desc: '将对该 AI 脚本做复盘评分(AI脚本 / 原视频脚本 / 对比分析三种模式),按 mcn-script-review(脚本复盘)技能执行。',
|
||||
prompt: '请对这条 AI 脚本做复盘评分(AI脚本 / 原视频脚本 / 对比分析三种模式),按 mcn-script-review(脚本复盘)技能执行。',
|
||||
label: '复盘指令',
|
||||
skills: ['脚本复盘'],
|
||||
btn: b,
|
||||
});
|
||||
view.querySelectorAll('[data-review-row]').forEach((b) => b.addEventListener('click', async () => {
|
||||
if (b.dataset.lock) return; b.dataset.lock = '1'; // 防 await 窗口期重复点击
|
||||
try {
|
||||
// 按该脚本是否有原视频源脚本决定复盘范围:有 → 三模式;无(输入选题/视频未解析)→ 仅 AI 脚本评分
|
||||
const row = items.find((x) => String(x.id) === String(b.dataset.reviewRow));
|
||||
let hasSource = false;
|
||||
if (row && Number(row.video_id) > 0) {
|
||||
const vs = await api('/api/dsh/video-script?videoId=' + row.video_id).catch(() => ({ ok: false, error: 1 }));
|
||||
hasSource = !!(!vs.error && vs.ok && vs.source && String(vs.source).trim()); // 查询失败视为有源(沿用原文案,不误砍对比模式)
|
||||
}
|
||||
const [desc, prompt] = hasSource
|
||||
? ['将对该 AI 脚本做复盘评分(AI脚本 / 原视频脚本 / 对比分析三种模式),按 mcn-script-review(脚本复盘)技能执行。',
|
||||
'请对这条 AI 脚本做复盘评分(AI脚本 / 原视频脚本 / 对比分析三种模式),按 mcn-script-review(脚本复盘)技能执行。']
|
||||
: ['将对该 AI 脚本做质量复盘评分(该脚本无原视频脚本,仅评 AI 脚本:独立分析模式·10 维评分制),按 mcn-script-review(脚本复盘)技能执行。',
|
||||
'请对这条 AI 脚本做质量复盘评分(独立分析模式·10 维评分制)。该脚本无原视频脚本,只评 AI 脚本本身,不做源脚本复盘、不做对比分析,按 mcn-script-review(脚本复盘)技能执行。'];
|
||||
confirmRun({
|
||||
title: hasSource ? '复盘评分' : 'AI脚本复盘',
|
||||
desc,
|
||||
prompt,
|
||||
label: '复盘指令',
|
||||
skills: ['脚本复盘'],
|
||||
btn: b,
|
||||
});
|
||||
} finally {
|
||||
delete b.dataset.lock;
|
||||
}
|
||||
}));
|
||||
};
|
||||
render();
|
||||
|
||||
Reference in new issue
Block a user