feat(workshop): AI创作弹窗时长改功能选项下拉(30/60/120/240/自定义,移出需求栏) + 一句话创意与选题改名一句话创意

This commit is contained in:
maogeigei committed 2026-09-02 18:28:22 +08:00
1 parent 3be2ff152d
commit 17acaf1740
3 files changed
+50 -11

No files matched your search

@@ -652,7 +652,7 @@ const server = http.createServer((req, res) => {
}
// ---------- AI 创作需求打磨(09-02 弹窗内对话:Dify chat-messages 同步、无状态多轮) ----------
// body: { accountName, turn(本轮输入), reqMd(当前需求6行md), history(最近轮[{u,a}]) } → { answer }
// body: { accountName, turn(本轮输入), reqMd(当前需求5行md), history(最近轮[{u,a}]) } → { answer }
if (p === '/api/ai/clarify' && req.method === 'POST') {
let body = '';
req.on('data', (c) => { body += c; if (body.length > 1e6) req.destroy(); });
@@ -704,8 +704,8 @@ const server = http.createServer((req, res) => {
+ '3. 若信息已基本齐备:用一两句话总结并提示用户可点击「提交创作」。\n'
+ '4. 输出必须严格分两段:第一段是对用户说的话(120 字以内,含必要时的问题);\n'
+ '然后另起一行单独输出 ==REQ==;\n'
+ '接着输出 6 行需求清单(仍未确定的项留空值,严禁编造),模板:\n'
+ '- 一句话创意与选题:\n- 叙事形态:\n- 时长目标:\n- 核心情节:\n- 结尾落点:\n- 其他约束:\n'
+ '接着输出 5 行需求清单(仍未确定的项留空值,严禁编造),模板:\n'
+ '- 一句话创意:\n- 叙事形态:\n- 核心情节:\n- 结尾落点:\n- 其他约束:\n'
+ '5. 需求框只收集本条视频的选题相关信息;账号级设定(情绪基调 / 目标受众 / 结构性符号 / 广告植入等)已由账号设定自动带入创作,不要向达人重复询问这些维度——仅当达人主动提出与账号设定不同的要求时,将其记入「其他约束」。';
// 4) Dify blocking 调用
const difyUrl = String(process.env.DIFY_URL || 'https://mydify.youmanvideo.com/v1').replace(/\/+$/, '');