novel-writer-cn
Version:
AI 驱动的中文小说创作工具 - 基于结构化工作流的智能写作助手
227 lines (168 loc) • 7.56 kB
Markdown
焦点区域(可选):$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