UNPKG

novel-writer-cn

Version:

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

356 lines (259 loc) 11.9 kB
# Spec 目录说明 > Novel Writer 的规范与数据组织中心 ## 📁 目录结构 ``` spec/ ├── config.json # 主配置文件 ├── README.md # 本文件 ├── presets/ # 写作方法预设 │ ├── anti-ai-detection.md # 反AI检测规范 │ ├── golden-opening.md # 黄金开篇法则 │ ├── three-act/ # 三幕结构 │ ├── hero-journey/ # 英雄之旅 │ └── ... # 其他写作方法 ├── checklists/ # 质量检查清单 │ ├── specification-quality.md │ ├── plot-logic.md │ └── ... ├── knowledge/ # 知识库(积累的内容) │ ├── world/ # 世界观知识 │ ├── rules/ # 规则知识 │ ├── characters/ # 角色档案 │ └── research/ # 研究资料 └── tracking/ # 追踪数据(运行时数据) ├── plot-tracker.json # 情节追踪 ├── character-state.json # 角色状态 ├── relationships.json # 关系网络 └── timeline.json # 时间线 ``` --- ## 🎯 目录职责 ### 规范层(不变的内容) **`presets/`** - 写作方法预设 - 职责:存放不同写作方法的模板和规范 - 特点:这些文件是"只读参考",不应被修改 - 示例:`anti-ai-detection.md`(反AI检测规范)、`golden-opening.md`(黄金开篇法则) - 升级策略:可以被 `novel upgrade` 安全覆盖 **`checklists/`** - 质量检查清单 - 职责:存放各种质量检查标准 - 特点:标准化的检查项,AI 使用 `/checklist` 命令时会读取 - 示例:`specification-quality.md`(规格完整性检查)、`plot-logic.md`(情节逻辑检查) - 升级策略:可以被 `novel upgrade` 安全覆盖 **`config.json`** - 主配置文件 - 职责:定义项目级别的配置 - 特点:用户可以修改,但有默认值 - 示例:`{"method": "three-act", "version": "0.5.2"}` - 升级策略:合并升级(保留用户自定义配置) ### 知识层(积累的内容) **`knowledge/`** - 知识库 - 职责:存放创作过程中积累的知识和资料 - 特点:完全由用户创建和管理,系统不会覆盖 - 子目录说明: - `world/` - 世界观设定(地理、历史、文化) - `rules/` - 规则知识(力量体系、法则) - `characters/` - 角色档案(深度人物设定) - `research/` - 研究资料(参考文献、灵感来源) - 升级策略:**永不覆盖**,完全保留用户内容 ### 追踪层(运行时数据) **`tracking/`** - 追踪数据 - 职责:存放创作过程中的动态追踪数据 - 特点:随创作进度不断更新 - 示例: - `plot-tracker.json` - 记录情节进展 - `character-state.json` - 记录角色当前状态 - `relationships.json` - 记录角色关系网络 - `timeline.json` - 记录事件时间线 - 升级策略:**永不覆盖**,完全保留用户数据 --- ## 🔍 查询协议(推荐) AI 在执行不同命令时,应按照以下顺序查询相关文件,确保上下文完整且优先级正确。 ### 创作准备阶段 **适用命令**`/constitution`, `/specify`, `/clarify` **查询顺序**1. **先查**`memory/novel-constitution.md`(创作宪法 - 最高原则) 2. **再查**`memory/style-reference.md`(风格参考 - 如果存在) 3. **最后查**`spec/presets/`(写作方法预设) **目的**:确保在定义故事规格时,遵循创作原则和风格指引。 --- ### 计划制定阶段 **适用命令**`/plan`, `/tasks` **查询顺序**1. **先查**`memory/novel-constitution.md`(创作原则) 2. **再查**`stories/*/specification.md`(故事规格) 3. **再查**`spec/presets/golden-opening.md`(如果是前期规划) 4. **最后查**`spec/knowledge/`(知识库) **目的**:制定符合规格和原则的创作计划。 --- ### 具体写作阶段 **适用命令**`/write` **查询顺序(重要!)**1. **先查**`memory/novel-constitution.md`(创作宪法) 2. **再查**`memory/style-reference.md`(风格参考 - 如果通过 `/book-internalize` 生成) 3. **再查**`stories/*/specification.md`(故事规格) 4. **再查**`stories/*/creative-plan.md`(创作计划) 5. **再查**`stories/*/tasks.md`(当前任务) 6. **再查**`spec/tracking/` 相关文件: - `character-state.json`(角色状态) - `relationships.json`(关系网络) - `plot-tracker.json`(情节追踪) 7. **再查**`spec/knowledge/` 相关文件(世界观、角色档案) 8. **再查**`spec/presets/anti-ai-detection.md`(反AI检测规范) 9. **条件查询**:如果是前三章,额外查询 `spec/presets/golden-opening.md` **目的**:确保写作时有完整的上下文,符合所有规范和已有设定。 --- ### 质量验证阶段 **适用命令**`/analyze`, `/checklist`, `/track` **查询顺序**1. **先查**`memory/novel-constitution.md`(对照宪法检查合规性) 2. **再查**`stories/*/specification.md`(对照规格检查完成度) 3. **再查**`stories/*/creative-plan.md`(对照计划检查执行情况) 4. **再查**`spec/tracking/` 所有文件(检查一致性) 5. **再查**`spec/checklists/`(使用标准化检查清单) 6. **条件查询**:如果是前三章,使用 `spec/presets/golden-opening.md` 的自检清单 **目的**:全面验证内容质量,发现问题并提供改进建议。 --- ## ⚙️ 规则优先级 当不同文件的规则产生冲突时,按照以下优先级处理: ### 优先级顺序(从高到低) 1. **用户即时指令**(最高优先级) - 用户在命令中的具体要求 - 示例:"这一章不要用黄金开篇法则,我想慢慢铺垫" - 效果:覆盖所有预设规则 2. **创作宪法**`memory/novel-constitution.md` - 项目的最高创作原则 - 示例:"本作品禁止描写暴力场景" - 效果:覆盖所有预设规范 3. **风格参考**`memory/style-reference.md` - 对标作品的风格指引 - 示例:"使用短句,避免华丽比喻" - 效果:影响具体写作风格 4. **故事规格**`stories/*/specification.md` - 当前故事的具体要求 - 示例:"目标读者是15-25岁男性" - 效果:影响内容定位和风格 5. **写作方法预设**`spec/presets/` - 标准化的写作规范 - 示例:`anti-ai-detection.md`, `golden-opening.md` - 效果:提供基础规范和最佳实践 6. **知识库和追踪数据**`spec/knowledge/`, `spec/tracking/` - 已有的设定和状态 - 示例:角色已经死亡,不能再出现 - 效果:确保一致性 ### 冲突解决示例 **场景1**:黄金开篇 vs 创作宪法 - **冲突**`golden-opening.md` 要求第一章直接冲突,但 `constitution.md` 要求"慢热型,重视氛围营造" - **解决**:遵循 `constitution.md`,修改开篇策略 - **依据**:创作宪法优先级高于预设规范 **场景2**:风格参考 vs 反AI检测 - **冲突**`style-reference.md` 说对标作品使用华丽比喻,但 `anti-ai-detection.md` 说要避免华丽比喻 - **解决**:优先 `style-reference.md`,但在华丽比喻上做适度克制 - **依据**:风格参考优先级略高,但需平衡 **场景3**:用户即时指令 vs 所有预设 - **冲突**:用户说"这一章用大量环境描写铺垫气氛",但所有规范都说要克制描写 - **解决**:完全遵循用户指令 - **依据**:用户即时指令拥有最高优先级 --- ## 🚀 最佳实践 ### 1. 项目初始化时 建议的创建顺序: 1. 运行 `/constitution` 创建 `memory/novel-constitution.md` 2. (可选)运行 `/book-analyze` + `/book-internalize` 生成 `memory/style-reference.md` 3. 运行 `/specify` 创建 `stories/*/specification.md` 4. 运行 `/plan` 创建 `stories/*/creative-plan.md` 5. 开始创作前,手动创建 `spec/knowledge/` 相关文件(世界观、角色等) ### 2. 创作过程中 **每次写作前**- 确保 `spec/tracking/` 数据是最新的 - 检查是否有新的角色或设定需要记录到 `spec/knowledge/` **每完成5章**- 运行 `/analyze` 进行质量检查 - 运行 `/track` 更新追踪数据 - 必要时运行 `/checklist` 进行专项检查 ### 3. 版本升级时 **安全升级**```bash novel upgrade ``` **升级策略**- `spec/presets/` - 会被更新(新增更好的规范) - `spec/checklists/` - 会被更新(新增检查项) - `spec/config.json` - 会合并更新(保留你的自定义配置) - `spec/knowledge/` - **永不覆盖** - `spec/tracking/` - **永不覆盖** ### 4. 多项目管理 如果你同时创作多部作品: - 每部作品都有独立的 `spec/` 目录 - 但可以共享 `presets/` 中的规范(通过软链接或复制) - `knowledge/``tracking/` 必须各自独立 --- ## 📝 文件命名规范 ### knowledge/ 目录 **推荐命名**- 世界观:`world/geography.md`, `world/history.md` - 规则:`rules/power-system.md`, `rules/magic-rules.md` - 角色:`characters/protagonist.md`, `characters/villain.md` - 研究:`research/[作品名]-analysis.md` ### tracking/ 目录 **固定命名**(由系统生成,不要修改): - `plot-tracker.json` - `character-state.json` - `relationships.json` - `timeline.json` - `validation-rules.json` ### checklists/ 目录 **推荐命名**- 规格类:`specification-*.md` - 内容类:`plot-*.md`, `character-*.md`, `world-*.md` - 风格类:`style-*.md`, `dialogue-*.md` --- ## 🔧 进阶技巧 ### 技巧1:使用符号链接共享预设 如果你有多个项目想共享相同的写作方法预设: ```bash # 在项目A中 cd project-a/spec ln -s /path/to/shared-presets presets # 项目B也可以这样做 cd project-b/spec ln -s /path/to/shared-presets presets ``` ### 技巧2:建立个人规范库 创建一个 `~/.novel-writer/presets/` 目录,存放你个人总结的写作规范,然后在项目中引用。 ### 技巧3:使用 Git 版本控制 强烈建议将 `spec/` 目录纳入 Git 版本控制: ```bash # .gitignore spec/tracking/*.json # 追踪数据不纳入版本控制 spec/knowledge/ # 知识库可选择性纳入 # 但这些应该纳入: spec/presets/ spec/checklists/ spec/config.json ``` --- ## ❓ 常见问题 ### Q1: `knowledge/` 和 `tracking/` 有什么区别? **A**: - `knowledge/` 是"静态知识",比如角色的基础设定、世界观规则,不会频繁变化 - `tracking/` 是"动态状态",比如角色当前的位置、关系、情绪,每章都可能变化 ### Q2: 可以删除 `presets/` 里不用的方法吗? **A**: 可以,但不推荐。保留它们不会占用多少空间,且未来可能会用到。如果确实想删除,记得备份。 ### Q3: 升级后 `presets/` 被覆盖了怎么办? **A**: 这是正常的。`presets/` 的设计就是可以被安全覆盖的。如果你对某个预设做了自定义修改,应该: 1. 复制到 `memory/``knowledge/` 目录 2. 或者重命名(如 `anti-ai-detection-custom.md`### Q4: 我可以自己创建预设吗? **A**: 当然可以!在 `presets/``memory/` 中创建任何你需要的 `.md` 文件,AI 在读取目录时会发现它们。 --- ## 📚 相关文档 - **创作流程指南**`docs/workflow.md` - **命令详解**`docs/commands.md` - **最佳实践**`docs/best-practices.md` - **升级指南**`docs/upgrade-guide.md` --- **版本**:v1.0.0 **更新日期**:2025-01-14 **维护者**:Novel Writer Team