UNPKG

novel-writer-cn

Version:

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

933 lines (726 loc) 38.4 kB
# 更新日志 ## [0.19.0] - 2025-10-25 ### ✨ 新功能 #### 🎉 Codex CLI 支持 - **新增平台**: 完整支持 OpenAI Codex CLI - 命令格式: `/novel-命令名` (例如: `/novel-write`) - 命令目录: `.codex/prompts/` - 使用 `novel-` 前缀避免命名冲突 - 纯 Markdown 格式(无 YAML frontmatter) - 13 个核心命令全部支持 - **安装方式**: `novel init my-novel --ai codex` - **技术实现**: 借鉴 [Spec-Kit](https://github.com/github/spec-kit) v0.0.11+ 的实现方案 #### 📚 AI 平台命令对照文档 - **新增文档**: `docs/ai-platform-commands.md` - 13 个 AI 平台的完整命令对照指南 - 快速对照表:一目了然的命令格式差异 - 命名空间规则:详细解释为什么使用不同前缀 - 平台详细说明:Gemini、Claude、Codex 等的完整命令列表 - 使用示例:三个主要平台的完整工作流演示 - 常见问题:命令不生效、格式差异等问题的解决方案 ### 📝 文档更新 #### Codex CLI 支持说明 - 更新 `docs/why-codex-not-supported.md`: - 标题改为"Novel Writer 的 Codex CLI 支持" - 添加"即将支持"改为"v0.19.0 已支持" - 保留历史原因作为设计决策记录 #### README 更新 - 核心特性中提及 Codex CLI - 初始化示例中添加 `--ai codex` 选项 - 命令格式示例中添加 `/novel-constitution` (Codex 格式) - 命名空间说明表格中添加 Codex CLI #### GEMINI.md 模板更新 - 明确说明 Gemini CLI 使用 `novel:` 命名空间 - 添加命名空间原因说明 - 更新所有示例命令添加正确的 `novel:` 前缀 - 添加文档交叉引用链接 ### 🔧 构建系统改进 #### 命名空间支持 - 修改 `scripts/build/generate-commands.sh`: - Codex CLI 使用 `novel-` 前缀 - 生成纯 Markdown 格式(无 frontmatter) - 命令文件位于 `.codex/prompts/` 目录 ### 📊 支持的 AI 平台 现在支持 **13 个 AI 平台**: | 平台 | 命令格式 | 命名空间 | |------|---------|----------| | Claude Code | `/novel.命令名` | `novel.` | | Gemini CLI | `/novel:命令名` | `novel:` | | **Codex CLI** ⭐ | **`/novel-命令名`** | **`novel-`** | | Cursor | `/命令名` | 无 | | Windsurf | `/命令名` | 无 | | Roo Code | `/命令名` | 无 | | GitHub Copilot | `/命令名` | 无 | | Qwen Code | `/命令名` | 无 | | OpenCode | `/命令名` | 无 | | Kilo Code | `/命令名` | 无 | | Auggie CLI | `/命令名` | 无 | | CodeBuddy | `/命令名` | 无 | | Amazon Q | `/命令名` | 无 | ### 🎯 用户体验改进 - 用户可以根据自己使用的 AI 平台,轻松查阅对应的命令格式 - 详细的文档说明避免了命令不生效的困惑 - Codex CLI 用户现在可以使用完整的 Novel Writer 功能 ### 📖 相关文档 - [AI 平台命令使用指南](docs/ai-platform-commands.md) ⭐ 必读 - [Codex CLI 支持说明](docs/why-codex-not-supported.md) - [Gemini 命令开发指南](docs/gemini-command-guide.md) --- ## [0.18.5] - 2025-10-24 ### 🐛 问题修复 #### Gemini 宪法保存路径错误 (#6) - **问题**: 在 Gemini 中运行 `/constitution` 命令后,宪法文件被错误保存到 `memory/constitution.md`(项目根目录),而非正确的 `.specify/memory/constitution.md` 路径 - **原因**: 源模板文件 `templates/commands/constitution.md` 及其他命令文件中存在路径引用不一致,部分使用了不带 `.specify/` 前缀的路径 - **修复**: 统一所有命令模板文件中的路径引用,全部使用完整路径 `.specify/memory/constitution.md` - 修改 `templates/commands/constitution.md` 中 3 处路径引用 - 修改 `templates/commands/specify.md` 中 1 处路径引用 - 修改 `templates/commands/plan.md` 中 1 处路径引用 - 修改 `templates/commands/write.md` 中 3 处路径引用 - 重新构建所有平台的命令文件 - **影响**: Gemini、Qwen 等使用 TOML 格式的平台,现在会正确保存宪法文件到 `.specify/memory/constitution.md` ### 📝 影响范围 - `templates/commands/constitution.md` - 路径引用已统一 - `templates/commands/specify.md` - 路径引用已统一 - `templates/commands/plan.md` - 路径引用已统一 - `templates/commands/write.md` - 路径引用已统一 - `dist/gemini/.gemini/commands/novel/*.toml` - 所有 TOML 文件已重新生成 - 所有平台的构建产物已更新 ### 🎯 用户体验改进 - Gemini 用户运行 `/constitution` 命令后,文件会正确保存到 `.specify/memory/constitution.md` - 路径统一避免了 AI 在不同命令间的路径混淆 - 项目根目录不再出现错误的 `memory/` 目录 --- ## [0.18.4] - 2025-10-15 ### 🐛 问题修复 #### 宪法文件命名统一 - **问题**: 系统中存在3个不同的宪法文件命名 (novel-constitution.md, writing-constitution.md, constitution.md), 导致用户项目中出现多个宪法文件 - **修复**: 统一宪法文件命名为 `constitution.md` - 重命名源文件: `memory/writing-constitution.md``memory/constitution.md` - 修改所有 Bash 脚本中的文件路径引用 (6个文件) - 修改所有 PowerShell 脚本中的文件路径引用 (5+个文件) - 修改所有命令模板中的文件引用 (constitution.md, specify.md, plan.md, analyze.md, write.md) - 更新 allowed-tools 中的路径权限 #### 脚本路径重复问题 - **问题**: 构建系统中的 `rewrite_paths()` 函数重复添加 `.specify/` 前缀,导致路径错误 (`.specify.specify/scripts/`) - **修复**: 使用临时标记保护已有 `.specify/` 路径 - 修改 `scripts/build/generate-commands.sh``rewrite_paths()` 函数 - 先标记已存在的正确路径,然后添加前缀,最后恢复标记 - 所有生成的命令文件中的路径现在都正确为 `.specify/scripts/...` ### 📝 影响范围 - `memory/constitution.md` - 统一的宪法文件命名 - `scripts/bash/*.sh` - 所有引用宪法文件的脚本已更新 - `scripts/powershell/*.ps1` - 所有引用宪法文件的脚本已更新 - `templates/commands/*.md` - 所有命令模板已更新 - `scripts/build/generate-commands.sh` - 路径重写函数已修复 - `dist/` - 重新构建所有平台的命令文件 ### 🎯 用户体验改进 - 用户项目的 `.specify/memory/` 目录只会有一个 `constitution.md` 文件 - 所有脚本命令路径正确,不再出现 `.specify.specify/` 错误 - 命名更简洁、清晰,易于理解和使用 --- ## [0.18.3] - 2025-10-15 ### ✨ 功能改进 #### 插件安装系统标准化 - **问题**:genre-knowledge 插件使用手动安装方式,与其他插件不一致 - **改进**:统一使用 `novel plugins:add` 命令安装 - 新增 `plugins/genre-knowledge/config.yaml` 配置文件 - 插件元数据完整定义(name, version, description, type, dependencies) - 安装后显示详细的使用说明和步骤 #### 文档更新 - 更新 `plugins/genre-knowledge/README.md`: - 修改安装方法为 `novel plugins:add genre-knowledge` - 修改卸载方法为 `novel plugins:remove genre-knowledge` - 添加验证安装的命令 `novel plugins:list` - 简化文档结构,突出安装流程 #### CLI 增强 - 更新可用插件列表,添加 genre-knowledge: - `plugins:list` 命令提示信息 - `plugins:add` 命令错误提示 - 保持与其他插件(translate, authentic-voice, book-analysis)一致的用户体验 ### 🧪 测试验证 - ✅ 插件安装流程测试通过 - ✅ 插件列表显示正确 - ✅ 增强命令文件复制成功 - ✅ 安装后显示详细使用说明 ### 📝 影响范围 - `plugins/genre-knowledge/config.yaml` - 新增配置文件 - `plugins/genre-knowledge/README.md` - 更新安装说明 - `src/cli.ts` - 添加 genre-knowledge 到可用插件列表 --- ## [0.18.2] - 2025-10-15 ### 🐛 问题修复 #### 插件命令文件缺失 - **问题**:genre-knowledge 插件的 `commands/` 目录为空,导致用户无法获取增强提示词 - **修复**:补全3个增强命令文件: - `commands/clarify-enhance.md` (18行) - clarify 命令的类型知识增强提示词 - `commands/plan-enhance.md` (62行) - plan 命令的动态类型知识加载提示词 - `commands/write-enhance.md` (15行) - write 命令的类型风格应用提示词 #### 用户体验改进 - 用户现在可以直接从 `commands/*.md` 文件复制增强提示词 - 粘贴到核心命令的 `PLUGIN_HOOK` 标记处即可启用插件功能 - 结构更清晰,符合插件架构设计 ### 📝 影响范围 - `plugins/genre-knowledge/commands/` - 新增3个命令文件 - 插件系统 - 完善了安装体验 --- ## [0.18.1] - 2025-10-15 ### 🏗️ 架构优化 #### 类型知识插件化 - **迁移类型知识文件**:将 `spec/knowledge/genres/` 的5个类型知识文件迁移到 `plugins/genre-knowledge/knowledge/genres/` - `fantasy.md` (669行) - 奇幻/玄幻类型指导 - `scifi.md` (530行) - 科幻类型指导 - `romance.md` (378行) - 言情类型指导 - `mystery.md` (353行) - 悬疑推理类型指导 - `shuangwen.md` (236行) - 爽文类型指导 #### 真正的可选插件架构 - **核心命令优化** - 移除核心命令对插件的硬编码依赖 - 添加 `plugins/**` 通配符权限,支持所有插件 - 保留 `<!-- PLUGIN_HOOK -->` 标记供用户手动启用插件 - **用户体验改进** - 用户安装插件后只需复制粘贴增强提示词到 PLUGIN_HOOK 标记处 - 无需修改 allowed-tools(已有 plugins/** 权限) - 插件功能完全可选,不影响核心功能 #### 设计理念 - ✅ **清晰职责**:`spec/knowledge/` 专注于用户创建的项目知识,插件专注于系统提供的可选功能 - ✅ **可选安装**:不需要类型知识的用户无需加载插件 - ✅ **单一数据源**:类型知识只存在于插件中,避免重复和混乱 - ✅ **架构简洁**:无技术债务,无向后兼容代码 ### 📝 影响范围 - `spec/knowledge/genres/` - 已删除 - `plugins/genre-knowledge/` - 包含7个知识文件 - `templates/commands/clarify.md` - 移除插件硬编码,添加 plugins/** 权限 - `templates/commands/plan.md` - 移除插件硬编码,添加 plugins/** 权限 - `templates/commands/analyze.md` - 移除插件硬编码,添加 plugins/** 权限 --- ## [0.15.0] - 2025-10-11 ### ✨ 重大改进:多平台命令格式优化 #### 问题背景 之前的构建系统将 Claude 特有的 YAML frontmatter 字段(`allowed-tools`, `model`, `disable-model-invocation`)复制给了所有 13 个 AI 平台,但这些字段在其他平台中不被支持或不需要,导致兼容性问题。 #### 核心修复 - **平台特定格式生成**:根据每个 AI 平台的实际支持情况生成正确的命令文件格式 - **格式分类体系**: - **纯 Markdown(无 frontmatter)**:Cursor, GitHub Copilot, Codex CLI, Auggie CLI, CodeBuddy, Amazon Q Developer - **最小 frontmatter(只 description)**:OpenCode - **部分 frontmatter(description + argument-hint)**:Roo Code, Windsurf, Kilo Code - **完整 frontmatter(所有字段)**:Claude Code - **TOML 格式(description + prompt)**:Gemini CLI, Qwen Code #### 技术实现 - **构建脚本增强**(`scripts/build/generate-commands.sh`): - 添加 `frontmatter_type` 参数到 `generate_commands` 函数 - 实现 4 种 frontmatter 生成策略(none/minimal/partial/full) - 为所有 13 个平台指定正确的格式类型 - 提取 `argument_hint` 字段以支持部分 frontmatter - **TOML 格式修复** - Gemini 和 Qwen 的 TOML 文件只包含 `description``prompt` 字段 - 参数占位符正确使用 `{{args}}` 而非 `$ARGUMENTS` - 移除不支持的元数据字段 #### 验证结果 ✅ 所有 13 个 AI 平台的命令文件格式已验证通过 ✅ 每个平台只包含其支持的字段,符合官方文档规范 ✅ 提高了各平台的兼容性,减少了文件冗余 ✅ 避免了潜在的解析错误 #### 影响范围 - 📦 **构建系统**`npm run build:commands` 生成正确格式的命令文件 - 🎯 **13个平台**:Claude, Gemini, Cursor, Windsurf, Roo Code, GitHub Copilot, Qwen Code, OpenCode, Codex CLI, Kilo Code, Auggie CLI, CodeBuddy, Amazon Q Developer - 📁 **182个文件**:每个平台 14 个命令文件,格式全部正确 ### 📚 文档 感谢社区反馈,帮助我们发现并修复了多平台兼容性问题。 ## [0.14.2] - 2025-10-10 ### 🐛 问题修复 - **中文字数统计问题**:修复 `wc -w` 对中文字数统计极不准确的问题 - 新增 `count_chinese_words()` 函数,准确性提升 12+ 倍 - 排除 Markdown 标记、代码块、空格、标点符号 - 只统计实际文字内容 - 性能优秀(处理 3000 字约 10ms) ### ✨ 新增功能 - **字数统计函数**`scripts/bash/common.sh` - `count_chinese_words()` - 准确的中文字数统计 - `show_word_count_info()` - 显示友好的字数验证信息 - **脚本增强** - `analyze-story.sh` - 显示每章详细字数统计 - `check-writing-state.sh` - 自动验证章节字数是否达标 -`validation-rules.json` 读取字数要求配置 - **命令模板更新** - `/write` 命令添加字数验证说明 - 警告不要使用 `wc -w` 统计中文 - AI 写作完成后自动显示准确字数 ### 📚 新增文档 - **使用指南**`docs/word-count-guide.md` - 完整的字数统计使用说明 - **测试脚本**`scripts/bash/test-word-count.sh` - 验证统计准确性 - **修复说明**`WORD_COUNT_FIX.md` - 问题诊断和解决方案 ### 🎯 解决的问题 - AI 写作时提示"字数不够",但实际字数已超过要求 - 使用 `wc -w` 统计中文章节字数结果严重偏低(121/164 vs 2000+) - 同一文件多次统计结果不一致 ### ⚠️ 重要提醒 - ❌ 不要使用 `wc -w` 统计中文字数(极不准确) - ❌ 不要使用 `wc -m` 统计字数(包含太多无关字符) - ✅ 使用 `count_chinese_words` 函数获得准确结果 ## [0.14.0] - 2025-10-09 ### ✨ 新增功能 - **Roo Code 斜杠命令支持**`novel init``novel upgrade` 现在支持生成 `.roo/commands` 目录,并自动输出 Roo Code 兼容的 Markdown 命令 - **插件系统集成**:插件命令注入流程同步扩展至 Roo Code,确保安装的插件可在 Roo Code 中即时使用 ### 📚 文档更新 - README 与 CHANGELOG 新增 Roo Code 支持说明,同时更新可用 AI 列表提示 ## [0.13.7] - 2025-10-06 ### 🐛 问题修复 - **插件命令文件命名优化**:修复插件安装后命令文件名过于复杂的问题 - 移除不必要的 `plugin-{pluginName}-` 前缀 - 插件命令文件名简化:`plugin-book-analysis-book-analyze.md``book-analyze.md` - 保持与核心命令一致的命名风格 - 适用于所有 AI 平台(Claude、Cursor、Windsurf、Gemini) ## [0.13.6] - 2025-10-06 ### 🐛 问题修复 - **CLI 帮助文本更新**:修复 `novel init` 初始化后显示的帮助文本 - 更新核心命令列表为正确的七步方法论命令(constitution, specify, clarify, plan, tasks, write, analyze) - 移除已废弃的旧命令(method, style, story, outline, chapters) - 更新推荐流程为:`constitution → specify → clarify → plan → tasks → write → analyze` ## [0.12.2] - 2025-10-04 ### ✨ 新增功能:Claude Code 增强层 #### 核心改进**Claude Code** 用户提供专属增强版本命令,同时**保持与其他平台(Gemini、Cursor、Windsurf)的完整兼容性**#### 1. 构建系统设计(v0.15.0+ 已升级为单一源+构建系统) - **单一源**`templates/commands/` - 命令源文件(原 `commands-claude/`- **构建系统**`scripts/build/generate-commands.sh` - 自动生成所有平台命令 - **命名空间**:Claude 使用 `novel.*` 前缀,Gemini 使用 `novel/` 子目录,避免与 spec-kit 冲突 - **发布流程**:构建时自动生成 `dist/` 目录,用户初始化时直接复制 #### 2. Claude Code 专属特性 **增强的 Frontmatter 字段**- `argument-hint` - 命令参数自动补全提示 - `allowed-tools` - 细粒度工具权限控制(如 `Bash(find:*)`, `Read(//**)`) - `model` - 为每个命令指定最适合的 AI 模型(默认 `claude-sonnet-4-5-20250929`- `disable-model-invocation` - 控制 SlashCommand 工具是否可自动调用 **动态上下文加载**- 支持内联 bash 执行:`!`command`` - 实时获取项目状态(章节数、字数、追踪文件等) - 减少用户手动输入,提升命令智能化 #### 3. 增强的命令列表 **P0 命令(3个)**- `/analyze` - 添加阶段检测、章节列表、字数统计动态上下文 - `/write` - 添加待办任务、最新章节、进度状态动态加载 - `/clarify` - 添加故事文件路径、规格检测动态上下文 **P1 命令(3个)**- `/track` - 添加追踪文件状态、进度统计、章节列表、字数统计 - `/specify` - 添加宪法检测、规格文件检测、路径信息 - `/plan` - 添加规格状态、计划文件检测、待澄清项统计 **P2 命令(5个)**- `/tasks` - 添加计划/规格文件检测、线索管理规格摘要 - `/plot-check` - 添加追踪文件状态、进度检测、章节统计 - `/timeline` - 添加时间线状态、时间节点统计、章节映射 - `/relations` - 添加关系网络状态、角色/派系统计 - `/world-check` - 添加知识库检测、设定统计、专有名词统计 #### 4. CLI 逻辑优化 修改 `src/cli.ts` 支持优先级选择: ```typescript // 为 Claude 生成命令时,优先使用增强版本 if (await fs.pathExists(claudeEnhancedPath)) { commandContent = await fs.readFile(claudeEnhancedPath, 'utf-8'); console.log(chalk.gray(` 💎 Claude 增强: ${file}`)); } ``` #### 5. 兼容性保证 - ✅ 不修改其他平台的命令目录(`.claude``.cursor``.gemini` 等) - ✅ 基础命令保持不变,确保 Gemini/Cursor/Windsurf 正常使用 - ✅ Claude 增强层是可选的,不影响现有用户 - ✅ 所有增强特性仅在 Claude Code 环境生效 ### 📚 文档更新 - **README.md**:新增 v0.12.2 Claude Code 增强层特性说明 - **CHANGELOG.md**:详细记录增强功能和实现细节 ### 🎯 设计理念 **增强而不破坏兼容性**- ❌ 不创建新命令或新平台特定命令 - ✅ 分层架构,优先级选择 - ✅ Claude 用户获得最佳体验 - ✅ 其他平台用户体验不受影响 --- ## [0.12.1] - 2025-10-01 ### ✨ 新增功能:智能双模式 analyze #### 核心改进 `/analyze` 命令升级为**智能双模式**,根据创作阶段自动选择分析类型,**无需新增命令**#### 1. 智能阶段检测 - **自动判断**: 系统检测章节数量,自动决定执行框架分析还是内容分析 - **手动指定**: 支持 `--type=framework``--type=content` 强制指定模式 - **脚本支持**: 新增 `scripts/bash/check-analyze-stage.sh``scripts/powershell/check-analyze-stage.ps1` #### 2. 模式A: 框架一致性分析 (write 之前) - **覆盖率分析**: 检查规格需求是否都有对应的计划和任务 - **一致性检查**: 验证规格/计划/任务之间是否存在矛盾 - **逻辑预警**: 分析故事线设计中的潜在逻辑漏洞 - **准备评估**: 评估是否可以开始写作 #### 3. 模式B: 内容质量分析 (write 之后) - **宪法合规**: 验证作品是否符合创作原则 - **规格符合**: 检查实现是否满足规格要求 - **内容质量**: 分析逻辑、人物、节奏等 - **改进建议**: 提供具体的 P0/P1/P2 修复建议 #### 4. 决策逻辑 ``` 章节数 = 0 → 框架分析 章节数 < 3 → 框架分析 (建议继续写作) 章节数 ≥ 3 → 内容分析 用户指定 --type → 强制使用指定模式 ``` ### 📚 文档更新 - **README.md**: 更新 `/analyze` 命令说明,展示智能双模式 - **docs/writing/analyze-placement-rationale.md**: 新增"附录:智能双模式设计"章节 - **命令模板**: 完全重写 analyze 命令,详细说明两种分析模式 ### 🎯 设计理念 **克制而不简陋**: - ❌ 不创建两个命令 (`/framework-analyze`, `/content-analyze`) - ✅ 一个 `/analyze` 命令,智能判断场景 - ✅ 90% 自动处理,10% 可手动控制 - ✅ 满足多种需求,保持命令简洁 ### 💡 社区反馈驱动 感谢 @曾喜胜 Anson 提出的需求,既要"write 之前的框架分析",也要"write 之后的内容审查"。 我们通过智能化设计,在不增加命令的前提下,满足了两种需求。 --- ## [0.12.0] - 2025-09-30 ### ✨ 新增功能:多线索管理系统 #### 核心改进 **无需新增命令**,通过增强现有命令模板,实现完整的多线索管理能力。 #### 1. specification.md 增强 (/specify 命令) 新增**第五章:线索管理规格**,包含5个管理表格: - **5.1 线索定义表**: 定义所有线索的ID、类型、优先级、冲突 - **5.2 线索节奏规划**: 规划每条线索在不同卷的活跃程度(⭐⭐⭐/⭐⭐/⭐) - **5.3 线索交汇点规划**: 预先规划线索交汇时机,避免AI随意发挥 - **5.4 伏笔管理表**: 管理伏笔的埋设与揭晓,确保不遗漏 - **5.5 线索修改决策矩阵**: 修改线索时的影响评估清单 #### 2. creative-plan.md 增强 (/plan 命令) 章节段表格增加"活跃线索"和"交汇点"列: - 标注每个章节段推进哪些线索 - ⭐⭐⭐ 主推进 / ⭐⭐ 辅助 / ⭐ 背景 - 明确交汇点所在章节 #### 3. tasks.md 增强 (/tasks 命令) 每个写作任务增加线索相关字段: - **涉及线索**: 本章推进哪些线索及优先级 - **交汇点**: 本章是否为交汇点 - **伏笔埋设/揭晓**: 本章涉及的伏笔操作 #### 4. plot-tracker.json 增强 (/track-init 命令) `/track --init` 自动从specification.md第五章读取: - 所有线索定义 (从5.1节) - 所有交汇点 (从5.3节) - 所有伏笔 (从5.4节) - 生成完整的追踪数据结构 #### 5. 实战指南更新 (docs/writing/practical-guide.md) 新增**第六章:多线索管理指南**,包含: - 真实问题场景(来自网友反馈) - 4步解决方案 - 基于《重返1984》的完整使用示例 - 三大痛点的解决方式对比表 ### 🎯 解决的核心问题 来自网友的真实困惑: > "主线和支线的穿插,很难给AI讲清楚如何保持并行,而且在适当的时候进行交叉和揭晓之前的线索。尤其是再剧情设定不定时修改的情况下,简直就是灾难。" #### 三大痛点及解决方式 | 痛点 | 解决方式 | 具体文件 | |------|---------|---------| | **并行推进** | tasks.md每章标记"涉及线索" | W040标注PL-01⭐⭐⭐、PL-02⭐⭐ | | **交汇时机** | specification.md 5.3节预先规划 | X-001定在40章,避免AI随意 | | **修改一致性** | 5.5修改决策矩阵 + `/track --check` | 修改PL-02时自动提示影响范围 | ### 📐 设计原则 -**符合"如无必要请勿增加"原则**: 完全使用现有7个命令 -**符合SDD方法论**: 线索管理分布在specify→plan→tasks→track -**有写作理论支撑**: Story Grid的Grid Spreadsheet、Save the Cat的B Story理念 -**解决真实痛点**: 来自用户实际需求,非臆想功能 ### 📝 文档改进 - 详细的使用示例(基于《重返1984》5条线索) - 完整的输入提示词模板 - 影响评估和一致性验证流程 ## [0.11.0] - 2025-09-30 ### ✨ 新增功能 - **SDD方法论实战指南**: 新增 `docs/writing/practical-guide.md` (约10000字) - 基于《重返1984》小说的完整SDD实战案例 - 详细讲解SDD的分层递归应用(整本书/一卷/章节段/单章) - 提供4个完整场景的实际输入提示词示例 - 增加好坏提示词对比 - 增加完整对话流程展示 - 回答"AI写着偏离了怎么更新outline"等实际问题 - **可视化图表**: 新增3个SVG图表辅助理解 - `sdd-levels.svg` - SDD分层递归示意图 - `sdd-flow.svg` - SDD完整循环流程图 - `prompt-structure.svg` - 好的提示词结构图 ### 📝 文档改进 - 强调SDD的核心: 规格驱动 + 分层递归 + 允许偏离 + 频繁验证 - 每个场景包含: - ❌ 不好的提示词示例 - ✅ 好的提示词示例 - 💬 完整对话流程 (用户→AI→确认→完成) - 提供提示词结构模板(情况说明/修改意图/需要更新/期望输出) ### 🎯 解决的问题 - 如何在写作中途调整剧情方向 - 如何处理AI写出的优秀偏离内容 - 不同粒度修改时应该用什么命令组合 - 如何写出让AI理解的提示词 ## [0.10.5] - 2025-09-30 ### 🐛 Bug 修复 - **common.sh 缺少函数**:添加 `get_active_story()` 函数 - 修复脚本执行时 "get_active_story: 未找到命令" 错误 - 同步到 `.specify/scripts/bash/``scripts/bash/` ### 📝 影响范围 修复后以下脚本能正常执行: - `check-writing-state.sh` - `plan-story.sh` - `tasks-story.sh` - `analyze-story.sh` ## [0.10.4] - 2025-09-30 ### 🐛 Bug 修复 - **七步方法论脚本缺失**:补全 Bash 脚本支持 - 创建 `plan-story.sh` - 创作计划脚本 - 创建 `tasks-story.sh` - 任务分解脚本 - 复制 `analyze-story.sh` - 综合验证脚本 - 复制 `constitution.sh` - 创作宪法脚本 - 复制 `specify-story.sh` - 故事规格脚本 ### 📝 文件更新 - 更新 `/tasks` 命令模板脚本引用从 `generate-tasks.sh` 改为 `tasks-story.sh` - 同步所有脚本到 `.specify/scripts/bash/``scripts/bash/` - 同步命令模板到 `.claude/commands/` ### 🔧 影响范围 修复后所有七步方法论命令(`/constitution`, `/specify`, `/clarify`, `/plan`, `/tasks`, `/write`, `/analyze`)都能在 Bash 环境下正常执行。 ## [0.10.3] - 2025-09-30 ### 🔧 破坏性变更 - **移除旧格式兼容**:完全移除对旧 `story.md` 格式的支持 - 所有脚本现在只支持新格式 `specification.md` - `/clarify` 命令只查找 `specification.md` - `/specify` 命令移除了迁移逻辑 - `/track-init` 和相关追踪脚本更新为新格式 - 更新提示信息从 `/story` 改为 `/specify` ### 📝 文件更新 - **Bash 脚本** - 更新 `clarify-story.sh` 只支持 `specification.md` - 更新 `specify-story.sh` 移除 `story.md` 兼容逻辑 - 更新 `init-tracking.sh` 查找 `specification.md` - 更新 `generate-tasks.sh` 检查 `specification.md` - **PowerShell 脚本** - 更新 `clarify-story.ps1` 只支持 `specification.md` - 更新 `specify-story.ps1` 移除 `story.md` 兼容逻辑 - **配置文件** - 更新 `.gitignore` 添加 `*.backup` 规则 ### ⚠️ 迁移提示 如果您的项目还在使用 `story.md`,请手动将其重命名为 `specification.md````bash mv stories/your-story/story.md stories/your-story/specification.md ``` ## [0.10.2] - 2025-09-30 ### 🐛 Bug 修复 - **命令模板缺失**:补全七步方法论命令模板 - 添加 `/constitution` - 创作宪法命令 - 添加 `/specify` - 故事规格命令 - 添加 `/plan` - 创作计划命令 - 添加 `/tasks` - 任务分解命令 - 添加 `/analyze` - 综合验证命令 - **影响范围**:修复后 `novel init` 创建的新项目将包含所有命令模板 ## [0.10.1] - 2025-09-30 ### 🔧 系统完善 - **脚本体系重构**:统一管理 Bash 和 PowerShell 脚本至 `.specify/scripts/` - **命令同步更新**:完善 Claude Code 和 Gemini 命令模板 - **追踪系统增强** - 新增 `/track-init` 命令用于初始化追踪系统 - 完善进度追踪和验证规则 - 添加时间线、情节、世界观一致性检查脚本 - **命令优化** - 更新 `/clarify``/expert``/write``/relations` 等命令 - 删除冗余命令:`/story``/style``/outline``/chapters` - **文档改进**:更新工作流程和快速开始指南 ### 📦 项目结构 - 移动脚本文件到 `.specify` 目录以更好地组织 - 添加子模块支持(BMAD-METHOD、spec-kit) - 完善模板文件和配置文件 ## [0.10.0] - 2025-09-29 ### 🎉 重大更新 - **七步方法论体系**:引入完整的规格驱动开发(SDD)创作流程 - `/constitution` - 创作宪法,定义最高层级的创作原则 - `/specify` - 故事规格,像 PRD 一样定义故事需求 - `/clarify` - 澄清决策,通过交互式问答明确关键点 - `/plan` - 创作计划,制定技术实现方案 - `/tasks` - 任务分解,生成可执行的任务清单 - `/write` - 章节写作(重构以适配新流程) - `/analyze` - 综合验证,全方位质量检查 ### 🔧 系统重构 - **删除冗余命令**:移除 story、style、outline、chapters、method 等旧命令 - **跨平台同步**:PowerShell 脚本和 Gemini TOML 命令完全同步 - **文档体系升级** - 创建 `METHODOLOGY.md` - 完整的方法论说明 - 创建 `MIGRATION.md` - 版本迁移指南 - 更新所有平台的命令支持 ### 📝 理念升级 - 从"工具集合"升级为"方法论框架" - 从"零散命令"转变为"系统化流程" - 强调"规格驱动"而非"灵感驱动" - 实现"需求定义"到"内容生成"的完整链路 ### ⚠️ 破坏性变更 - 删除了以下旧命令(已被新命令替代): - `/story``/specify` - `/style``/constitution` - `/outline``/plan` - `/chapters``/tasks` - `/method` → 成为可选辅助 - 文件结构调整: - `stories/*/chapters/``stories/*/content/` - 新增多个方法论相关文件 ## [0.9.0] - 2025-09-29 ### 🎯 方法论升级 - 引入 spec-kit 的规格驱动开发理念 - **`/clarify` 命令** - 交互式澄清故事大纲中的关键决策点 - 结构化创作流程:story → clarify → outline - 智能问答:AI 识别模糊点,通过5个精准问题明确创作方向 ## [0.8.4] - 2025-09-26 ### 🎉 新功能 - Authentic Voice 真实人声插件(提升原创度与自然度) - `/authentic-voice` 真实人声创作模式(取材卡 + 个体词库) - `/authenticity-audit` 人味自查与行级改写建议 - 专家 `authentic-editor`:更细致的人声编辑 - 离线文本自查脚本:`scripts/bash/text-audit.sh` - 统计连接词/空话密度、句长均值/方差、连续长/短句、抽象词密度示例 - 支持项目级配置:`spec/knowledge/audit-config.json` ### 📚 模板与文档 - 新增写作准则模板:`templates/writing-constitution-template.md` - 新增人味自查配置模板:`templates/knowledge/audit-config.json` - README 增加“真实人声一键示例”和插件推荐使用说明 ### 🔧 流程改进 - `/style` 初始化自动引用 `.specify/memory/personal-voice.md` - 追加“个人语料摘要(自动引用)” - 同步“个人表达基线(自动同步)”固定专章(幂等更新) - CLI 帮助中展示 `authentic-voice` 可用插件项 ## [0.8.3] - 2025-09-25 ### 🎉 新功能 - **完整插件 Gemini 支持**:所有插件都支持 Gemini CLI - translate 插件:3 个 TOML 命令 - book-analysis 插件:6 个 TOML 命令 - 作者风格插件:13 个 TOML 命令(王钰、十年雪落、路遥) - stardust-dreams 插件:4 个 TOML 命令 ### 🔧 技术改进 - 标准化插件命令格式 - 简化复杂命令为 AI 友好格式 - 优化 TOML 命令结构 ### 📝 插件更新 - 所有 6 个官方插件现在都支持双格式(Markdown + TOML) - 共新增 26 个 TOML 格式命令文件 - 插件系统完全兼容 Gemini CLI ## [0.8.2] - 2025-09-25 ### 🎉 新功能 - **Google Gemini CLI 支持**:完整的 Gemini CLI 斜杠命令集成 - 新增 13 个 TOML 格式的命令定义 - 支持命名空间命令(如 `/track:init``/plot:check` - 插件系统同时支持 Markdown 和 TOML 双格式 - 智能格式转换和降级机制 ### 📚 新增文档 - **Gemini 开发指南**`docs/gemini-command-guide.md` - 双格式命令开发说明 - **Gemini 用户文档**`templates/GEMINI.md` - Gemini CLI 使用指南 - **Gemini 配置文件**`templates/gemini-settings.json` - CLI 设置模板 ### 🔧 技术改进 - 重构插件管理器支持多 AI 平台 - CLI 初始化命令智能检测并生成对应格式 - 增强命令注入机制,支持自动格式转换 - 优化目录结构管理 ### 📝 兼容性 - 完全向后兼容现有 Claude、Cursor、Windsurf 用户 - 支持 `--ai gemini` 参数专门生成 Gemini 格式 - 插件可选择性提供 TOML 格式支持 ## [0.7.0] - 2025-01-24 ### 🎉 新功能 - **外部AI建议整合功能**:支持整合来自Gemini、ChatGPT等AI工具的分析建议 - 扩展 `/style` 命令,新增 `refine` 模式 - 支持JSON和Markdown两种建议格式 - 自动分类处理建议(风格/角色/情节/世界观/对话) - 建议历史追踪和版本管理 - 智能合并多源建议 ### 📚 新增文档 - **PRD文档**`docs/PRD-external-suggestion-integration.md` - 功能设计规范 - **AI提示词模板**`docs/ai-suggestion-prompt-template.md` - 标准化建议格式 - **Gemini专用模板**`docs/ai-suggestion-prompt-for-gemini.md` - 优化的提示词 - **快速指南**`docs/quick-guide-external-ai-integration.md` - 三步完成整合 - **实例集**`docs/suggestion-integration-examples.md` - 详细使用示例 ### 🔧 技术改进 - 新增 `style-manager.sh` 脚本处理建议整合 - 优化格式识别逻辑,支持管道输入 - 改进Markdown解析处理 - 增强错误处理机制 ### 📝 文件更新 - 更新 `/style` 命令模板支持新功能 - 新增 `improvement-log.md` 追踪建议历史 - 扩展 `character-voices.md` 添加词汇替换表 ## [0.6.2] - 2025-09-24 ### 改进 - **ESM 模块支持**:项目全面迁移到 ESM(ECMAScript Modules) - 添加 `"type": "module"` 配置 - 更新所有导入语句为 ESM 格式 - 使用 `import.meta.url` 替代 `__dirname` - 完全支持 Node.js 18+ 所有版本(包括 21、22、23) - 真正实现向上兼容,拥抱现代化 JavaScript 标准 ## [0.6.1] - 2025-09-24 ### 修复 - **依赖问题**:修复 `js-yaml` 模块缺失导致的运行错误 -`js-yaml` 添加到 dependencies 中 - 解决了 `novel -h` 命令报错的问题 ## [0.6.0] - 2025-09-24 ### 新增 - **角色一致性验证系统**:解决AI生成内容中的角色名称错误问题 - 新增 `validation-rules.json` 验证规则文件 - `/write` 命令增强:写作前提醒、写作后验证 - `/track --check` 深度验证模式:批量检查角色一致性 - `/track --fix` 自动修复模式:自动修复简单错误 - **程序驱动验证**:内部使用任务机制执行验证,提高效率 - **验证脚本**:新增 `track-progress.sh` 支持验证功能 ### 改进 - **写作流程优化**:在写作时主动预防角色名称错误 - **批量验证**:支持一次性验证多个章节,节省Token - **自动修复**:能够自动修复角色名称和称呼错误 ## [0.5.6] - 2025-09-23 ### 新增 - **写作风格插件**:新增三个写作风格插件 - `luyao-style` - 路遥风格写作插件 - `shizhangyu-style` - 施章渝风格写作插件 - `wangyu-style` - 王毓风格写作插件 ## [0.4.3] - 2025-09-21 ### 改进 - **默认版本号更新**:将 version.ts 中的默认版本号从 0.4.1 更新为 0.4.2 - **版本一致性**:确保所有版本引用保持同步 ## [0.4.2] - 2025-09-21 ### 改进 - **统一版本管理**:实现自动从 package.json 读取版本号的模块 - **知识库模板系统**:将硬编码的知识库文件改为模板文件系统 - **代码优化**:简化 cli.ts 代码结构,提高可维护性 ### 修复 - **版本号统一**:通过 version.ts 模块确保版本号一致性 ## [0.4.0] - 2025-09-21 ### 新增 - **情节追踪系统** (`/plot-check`):追踪情节节点、伏笔和冲突发展 - **时间线管理** (`/timeline`):维护故事时间轴,确保时间逻辑一致 - **关系矩阵** (`/relations`):管理角色关系和派系动态 - **世界观检查** (`/world-check`):验证设定一致性,避免矛盾 - **综合追踪** (`/track`):全方位查看创作状态 - **spec目录结构**:新增 `spec/tracking``spec/knowledge` 目录 - **知识库模板** - `world-setting.md` - 世界观设定模板 - `character-profiles.md` - 角色档案模板 - `character-voices.md` - 角色语言档案模板 - `locations.md` - 场景地点模板 ### 改进 - **追踪文件模板**:提供完整的 JSON 追踪文件模板 - **一致性检查脚本**:实现综合的一致性验证系统 - **工作流程增强**:添加质量保障流程 ## [0.3.7] - 2025-09-20 ### 新增 - **时间获取指导**:在命令模板中添加提示,指导 AI 使用 `date` 命令获取系统日期 - **自动日期生成**:脚本会预先生成正确的系统日期供 AI 参考 ### 改进 - **灵活的卷册管理**:章节现在会自动从 outline.md 解析卷册结构,不再硬编码4卷 - **动态章节数量**:支持从 outline.md 读取总章节数,不再限制为240章 - **进度文件时间戳**:progress.json 现在包含创建和更新时间戳 ### 修复 - **日期生成错误**:修复了 AI 生成错误日期的问题(如2025-01-20而非2025-09-20) ## [0.3.6] - 2025-01-20 ### 修复 - **目录命名问题**:修复了故事目录生成时名称为 `001-` 的问题 - 采用 spec-kit 的方式处理目录名,只提取英文单词 - 纯中文描述时使用默认名称 `story` - **章节组织结构**:修复了章节按卷册结构生成的功能 - 章节现在会根据编号自动放入对应的卷册目录(volume-1 至 volume-4) - 第1-60章在 volume-1,第61-120章在 volume-2,以此类推 ## [0.3.5] - 2025-01-20 ### 修复 - 修复了 `novel init` 命令生成的 `.claude/commands/` 配置文件格式问题 - 保留了命令文件中完整的 frontmatter 和 scripts 部分,确保 Claude 能正确识别和执行命令 - 简化了 `generateMarkdownCommand` 函数,直接返回完整模板内容 ## [0.3.4] - 之前版本 ### 新增 - 初始版本发布 - 支持 Claude、Cursor、Gemini、Windsurf、Roo Code 多种 AI 助手 - 提供了完整的小说创作工作流命令