文档版本: 1.0
创建日期: 2025年6月14日
执行原则: 测试驱动开发 (Test-First), 模块化构建, 持续集成
撰写人: “植耕大师”程序员

阶段零:项目奠基与环境搭建 (Phase 0: Project Scaffolding & CI Setup)

此阶段为所有后续开发工作铺设基石,确保工程规范与自动化流程先行。

  1. [基础设施] 初始化Git仓库,并建立主干/开发分支策略。
  2. [基础设施] 配置项目结构:/src, /tests, /docs, /config
  3. [基础设施] 设置依赖管理(如package.jsonpyproject.toml)。
  4. [开发规范] 配置代码格式化工具(如Prettier/Black)与静态检查工具(ESLint/Flake8)。
  5. [测试框架] 集成测试框架(如Jest/Pytest)与断言库。
  6. [CI/CD] 建立持续集成流水线(如GitHub Actions):配置自动化任务,在每次提交时运行代码检查与单元测试。
  7. [配置管理] 设定环境变量管理机制(如.env),用于存储API密钥等敏感信息。

阶段一:耕耘【数据核心】(Phase 1: Build DP₁ - Project Data Core)

目标: 构建稳定、可靠的数据持久化与验证层。这是整个系统的基石。

  1. [编码] 定义数据契约: 在 /src/models 或类似目录中,使用JSON Schema或TypeScript/Pydantic类,精确定义URD中所有的核心数据模型 (ProjectConfig, CoreConcept, CharacterProfile 等)。
  2. [测试] 编写服务层测试: 在 /tests/services 中创建 test_project_data_service.ts/.py
    • test_create_and_load_project: 编写测试用例,模拟创建一个新项目,然后尝试加载它,断言加载后的数据与初始数据完全一致。此测试初始应为失败状态。
  3. [编码] 实现核心服务: 在 /src/services 中创建 ProjectDataService
    • 实现 createProjectloadProject 方法(例如,使用文件系统读写JSON文件),直到 test_create_and_load_project 通过
  4. [测试] test_validation_logic: 编写测试用例,创建一个缺少必要字段(如角色档案缺少epiphany)的数据对象,断言 ProjectDataService.validate() 方法返回 {isValid: false} 及具体的错误信息。此测试初始应为失败状态。
  5. [编码] 实现验证逻辑: 在 ProjectDataService 中实现 validate 方法,使用JSON Schema验证库来执行校验,直到 test_validation_logic 通过
  6. [测试] test_save_functionality: 编写测试用例,加载一个项目,对其进行修改,然后调用 saveProject,再次加载,断言数据为修改后的状态。此测试初始应为失败状态。
  7. [编码] 实现保存逻辑: 实现 saveProject 方法,直到 test_save_functionality 通过
  8. [重构] 审视 ProjectDataService 的代码,确保其逻辑清晰,错误处理得当。

阶段二:铸造【结构规划器】(Phase 2: Build DP₂ - Structural Planner)

目标: 将无形的“冲突”锻造成有形的“大纲”。

  1. [编码] 定义数据模型: 在 /src/models 中定义 OutlineTemplateStoryOutline 的数据结构。
  2. [编码] 建立模板库: 在 /config/templates 目录下,创建至少两个模板的JSON文件(如three-act-structure.json, save-the-cat.json)。
  3. [测试] 编写生成器测试: 在 /tests/generators 中创建 test_outline_generator.ts/.py
    • test_prompt_generation_for_inciting_incident: 编写测试用例,提供一个模拟的ConflictMatrix和一个“三幕式”模板。此测试应专注于断言为“激励事件”节点生成的AI Prompt是正确的(即包含了预期的冲突信息),而非测试AI的返回结果。需要对AI调用进行Mock。此测试初始应为失败状态。
  4. [编码] 实现大纲生成器: 在 /src/generators 中创建 OutlineGeneratorModule
    • 实现 generateOutline 函数的核心逻辑,包括模板解析和冲突-节点映射算法,以生成正确的prompt。让 test_prompt_generation_for_inciting_incident 通过
  5. [测试] test_full_outline_structure: 编写测试用例,断言在给定模板下,generateOutline函数返回的StoryOutline对象具有与模板完全一致的节点结构(数量、ID和标签)。
  6. [编码] 完善生成器: 确保 generateOutline 完整实现了与AI的交互,并能将AI返回的内容组装成StoryOutline对象。让 test_full_outline_structure 通过
  7. [重构] 优化prompt构建逻辑,使其更具通用性和扩展性。

阶段三:培育【写作环境】(Phase 3: Build DP₃ - Immersive Writing Environment)

目标: 创建核心的写作界面及其背后的智能辅助功能。

  1. [测试] 上下文检索测试: 在 /tests/retrievers 中创建 test_context_retriever.ts/.py
    • test_context_retrieval_for_chapter: 编写测试用例,给定一个包含角色实体名称的章节梗概和完整的ProjectData,断言 retrieveContextForChapter 返回的 ChapterContext 对象准确地包含了这些角色的关键信息。此测试初始应为失败状态。
  2. [编码] 实现上下文检索器: 在 /src/retrievers 中实现 retrieveContextForChapter 函数。让 test_context_retrieval_for_chapter 通过
  3. [测试] 一致性检查器测试: 在 /tests/checkers 中创建 test_consistency_checker.ts/.py
    • test_phobia_consistency_alert: 编写测试用例,提供一个有“恐高症”设定的角色档案和一段描述其“站在悬崖边”的文本,断言 checkConsistency 函数返回一个包含特定警告信息的数组。此测试初始应为失败状态。
  4. [编码] 实现一致性检查器: 在 /src/checkers 中实现 checkConsistency 函数。让 test_phobia_consistency_alert 通过
  5. [编码] UI原型开发: 使用UI框架(如React/Vue/Svelte),在 /src/components 中开发 MainEditorComponent 的静态布局(三栏视图)。
  6. [集成] 连接后端逻辑: 将UI组件中的按钮和事件与已实现的后端函数 (retrieveContextForChapter, generateDraft, checkConsistency) 进行连接。
  7. [UI测试] 编写组件测试: 使用UI测试库,测试MainEditorComponent的交互逻辑,如点击“生成样章”按钮是否会触发相应的服务调用。

阶段四:审校【全局分析引擎】(Phase 4: Build DP₄ - Global Analysis Engine)

目标: 实现对作品的深度、全局性分析,赋予作品灵魂。

  1. [测试] 逻辑一致性测试: 在 /tests/analyzers 中创建 test_global_reviewer.ts/.py
    • test_detect_contradiction_dead_character_speaks: 编写测试用例,提供一个包含“角色死亡后又发言”的文本集,断言 generateGlobalReview 返回的报告中包含对此逻辑错误的准确描述。此测试初始应为失败状态。
  2. [编码] 实现逻辑一致性分析: 在 /src/analyzers 中实现 generateGlobalReview 函数的逻辑一致性检查部分。让 test_detect_contradiction_dead_character_speaks 通过
  3. [测试] 角色弧光测试:
    • test_positive_character_arc_detection: 编写测试用例,提供一个主角从懦弱到勇敢的完整故事文本和相应的角色档案,断言返回报告中对该角色的弧光分析结果为“正面完成”。需要对NLP模型进行Mock或使用简化的关键词评估。此测试初始应为失败状态。
  4. [编码] 实现角色弧光分析: 实现报告中的角色弧光分析部分。让 test_positive_character_arc_detection 通过
  5. [测试] 主题追踪测试:
    • test_motif_tracker_accuracy: 编写测试用例,提供一篇包含特定意象(如“鸟”)的文本,断言报告中的主题分析部分能准确统计其出现次数。此测试初始应为失败状态。
  6. [编码] 实现主题追踪分析: 实现报告中的主题意象追踪部分。让 test_motif_tracker_accuracy 通过
  7. [优化] 性能考量: 由于全局分析可能耗时较长,将 generateGlobalReview 封装为异步任务,并设计好前端的加载与等待状态。

阶段五:整合、润色与发布 (Phase 5: Integration, Polish & Release)

目标: 将所有模块无缝整合,打磨用户体验,准备最终交付。

  1. [E2E测试] 编写端到端测试脚本: 使用Cypress或Playwright,编写一个完整的用户故事测试脚本,模拟从创建项目到生成最终审核报告的全过程。
  2. [UI/UX] 界面润色: 全面审查UI,确保所有界面元素符合URD中的NFR-5原则(界面抽象),对用户隐藏所有技术术语。
  3. [UI/UX] 完善用户引导: 添加必要的提示、工具说明(Tooltips)和新手引导流程。
  4. [文档] 撰写用户手册和帮助文档。
  5. [文档] 整理并归档所有设计与开发文档。
  6. [构建] 创建生产环境的构建版本。
  7. [部署] 部署应用或打包为可执行文件。
  8. [发布] 庆祝“植耕大师”的诞生。

这份清单将指引我们,以严谨的工程纪律,去实现那个富有诗意的创作梦想。

植耕大师”程序员
2025年6月14日