fix(workshop): 提炼账号设定/生成分镜/复盘三入口prompt统一加技能前缀(提示词与技能边界分离)
- 新增 SKILL_HINT_EXTRACT(mcn-dou-analysis功能三)/SKILL_HINT_STORYBOARD(mcn-video-prompt F4)/SKILL_HINT_REVIEW(脚本复盘) 三常量,与 SKILL_HINT_CREATE 同层管理 - 三处调用点(提炼confirmRun/生成分镜confirmRun/复盘startReview)改为前缀+业务正文拼接,技能声明不再混写进业务字符串 - 复盘按钮 desc/prompt 按有无源脚本动态分支,提示词仅保留用户可见摘要 - EXTRACT 文案规避 server.js BROWSER_HINT 正则命中(不执行数据抓取流程字样) - 验证: node --check 通过; 四前缀均不命中 BROWSER_HINT 正则; 服务端 JS 已含全部常量
This commit is contained in:
1 parent
c7777322e2
commit
d32492ee8a
1 file changed
+15
-6
@@ -5,6 +5,15 @@
|
|||||||
/* AI创作技能指令(09-01 修复:任务必须按「短视频脚本创作」技能执行,禁止模型自由发挥导致分镜表格/TXT/MD 格式混杂。
|
/* AI创作技能指令(09-01 修复:任务必须按「短视频脚本创作」技能执行,禁止模型自由发挥导致分镜表格/TXT/MD 格式混杂。
|
||||||
定位方式跨环境:优先用 Skill 工具按技能名加载;技能位于用户技能目录 ~/.workbuddy/skills/短视频脚本创作/(部署到用户环境时同此标准位),不写死机器绝对路径 */
|
定位方式跨环境:优先用 Skill 工具按技能名加载;技能位于用户技能目录 ~/.workbuddy/skills/短视频脚本创作/(部署到用户环境时同此标准位),不写死机器绝对路径 */
|
||||||
const SKILL_HINT_CREATE = '请调用 Skill 工具加载「短视频脚本创作」技能(技能根目录 = 用户技能目录 ~/.workbuddy/skills/短视频脚本创作/,先读取其 SKILL.md 及 references 规范;若 Skill 工具无法加载,请直接读取该目录下的 SKILL.md 文件)。本任务以技能 ⚡自动模式 执行:严格按 SKILL.md 的 S1-S11 步骤顺序逐步走完完整创作流程(选题→框架→大纲→情绪→结构→脚本)——中间步骤后台静默 = 各步产物在对话上下文中按序完整产出但不逐个展示,禁止跳过或合并中间步骤一步直出成品。最终输出 S9 标准脚本格式(按场次+对白组织,画面标注【景别|环境|光线|场景|场景元素】),禁止输出分镜头表格、禁止偏离脚本格式。创作时必须逐条读取并严格执行 SKILL.md 的「开场钩子铁律」与【账号设定】的「内容规则」(如果…则…)——二者为硬约束,不得自由发挥、不得跳过,具体标准一律以 SKILL.md 与内容规则原文为准。';
|
const SKILL_HINT_CREATE = '请调用 Skill 工具加载「短视频脚本创作」技能(技能根目录 = 用户技能目录 ~/.workbuddy/skills/短视频脚本创作/,先读取其 SKILL.md 及 references 规范;若 Skill 工具无法加载,请直接读取该目录下的 SKILL.md 文件)。本任务以技能 ⚡自动模式 执行:严格按 SKILL.md 的 S1-S11 步骤顺序逐步走完完整创作流程(选题→框架→大纲→情绪→结构→脚本)——中间步骤后台静默 = 各步产物在对话上下文中按序完整产出但不逐个展示,禁止跳过或合并中间步骤一步直出成品。最终输出 S9 标准脚本格式(按场次+对白组织,画面标注【景别|环境|光线|场景|场景元素】),禁止输出分镜头表格、禁止偏离脚本格式。创作时必须逐条读取并严格执行 SKILL.md 的「开场钩子铁律」与【账号设定】的「内容规则」(如果…则…)——二者为硬约束,不得自由发挥、不得跳过,具体标准一律以 SKILL.md 与内容规则原文为准。';
|
||||||
|
/* 提炼账号设定技能声明(09-02 修复:原为裸 prompt,且不可复用 SKILL_HINT_ACCOUNT——后者写死 F1/F2 浏览器抓取流程,
|
||||||
|
提炼是 mcn-dou-analysis 功能三「基于视频解析生成人设卡」,复用会把任务带偏去执行浏览器流程) */
|
||||||
|
const SKILL_HINT_EXTRACT = '请调用 Skill 工具加载「mcn-dou-analysis」技能(技能根目录 = 用户技能目录 ~/.workbuddy/skills/短视频脚本创作/subskills/mcn-dou-analysis/,先读取其 SKILL.md 及 references 规范;若 Skill 工具无法加载,请直接读取该目录下的 SKILL.md 文件)。本任务为技能功能三「提炼账号设定」:先读 SKILL.md「功能总览」定位功能三,再按 references/feature/03_提炼账号设定.md 与 references/人设卡生成方法.md 执行——先判定账号类型,基于该账号已有的视频 MCP 解析数据,按人设卡统一 12 段结构生成账号设定(聚焦内容创作维度:内容基因/打法/情绪/视听/规则/差异化壁垒,不含商业化变现分析;数据复用遵循技能「已有数据处理规则」)。技能边界:产出止步于账号设定人设卡文件({达人昵称}账号设定.md);禁止生成或改写脚本(属「短视频脚本创作」技能 S1-S11 流程);本任务不执行任何数据抓取流程,仅基于库中已有解析数据做分析提炼。';
|
||||||
|
/* 生成分镜提示词技能声明(09-02 修复:原为裸 prompt 且表述模糊「按分镜技能生成镜头级描述」,无技能加载指令,
|
||||||
|
模型可能自创格式;分镜技能 F4 有严格时间戳分段/实体绑定/6层结构规则) */
|
||||||
|
const SKILL_HINT_STORYBOARD = '请调用 Skill 工具加载「短视频分镜脚本」技能(技能根目录 = 用户技能目录 ~/.workbuddy/skills/短视频脚本创作/subskills/mcn-video-prompt/,先读取其 SKILL.md 及 references 规范;若 Skill 工具无法加载,请直接读取该目录下的 SKILL.md 文件)。本任务为技能 F4「生成分镜提示词」(脚本→分镜):严格按技能 F4 流程与输出格式执行(references/制作流程:时间戳分段+智能分段策略;实体绑定属性跟随实体、独立字段只放全局项;6 层结构),产出分镜提示词序列。技能边界:只产出分镜提示词,禁止改写/重写输入的脚本正文,禁止输出脚本本身。';
|
||||||
|
/* 脚本复盘技能声明(09-02 修复:原技能声明混写在业务 prompt 字符串内,拆出独立前缀统一管理;
|
||||||
|
复盘技能=只分析不改写,且工作台复盘必须独立会话一条脚本一上下文) */
|
||||||
|
const SKILL_HINT_REVIEW = '请调用 Skill 工具加载「脚本复盘」技能(技能根目录 = 用户技能目录 ~/.workbuddy/skills/短视频脚本创作/subskills/mcn-script-review/,先读取其 SKILL.md 及 references 规范;若 Skill 工具无法加载,请直接读取该目录下的 SKILL.md 文件)。本任务为工作台复盘任务:严格按技能执行方式判定与复盘流程执行(评分式复盘/对比分析模式由任务说明指定;一条脚本=一个独立上下文,禁止混审多条脚本)。技能边界:只做分析与建议,不修改脚本、不触发创作流程、不改动任何技能文件。';
|
||||||
|
|
||||||
const fmt = (v) => (v == null || v === '') ? '-' : String(v);
|
const fmt = (v) => (v == null || v === '') ? '-' : String(v);
|
||||||
/* 过万数字以"万"为单位,保留一位小数(如 57141 → 5.7万);已是"x.x万"文本(like_display 抖音原生格式)直接透传(09-01 修复:旧实现 Number('7.8万')=NaN→'-') */
|
/* 过万数字以"万"为单位,保留一位小数(如 57141 → 5.7万);已是"x.x万"文本(like_display 抖音原生格式)直接透传(09-01 修复:旧实现 Number('7.8万')=NaN→'-') */
|
||||||
@@ -720,7 +729,7 @@ async function renderAccountDetail(view, id) {
|
|||||||
title: '提炼账号设定',
|
title: '提炼账号设定',
|
||||||
desc: '将为达人提炼账号设定(生成人设卡)。',
|
desc: '将为达人提炼账号设定(生成人设卡)。',
|
||||||
target: acc.account_name,
|
target: acc.account_name,
|
||||||
prompt: `请为达人「${acc.account_name}」提炼账号设定(生成人设卡)。`,
|
prompt: `${SKILL_HINT_EXTRACT}\n请为达人「${acc.account_name}」提炼账号设定(生成人设卡)。`,
|
||||||
label: '提炼指令',
|
label: '提炼指令',
|
||||||
skills: ['mcn-dou-analysis'],
|
skills: ['mcn-dou-analysis'],
|
||||||
btn: exBtn,
|
btn: exBtn,
|
||||||
@@ -995,7 +1004,7 @@ async function renderRewrites(view) {
|
|||||||
title: regenerate ? '重新生成分镜' : '生成分镜',
|
title: regenerate ? '重新生成分镜' : '生成分镜',
|
||||||
desc: '将基于该 AI 脚本(AI 创作的故事脚本),展开成 AI 分镜提示词(按分镜技能生成镜头级描述)。',
|
desc: '将基于该 AI 脚本(AI 创作的故事脚本),展开成 AI 分镜提示词(按分镜技能生成镜头级描述)。',
|
||||||
target: `《${title}》`,
|
target: `《${title}》`,
|
||||||
prompt: `请将视频《${title}》的 AI 脚本${regenerate ? '重新' : ''}展开成 AI 分镜提示词(按分镜技能生成镜头级描述)。`,
|
prompt: `${SKILL_HINT_STORYBOARD}\n请将视频《${title}》的 AI 脚本${regenerate ? '重新' : ''}展开成 AI 分镜提示词(F4 生成分镜,镜头级描述)。`,
|
||||||
label: '分镜指令',
|
label: '分镜指令',
|
||||||
skills: ['短视频分镜脚本'],
|
skills: ['短视频分镜脚本'],
|
||||||
btn,
|
btn,
|
||||||
@@ -1114,10 +1123,10 @@ async function renderReviews(view) {
|
|||||||
hasSource = !!(!vs.error && vs.ok && vs.source && String(vs.source).trim()); // 查询失败视为有源(沿用原文案,不误砍对比模式)
|
hasSource = !!(!vs.error && vs.ok && vs.source && String(vs.source).trim()); // 查询失败视为有源(沿用原文案,不误砍对比模式)
|
||||||
}
|
}
|
||||||
const [desc, prompt] = hasSource
|
const [desc, prompt] = hasSource
|
||||||
? ['将对该 AI 脚本做复盘评分(AI脚本 / 原视频脚本 / 对比分析三种模式),按 mcn-script-review(脚本复盘)技能执行。',
|
? ['将对该 AI 脚本做复盘评分(AI脚本 / 原视频脚本 / 对比分析三种模式)。',
|
||||||
'请对这条 AI 脚本做复盘评分(AI脚本 / 原视频脚本 / 对比分析三种模式),按 mcn-script-review(脚本复盘)技能执行。']
|
`${SKILL_HINT_REVIEW}\n请对这条 AI 脚本做复盘评分(AI脚本 / 原视频脚本 / 对比分析三种模式)。`]
|
||||||
: ['将对该 AI 脚本做质量复盘评分(该脚本无原视频脚本,仅评 AI 脚本:独立分析模式·10 维评分制),按 mcn-script-review(脚本复盘)技能执行。',
|
: ['将对该 AI 脚本做质量复盘评分(该脚本无原视频脚本,仅评 AI 脚本:独立分析模式·10 维评分制)。',
|
||||||
'请对这条 AI 脚本做质量复盘评分(独立分析模式·10 维评分制)。该脚本无原视频脚本,只评 AI 脚本本身,不做源脚本复盘、不做对比分析,按 mcn-script-review(脚本复盘)技能执行。'];
|
`${SKILL_HINT_REVIEW}\n请对这条 AI 脚本做质量复盘评分(独立分析模式·10 维评分制)。该脚本无原视频脚本,只评 AI 脚本本身,不做源脚本复盘、不做对比分析。`];
|
||||||
confirmRun({
|
confirmRun({
|
||||||
title: hasSource ? '复盘评分' : 'AI脚本复盘',
|
title: hasSource ? '复盘评分' : 'AI脚本复盘',
|
||||||
desc,
|
desc,
|
||||||
|
|||||||
Reference in new issue
Block a user