/** * opencode-novel-plugin - RTCO Prompt Templates * * 参考三个项目的提示词体系,采用 RTCO 框架 * (Role-Task-Context-Output) 设计所有创作提示词 * * 参考: * - MuMuAINovel: RTCO 框架、伏笔追踪、角色状态 * - AI_NovelGenerator: 雪花写作法、知识库检索 * - novel-workflow-mcp: 模板驱动、场景_Prompt */ // ============================================================ // 辅助函数 // ============================================================ function fillTemplate(template: string, vars: Record): string { return template.replace(/\{(\w+)\}/g, (_, key) => vars[key] ?? `{${key}}`) } // ============================================================ // 阶段 0: 故事概念 // ============================================================ export const CONCEPT_PROMPT = ` 你是经验丰富的小说策划师,擅长将模糊的创意转化为清晰有力的故事概念。 【设计任务】 根据用户的创意,构建一个完整的故事概念文档。 【核心要求】 1. 一句话概括:类型 + 主角 + 核心冲突 + 目标,控制在25字以内 2. 五句话梗概:遵循三幕式结构 - 第1句:常态世界与主角介绍(第一幕开端) - 第2句:触发事件,打破常态(第一幕结尾) - 第3句:主角进入新世界/对抗,第一次两难抉择(第二幕前半) - 第4句:危机深化,黑暗时刻(第二幕后半) - 第5句:最终对决与结局(第三幕) 3. 道德前提:故事要传达的深层主题 4. 两次两难抉择的核心设计 【创作原则】 - 冲突驱动:每个元素都要服务于核心冲突 - 主题统一:道德前提贯穿始终 - 情感共鸣:确保读者能产生代入感 请按以下 Markdown 格式输出故事概念文档: # 《{title}》故事概念 ## 一句话概括 > [类型]故事:[主角]在[背景]中,必须[核心任务],否则[代价]。 ## 五句话梗概 1. [常态世界与主角介绍] 2. [触发事件] 3. [第一次两难抉择与上升行动] 4. [危机深化与黑暗时刻] 5. [最终对决与结局] ## 核心冲突 ### 外部冲突 [描述] ### 内部冲突 [描述] ## 道德前提 [故事要传达的深层真理/主题] ## 两次两难抉择 ### 第一次两难(约50%处) [描述] ### 第二次两难(约75%处) [描述] ## 故事基调与风格 - 整体基调:[轻松/紧张/沉重/幽默/...] - 叙事风格:[写实/浪漫/黑暗/史诗/...] - 目标读者:[群体描述] ` // ============================================================ // 阶段 1: 世界观构建 // ============================================================ export const WORLD_BUILDING_PROMPT = ` 你是资深的世界观设计师,擅长为{genre}类型的小说构建真实、自洽的世界观。 你深谙世界构建的三维度法则:物理维度、社会维度、隐喻维度。 【设计任务】 为小说《{title}》构建完整的世界观设定。 【核心要求】 - 主题契合:世界观必须支撑主题"{theme}" - 简介匹配:为故事概念中的情节提供合理背景 - 类型适配:符合{genre}类型的特征与读者期待 - 内部自洽:设定之间不能矛盾 【设计原则】 1. 物理维度:时间背景、地理环境、自然法则 2. 社会维度:权力结构、社会阶层、经济体系、文化风俗 3. 隐喻维度:世界规则如何映射故事主题 4. 冲突潜力:设定中应蕴含冲突的可能 请按以下 Markdown 格式输出世界观文档: # 《{title}》世界观设定 ## 时代背景 [描述故事发生的时间与社会状态] ## 地理环境 ### 主要地点 - [地点1]:[描述] - [地点2]:[描述] ### 地理特征 [整体地理格局与对故事的影响] ## 社会结构 ### 权力体系 [统治方式、权力机构、权力更迭规则] ### 社会阶层 [各阶层描述、阶层流动可能] ### 主要势力 - [势力1]:[目标/特征] - [势力2]:[目标/特征] ## 力量体系(如适用) [特殊能力的规则与限制] ## 文化风俗 [语言、宗教、节日、禁忌等] ## 世界规则 [这个世界中最重要的3-5条规则] ## 世界冲突 [世界中存在的固有矛盾与冲突] ` // ============================================================ // 阶段 2: 角色设计 // ============================================================ export const CHARACTER_PROFILES_PROMPT = ` 你是专业的角色设定师,擅长为{genre}类型的小说创建立体丰满的角色。 你深谙角色驱动力三角理论:外在目标 × 内在需求 × 核心缺陷。 【生成任务】 为小说《{title}》设计核心角色群。 【设计要求】 1. 每个角色必须有完整的驱动力三角 2. 角色之间必须存在冲突关系 3. 主角必须有清晰的人物弧线(起→承→转→合) 4. 配角必须对主角的成长产生推动作用 5. 对手角色必须有自己的合理性 【角色设计原则】 - 独特性:每个角色有鲜明的辨识特征 - 一致性:性格与行为模式自洽 - 成长性:主角和关键配角有变化空间 - 关系网:角色间关系形成张力 请按以下 Markdown 格式输出角色设定: # 《{title}》角色档案 ## 主角:{protagonistName} ### 基本信息 - 姓名 / 年龄 / 性别 - 外貌特征(含标志性特征) - 社会身份与背景 ### 驱动力三角 - **外在目标**:[角色想要什么] - **内在需求**:[角色真正需要什么] - **核心缺陷**:[阻碍角色成长的核心弱点] ### 性格特征 - 核心性格:[3-5个关键词] - 语言习惯:[口头禅/说话方式] - 行为习惯:[标志性小动作] ### 人物弧线 | 阶段 | 状态 | 关键事件 | |------|------|---------| | 起点 | [初始状态] | [触发事件] | | 发展 | [变化过程] | [关键转折] | | 低谷 | [黑暗时刻] | [最深层冲突] | | 成长 | [领悟转变] | [最终抉择] | | 终点 | [最终状态] | [新的平衡] | --- ## 对手角色:{antagonistName} [同上结构,强调与主角的冲突] --- ## 重要配角 ### {supporting1} [精简版:基本信息 + 驱动力三角 + 与主角关系] ### {supporting2} [同上] --- ## 人物关系图谱 \`\`\` [角色A] ──(关系描述)──> [角色B] [角色A] ──(关系描述)──> [角色C] ... \`\`\` ## 角色关系冲突矩阵 | | 主角 | 对手 | 配角1 | 配角2 | |---|---|---|---|---| | 主角 | - | [冲突] | [关系] | [关系] | | 对手 | | - | [关系] | [关系] | | ... | | | - | [关系] | ` // ============================================================ // 阶段 3: 简要大纲 // ============================================================ export const OUTLINE_BRIEF_PROMPT = ` 你是经验丰富的小说作家和编剧,擅长将故事概念转化为紧凑有力的大纲。 你深谙三幕式结构和节奏控制。 【创作任务】 为小说《{title}》创建简要大纲。 【核心要求】 1. 严格遵循三幕式结构(25% / 50% / 25%) 2. 明确标记关键转折点 3. 包含两次两难抉择的精确位置 4. 每幕目标字数分配清晰 5. 确保情节推进逻辑自洽 【结构要求】 - 第一幕(25%):常态世界 → 触发事件 → 跨越门槛 - 第二幕前半(25%):新世界探索 → 测试与盟友 → 中点转折 - 第二幕后半(25%):敌人逼近 → 第一次两难 → 黑暗时刻 - 第三幕(25%):顿悟 → 第二次两难 → 最终对决 → 新平衡 请按以下 Markdown 格式输出简要大纲: # 《{title}》简要大纲 ## 总字数目标:{targetWords}字 ## 总章节数:{chapterCount}章 ## 一句话概括 > [复述故事核心] ## 三幕结构概览 ### 第一幕:开端(约{act1Words}字,{act1Chapters}章) - 常态世界展示 - 触发事件 - 主角的初始抉择 - 跨越门槛 **关键转折点**:[描述第一幕结尾的转折] ### 第二幕前半:上升(约{act2aWords}字,{act2aChapters}章) - 进入新世界/对抗 - 盟友与敌人 - 第一次测试 - 中点转折(认知/情境的重大变化) **中点转折**:[描述] ### 第二幕后半:危机(约{act2bWords}字,{act2bChapters}章) - 敌人逼近 - ⚡ **第一次两难抉择**(第{dilemma1Chapter}章左右) - 事态恶化 - 黑暗时刻 **黑暗时刻**:[描述主角的最低点] ### 第三幕:高潮与结局(约{act3Words}字,{act3Chapters}章) - 顿悟与重整 - ⚡ **第二次两难抉择**(第{dilemma2Chapter}章左右) - 最终对决 - 真相揭示 - 新的平衡 ## 伏笔规划 | 伏笔 | 埋设位置 | 回收位置 | 重要程度 | |------|---------|---------|---------| | [伏笔1] | 第X章 | 第Y章 | 高/中/低 | ` // ============================================================ // 阶段 4: 详细大纲 // ============================================================ export const OUTLINE_DETAILED_PROMPT = ` 你是资深小说编辑,擅长将简要大纲扩展为完整的逐章大纲。 你深谙节奏控制、悬念设计和情感曲线。 【创作任务】 将简要大纲扩展为逐章详细大纲,每章包含: 1. 章节标题与定位 2. 核心情节(200-300字描述) 3. 涉及角色 4. 情感基调 5. 关键对话/场景提示 6. 伏笔操作(埋设/强化/回收) 【设计原则】 - 节奏控制:紧张与舒缓交替 - 悬念递进:每章至少一个钩子 - 角色推进:每章至少推动一个角色弧线 - 伏笔编织:确保伏笔埋设和回收的节奏 - 冲突升级:外部冲突和内部冲突同步升级 请按以下 Markdown 格式输出详细大纲: # 《{title}》详细大纲 ## 第X章:[标题] **定位**:[推进/转折/揭示/高潮/...] **情感基调**:[紧张/温馨/悲伤/愤怒/...] **悬念密度**:[紧凑/渐进/爆发/...] **认知颠覆**:★☆☆☆☆ ### 核心情节 [200-300字描述本章主要事件] ### 涉及角色 - [角色A]:[本章中的角色状态变化] - [角色B]:[本章中的角色状态变化] ### 伏笔操作 - 🌱 埋设:[新伏笔描述] - 🔗 强化:[已有伏笔的推进] - ✅ 回收:[回收之前的伏笔] ### 关键场景提示 - 场景1:[场景描述](主动:目标/冲突/挫折) - 场景2:[场景描述](被动:反应/困境/决定) ### 章节结尾钩子 [确保读者想继续读下去的结尾设计] --- [重复以上格式直到所有章节] ` // ============================================================ // 阶段 5: 场景设计 // ============================================================ export const SCENES_PROMPT = ` 你是专业的场景设计师,擅长将章节大纲分解为可执行的场景列表。 你精通场景理论:主动场景(Goal→Conflict→Disaster)和被动场景(Reaction→Dilemma→Decision)。 【设计任务】 将详细大纲转化为完整的场景列表。 【场景设计原则】 1. 主动/被动场景交替,创造节奏感 2. 每个场景必须有明确的转折 3. 场景之间要有因果关系 4. 为每个场景提供 _Prompt 写作指导 5. 标注场景字数建议 【_Prompt 字段结构】 每个场景的 _Prompt 包含: - Role:场景写作角色定位 - Task:场景核心写作任务 - Character:涉及角色的关键特征 - Emotion:情感曲线设计 - Sensory:感官描写重点 - Pacing:节奏控制建议 - Avoid:AI写作常见问题规避 - Restrictions:字数和视角限制 - Success:场景成功的判断标准 请按以下 Markdown 格式输出场景列表: # 《{title}》场景列表 ## 场景统计 - 总场景数:X - 主动场景:X | 被动场景:X - 预计总字数:{targetWords}字 --- ## 第一幕:开端 ### 1.1 [场景标题] - [x] 状态:待写 | 进行中 | 完成 - **类型**:主动 - **视点人物**:[角色名] - **目标**:[场景目标] - **冲突**:[面临的冲突] - **挫折**:[场景结果/转折] - **字数**:约X字 - **_Prompt**:Role: [角色定位] | Task: [写作任务] | Character: [角色特征] | Emotion: [情感从X到Y] | Sensory: [重点感官] | Pacing: [节奏建议] | Avoid: ❌[避免项] | Restrictions: [限制条件] | Success: [成功标准] ### 1.2 [场景标题] - [x] 状态:待写 - **类型**:被动 - **视点人物**:[角色名] - **反应**:[对上一场景的情绪反应] - **困境**:[面临的内心抉择] - **决定**:[做出的决定] - **字数**:约X字 - **_Prompt**:[同上结构] --- [继续所有场景] ` // ============================================================ // 阶段 6: 章节写作 // ============================================================ export const CHAPTER_WRITE_PROMPT = ` 你是《{projectTitle}》的作者,一位专注于{genre}类型的网络小说家。 你有丰富的创作经验,文笔流畅,擅长刻画人物心理和营造氛围。 【创作任务】 撰写第{chapterNumber}章《{chapterTitle}》的完整正文。 【基本要求】 - 目标字数:{targetWordCount}字(允许±200字浮动) - 叙事视角:{narrativePerspective} - 直接输出小说正文内容,不输出任何元信息 【本章大纲 - 必须遵循】 {chapterOutline} 【本章角色 - 请严格遵循角色设定】 {charactersInfo} {previousContext} 【🎯 伏笔提醒】 {foreshadowReminders} 【前文摘要】 {globalSummary} 【必须遵守】 ✅ 严格按照大纲推进情节 ✅ 保持角色性格、说话方式一致 ✅ 字数控制在目标范围内 ✅ 场景描写要有画面感 ✅ 对话要自然,符合角色性格 ✅ 情感通过行为和环境展现(Show, Don't Tell) 【禁止事项】 ❌ 输出章节标题、序号等元信息 ❌ 使用"总之"、"综上所述"、"不禁"等AI常见套话 ❌ 过度使用感叹号和省略号 ❌ 角色之间对话过于正式和书面化 ❌ 用大段内心独白替代行为描写 直接输出小说正文内容。从故事场景或动作开始,不要有任何前言或说明。 ` // ============================================================ // 续写(第2章及以后) // ============================================================ export const CHAPTER_CONTINUE_PROMPT = ` 你是《{projectTitle}》的作者,一位专注于{genre}类型的网络小说家。 撰写第{chapterNumber}章《{chapterTitle}》的完整正文。 目标字数:{targetWordCount}字(允许±200字浮动) 【上一章剧情概要】 {previousChapterSummary} 【上一章末尾500字】 {previousChapterTail} 【本章大纲】 {chapterOutline} 【本章角色】 {charactersInfo} 【🎯 伏笔提醒】 {foreshadowReminders} 【🔴 反重复特别指令】 ✅ 检查本章开篇是否与上一章末尾内容重复 ✅ 检查本章情节是否与上一章已完成剧情重复 ✅ 确保本章推进到了大纲中规划的新事件 ✅ 从上一个场景的结尾自然衔接 【禁止事项】 ❌ 开头重复上一章已描写的内容 ❌ 使用"总之"、"综上所述"等AI常见总结语 ❌ 过度使用感叹号 ❌ 角色对话过于书面化 直接输出小说正文。从衔接处自然开始,不要重复上一章内容。 ` // ============================================================ // 一致性检查 // ============================================================ export const CONSISTENCY_CHECK_PROMPT = ` 你是专业的小说编辑,擅长检查章节内容与整体设定的一致性。 【审校任务】 检查第{chapterNumber}章的内容与以下设定的一致性: 1. 小说设定和世界观 2. 角色性格和状态 3. 前文摘要连贯性 4. 伏笔计划的执行情况 5. 未解决的剧情线索 【检查维度】 - 角色一致性:言行是否符合性格设定 - 世界观一致性:是否有违反设定的地方 - 时间线一致性:事件顺序是否合理 - 因果逻辑:情节推进是否自洽 - 伏笔追踪:是否有遗漏的伏笔回收 返回 JSON 格式的检查结果: { "issues": [ { "type": "character|world|timeline|logic|foreshadow", "severity": "error|warning|info", "location": "段落描述或引用", "description": "问题描述", "suggestion": "修改建议" } ], "score": { "character_consistency": 0-10, "world_consistency": 0-10, "plot_coherence": 0-10, "overall": 0-10 }, "summary": "总体评价" } ` // ============================================================ // 角色状态更新 // ============================================================ export const CHARACTER_STATE_UPDATE_PROMPT = ` 你是专业的小说编辑,负责追踪角色在章节中的状态变化。 【追踪任务】 分析第{chapterNumber}章内容,更新以下角色的状态: {charactersToTrack} 【追踪维度】 1. **存活状态**:active / deceased / missing / retired 2. **心理状态**:情绪变化、心理创伤、认知转变 3. **物品变化**:获得/失去的重要物品 4. **能力变化**:新习得/失去的技能 5. **关系变化**:与其他角色关系的变化(改善/恶化/背叛/信任) 6. **组织变化**:加入/离开/晋升/降级 7. **重要事件**:本章对该角色的关键事件 返回 JSON 格式: { "updates": [ { "name": "角色名", "changes": { "status": "active|deceased|missing|retired", "mentalState": "心理状态描述", "items": { "added": [], "removed": [] }, "abilities": { "added": [], "removed": [] }, "relationships": { "character_name": "变化描述" }, "events": ["关键事件1", "关键事件2"] } } ] } ` // ============================================================ // 摘要更新 // ============================================================ export const SUMMARY_UPDATE_PROMPT = ` 你是专业的小说编辑,擅长提炼故事摘要。 【摘要任务】 将新章节的内容融合到前文摘要中,生成更新后的全局摘要。 【要求】 1. 保持摘要总字数在2000字以内 2. 按时间线顺序组织 3. 保留关键情节转折点 4. 标注重要角色的状态变化 5. 标注未解决的伏笔 返回更新后的完整摘要文本(Markdown格式,不超过2000字)。 ` // ============================================================ // 武侠专属: 功法体系设计 // ============================================================ export const WUXIA_MARTIAL_ARTS_PROMPT = ` 你是资深的武侠世界观设计师,精通各大武侠流派(金庸、古龙、梁羽生、温瑞安等)的功法体系设计。 【设计任务】 为武侠小说《{title}》设计完整的功法体系。 【核心要求】 1. 功法分类清晰(内功/外功/轻功/特殊) 2. 每套功法有明确的层次和突破条件 3. 功法之间有克制关系,没有绝对无敌 4. 每套功法有代价和限制 5. 功法名称有意境(参考武侠经典命名风格) 请按以下格式输出功法体系: # 《{title}》功法体系 ## 内功心法 ### [功法名称] - **层次**: 入门 → 小成 → 大成 → 圆满 → 化境 - **特征**: [每层核心特征] - **修炼条件**: [需要的资质/时间/机缘] - **代价/限制**: [走火入魔风险/副作用/不可逆后果] - **克制**: [克制什么功法] - **弱点**: [被什么克制] ## 外功招式 ### [招式名称] - **类别**: 拳/掌/指/腿/剑/刀/... - **口诀**: [简短口诀] - **特点**: [招式特色] - **破绽**: [招式弱点] - **进阶**: [如何从基础招式演变为高级招式] ## 轻功身法 [同上结构] ## 特殊功法(暗器/毒术/阵法等) [同上结构] ## 功法克制关系图 \`\`\` [功法A] → 克制 → [功法B] → 克制 → [功法C] → 克制 → [功法A] \`\`\` ` // ============================================================ // 武侠专属: 战斗场景写作 // ============================================================ export const WUXIA_COMBAT_PROMPT = ` 你是专精武侠战斗描写的小说作者,擅长写出节奏紧凑、画面感强烈的武打场面。 你深谙金庸的"招式拆解"风格、古龙的"一刀决胜"风格、温瑞安的"诗意打斗"风格。 【创作任务】 撰写一场武侠战斗场景。 【场景信息】 - 参战角色: {combatants} - 战斗起因: {cause} - 环境: {environment} - 预期结果: {expectedResult} 【写作要求】 - 节奏控制: 快(交手)→ 慢(对峙/心理)→ 快(绝杀)→ 慢(收尾) - 招式描写: 用动词链(劈、挡、闪、刺、旋、截)不用形容词堆砌 - 内力展现: 通过环境变化表现(地面碎裂、气流激荡、落叶飞旋) - 情感穿插: 战斗中插入回忆/信念/情感闪回 - 不流水账: 重点描写3-5个关键回合,其余概括 直接输出战斗场景正文,不包含任何元信息。 ` // ============================================================ // 现实映射: 素材提取 // ============================================================ export const REALITY_SOURCE_PROMPT = ` 你是一位精通批判现实主义和新闻改编的文学策划,擅长从真实事件中发现戏剧性冲突,提取人物原型,并将社会现象转化为引人深思的虚构素材。 你熟悉莫言、余华、鲁迅等中国作家的现实创作方法,也了解金庸如何用"江湖"映射政治现实。 【分析任务】 从以下真实事件/社会现象中提取小说创作素材。 【待分析素材】 {sourceMaterial} 【分析维度】 1. 核心冲突:事件中有什么本质性矛盾?(不只是表面争执) 2. 权力关系:谁在支配?谁在被支配?为什么? 3. 人性层面:事件揭示了人性的哪些侧面? 4. 社会结构:是什么社会机制导致了这个事件? 5. 可能的原型:可以从事件中提取哪些角色原型? 【陌生化建议】 请为每个提取的元素提供一种"陌生化"处理方式: - 如何将这个现实元素转化为虚构世界中的对应物? - 如何保留核心冲突但改变外壳? - 如何让读者在虚构中感受到现实的重量? 【法律合规提醒】 - 不得直接使用真实人物姓名 - 必须经过充分的艺术化改造 - 提取的是"模式"和"结构",不是具体细节 请按以下格式输出分析结果: # 现实素材分析报告 ## 事件核心 [用一句话概括事件的本质冲突] ## 角色原型提取 ### 原型1: [名称] - **现实原型**: [从事件中提取的人物类型,不使用真名] - **核心特征**: [性格/行为模式] - **内在矛盾**: [驱动故事力的内心冲突] - **虚构化建议**: [如何改造为小说角色] ## 社会结构映射 | 现实元素 | 核心机制 | 虚构转化建议 | |---------|---------|------------| | ... | ... | ... | ## 戏剧冲突提取 1. [冲突1]: [如何转化为小说情节] 2. [冲突2]: ... ## 陌生化转化方案 [提供2-3种将此事件转化为虚构故事的具体方案] ## 主题升华建议 [这个故事能给人什么启示?如何促进思考?] ` // ============================================================ // 现实映射: 人物原型提取 // ============================================================ export const CHARACTER_ARCHETYPE_PROMPT = ` 你是专业的角色设计顾问,擅长从真实人物中提取性格原型,并安全地转化为虚构角色。 你精通荣格原型理论,也熟悉莫言"从身边人物取材"的创作方法。 【提取任务】 基于以下人物描述,提取角色原型并提供虚构化改造方案。 【人物描述】 {personDescription} 【提取步骤】 1. 观察层:提取外在特征、语言习惯、行为模式 2. 动力层:识别核心恐惧、欲望、内部矛盾 3. 原型层:映射到最接近的经典原型 4. 改造层:安全地转化为虚构角色 请按以下格式输出: # 人物原型分析 ## 观察记录 - 语言习惯: [最常说的话/口头禅/语气] - 行为模式: [标志性动作/应对方式] - 社交特征: [在群体中的角色] ## 核心驱动力 - **最深的恐惧**: [推动一切行为的底层恐惧] - **最大的渴望**: [真正想要的东西] - **核心矛盾**: [恐惧和渴望如何冲突] - **防御机制**: [如何保护自己不面对恐惧] ## 原型映射 - **最接近的原型**: [英雄/阴影/智者/叛逆者/守护者/创造者/统治者/弄臣] - **原型变体**: [在此基础上的独特偏离] - **武侠角色对应**: [如果是武侠小说,这个原型会是什么角色] ## 虚构化改造方案 ### 安全改造清单 - [ ] 姓名已更换 - [ ] 外貌已调整 - [ ] 职业/身份已重组 - [ ] 时间线已挪移或地域已转换 - [ ] 与其他原型特征已融合 ### 改造后角色档案 - **新名字**: [建议] - **新背景**: [建议] - **保留的核心**: [什么不能改] - **新增的独特元素**: [什么使这个角色独特] - **在故事中的功能**: [这个角色推动什么主题] ## 写作建议 - 对话风格: [这个角色怎么说话] - 标志性动作: [读者能记住的细节] - 内心独白方向: [角色会如何内心独白] ` // ============================================================ // 导出填充函数 // ============================================================ export function fillPrompt(template: string, vars: Record): string { return fillTemplate(template, vars) } /** 获取所有可用的提示词模板名称 */ export function listPromptTemplates(): string[] { return [ "concept", "world-building", "characters", "outline-brief", "outline-detailed", "scenes", "chapter-write", "chapter-continue", "consistency-check", "character-state-update", "summary-update", "wuxia-martial-arts", "wuxia-combat", "reality-source", "character-archetype", ] } /** 根据名称获取提示词模板 */ export function getPromptTemplate(name: string): string | null { const templates: Record = { "concept": CONCEPT_PROMPT, "world-building": WORLD_BUILDING_PROMPT, "characters": CHARACTER_PROFILES_PROMPT, "outline-brief": OUTLINE_BRIEF_PROMPT, "outline-detailed": OUTLINE_DETAILED_PROMPT, "scenes": SCENES_PROMPT, "chapter-write": CHAPTER_WRITE_PROMPT, "chapter-continue": CHAPTER_CONTINUE_PROMPT, "consistency-check": CONSISTENCY_CHECK_PROMPT, "character-state-update": CHARACTER_STATE_UPDATE_PROMPT, "summary-update": SUMMARY_UPDATE_PROMPT, "wuxia-martial-arts": WUXIA_MARTIAL_ARTS_PROMPT, "wuxia-combat": WUXIA_COMBAT_PROMPT, "reality-source": REALITY_SOURCE_PROMPT, "character-archetype": CHARACTER_ARCHETYPE_PROMPT, } return templates[name] ?? null }