UNPKG

novel-writer-cn

Version:

AI 驱动的中文小说创作工具 - 基于结构化工作流的智能写作助手

227 lines (168 loc) 7.56 kB
焦点区域(可选):$ARGUMENTS ## 目标 检测并减少故事大纲中的歧义或缺失的决策点,通过交互式问答收集澄清信息,并将结果记录在故事文件中。 **注意**:此澄清流程应在 `/plan` 之前运行并完成。如果用户明确表示跳过澄清(例如,探索性创作),可以继续,但必须警告下游返工风险会增加。 ## 执行步骤 ### 1. 初始化检查 运行 `.specify/scripts/bash/clarify-story.sh --json --paths-only` 获取当前故事路径: - 解析 JSON 获取 `STORY_PATH` 和 `STORY_NAME` - 如果没有找到故事文件,提示用户先运行 `/story` 创建故事大纲 - 加载故事文件内容进行分析 <!-- PLUGIN_HOOK: genre-knowledge-clarify --> <!-- 插件增强区:类型识别 如果你安装了 genre-knowledge 插件,请在此处插入类型识别增强提示词 参考:plugins/genre-knowledge/README.md 的"2.1 增强 /clarify 命令"章节 --> ### 2. 结构化歧义扫描 对故事大纲进行全面扫描,评估每个类别的清晰度(清晰/部分清晰/缺失): **创作定位** - 目标读者群体(年龄段、性别倾向、阅读层次) - 作品定位(商业爽文/严肃文学/类型小说) - 预期规模(短篇3-5万/中篇10-20万/长篇50万+) **世界观设定** - 时代背景精确度(具体年份/朝代/架空程度) - 世界规则(魔法体系/科技水平/社会制度) - 地理范围(单一城市/多国/大陆/星际) **角色设计** - 主角成长曲线(废柴逆袭/天才型/稳扎稳打) - 主角性格基调(热血/冷静/腹黑/圣母) - 配角功能定位(推动剧情/情感支撑/对比反衬) - 反派智商设定(降智反派/势均力敌/高维碾压) **叙事策略** - 视角选择(第一人称/第三人称限定/上帝视角) - 时间线结构(线性叙事/倒叙插叙/多线并行) - 叙事节奏(快节奏爽文/慢热铺垫/张弛有度) **情节核心** - 核心冲突类型(人vs人/人vs自然/人vs社会/人vs自我) - 主线目标明确度(复仇/成长/拯救/探索) - 结局倾向(大团圆/悲剧/开放式) **风格基调** - 文风选择(白话流畅/古风典雅/幽默诙谐/冷峻写实) - 描写侧重(动作场面/心理描写/环境氛围/对话推进) - 情感基调(热血激昂/压抑黑暗/温馨治愈/虐心催泪) **创作约束** - 敏感内容处理(violence程度/情感尺度) - 价值观导向(正能量/现实主义/批判性) - 更新计划(日更/周更/月更) 对每个"部分清晰"或"缺失"的类别生成候选问题,除非: - 澄清不会实质影响创作方向 - 信息更适合在章节规划阶段确定 ### 3. 生成优先问题队列 内部生成最多5个优先澄清问题,应用以下约束: - 整个会话最多5个问题 - 每个问题必须可以通过以下方式之一回答: * 多选题(2-5个互斥选项) * 简答题(限制5个词以内) - 只包含对创作方向有实质影响的问题 - 确保类别覆盖平衡,优先高影响领域 - 如果超过5个类别需要澄清,选择(影响力×不确定性)最高的5个 ### 3.5 问题设计原则(对话式理解) 每个问题应当**像真人写手在交流**,而不是工程师在填表。 **核心原则**: - ✅ **先说观察,再问问题**:让作者明白"为什么要问这个" - ✅ **说人话**:用创作者的语言,而不是分类学术语 - ✅ **指出影响**:让作者理解这个决策会影响什么 - ❌ **避免直接抛问题**:不要一上来就"请问你的目标读者是?" **对比示例**: ❌ **工程化提问**(避免): ``` 问题1:你的目标读者是什么年龄段? A. 18-25岁 B. 26-35岁 C. 36-45岁 ``` ✅ **对话式提问**(推荐): ``` 💬 我注意到你的故事有校园元素,但也有职场内容。这两个场景对应的读者群体差异很大—— 校园读者喜欢热血成长,职场读者更关注权谋博弈。这会直接影响我们的节奏设计和价值观表达。 所以想先确认:**你主要想写给谁看?** | 选项 | 说明 | |------|------| | A | 学生群体(18-25岁)- 侧重成长和理想主义 | | B | 职场人士(26-35岁)- 侧重现实和策略思维 | | C | 通吃(调整为双线叙事,兼顾两者)| | D | 自定义(请输入你的想法)| ``` **提问结构模板**: ```markdown 💬 [观察到的现象/矛盾点]。[这会影响什么创作决策]。 所以想确认:**[核心问题]** [选项表格或简答提示] ``` ### 4. 顺序问答循环 **一次展示一个问题**,按照对话式格式提问。 多选题格式(必须包含问题背景): ```markdown 💬 [问题背景说明:你观察到了什么?这会影响什么?] 所以想确认:**[核心问题]** | 选项 | 说明 | |------|------| | A | 选项A的详细说明 | | B | 选项B的详细说明 | | C | 选项C的详细说明 | | D | 选项D的详细说明 | | E | 选项E的详细说明(可选)| | F | 自定义(请输入你的想法)| ``` 简答题格式(必须包含问题背景): ```markdown 💬 [问题背景说明:你观察到了什么?这会影响什么?] 所以想确认:**[核心问题]** 请简要回答(5个词以内):_______ ``` **处理用户回答** - 验证答案有效性 - 如选择 F(自定义),接收并记录用户输入的自定义内容 - 如有歧义,请求快速澄清 - 记录答案并继续下一个问题 **停止条件** - 所有关键歧义已解决 - 用户示意完成("好了"、"够了"、"不用了") - 已达到5个问题上限 ### 5. 整合澄清结果 每个接受的答案后立即: **首次整合时** - 在故事大纲中创建 `## 澄清记录` 章节(如不存在) - 添加 `### 澄清会话 [日期]` 子标题 **记录格式** ```markdown - 问:[问题内容] → 答:[用户答案] ``` **更新相关章节** 根据澄清内容更新故事大纲的对应部分: - 创作定位 → 更新故事概述 - 世界观 → 更新世界观设定 - 角色 → 更新角色设定 - 叙事策略 → 添加到创作说明 - 风格基调 → 添加到风格指南 ### 6. 验证与保存 每次更新后验证: - 澄清记录完整性 - 没有遗留的模糊标记被新答案解决 - 没有矛盾的陈述 - Markdown 格式正确 将更新后的内容写回故事文件。 ### 7. 完成报告 报告包含: - 提问和回答的问题数量 - 更新的故事文件路径 - 触及的章节列表 - 覆盖率总结表: | 类别 | 状态 | |------|------| | 创作定位 | ✅ 已澄清 | | 世界观设定 | ✅ 已澄清 | | 角色设计 | ⏸ 延迟到规划 | | ... | ... | - 建议的下一步命令(通常是 `/plan`) ## 行为规则 - 如果没有发现有意义的歧义,回应:"未检测到需要立即澄清的关键歧义。" - 如果故事文件缺失,指导用户先运行 `/story` - 不超过5个问题的总限制 - 避免询问纯技术写作细节 - 尊重用户的提前终止信号 - 如果未提问就达到完全覆盖,输出简洁的覆盖总结 ## 小说创作特定考虑 - **类型适配**:根据故事类型(爽文/悬疑/言情/严肃文学等)加载对应知识库,提供针对性问题 - **读者导向**:商业作品vs文学作品的不同标准和侧重点 - **文化敏感**:某些题材需要特别谨慎处理 - **系列规划**:是否为系列作品会影响整体架构和决策 优先级上下文:$ARGUMENTS