Files
yaoyaoai/scripts/nodejs/video_rewrite_optimizer.js
fengchuanhn@gmail.com c559cb1581 11
2026-05-18 08:52:36 +08:00

69 lines
2.4 KiB
JavaScript
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
"use strict";
/** 仿写提示词(对齐 zhenqianba VideoRewriteOptimizer */
class VideoRewriteOptimizer {
static replacePromptVariables(template, content) {
return String(template)
.replace(/\{\{content\}\}/g, content)
.replace(/\{content\}/g, content)
.replace(/\{\{text\}\}/g, content)
.replace(/\{text\}/g, content);
}
static getStyleGuide(style) {
const guides = {
casual: "轻松随意、接地气、易产生共鸣,像和朋友聊天一样",
professional: "正式专业、有信服力、适合商务或教育内容",
emotional: "充满情感、富有感染力、能打动人心",
humorous: "幽默诙谐、容易引起笑声和转发、保持积极态度",
};
return guides[style] || guides.casual;
}
static getLengthGuide(length) {
const guides = {
short: "简洁有力100字以内快速传达核心信息",
medium: "适中篇幅100-300字既能完整表达又不显冗长",
long: "详细深入300-500字充分展开论点和细节",
};
return guides[length] || guides.medium;
}
static buildDefaultPrompt(content, config) {
const cfg = config || {};
const styleGuide = this.getStyleGuide(cfg.style || "casual");
const lengthGuide = this.getLengthGuide(cfg.length || "medium");
return `你是一个专业的视频内容创意编写专家,擅长创作吸引人的视频文案。
## 原始文案:
${content}
## 仿写要求:
1. **风格**: ${styleGuide}
2. **长度**: ${lengthGuide}
3. **核心保持**: 保留原文案的核心信息和主题
4. **创意提升**: 在措辞、表述角度、情感吸引力上创新
5. **格式**:
${cfg.keepHashtags !== false ? "- 保留原有话题标签(#开头的内容)" : "- 不使用话题标签"}
${cfg.keepEmoji !== false ? "- 可以适当添加表情符号增加生动性" : "- 不使用表情符号"}
6. **禁止事项**:
- 不要改变事实信息
- 不要添加虚假承诺
- 不要包含敏感词汇
请直接输出仿写后的文案,不需要任何额外说明或标记。`;
}
static buildRewritePrompt(content, config = {}, customPrompt) {
// if (customPrompt && String(customPrompt).trim()) {
// return this.replacePromptVariables(customPrompt, content);
// }
// return this.buildDefaultPrompt(content, config);
return content;
}
}
module.exports = { VideoRewriteOptimizer };