UNPKG

article-writer-cn

Version:

AI 驱动的智能写作系统 - 专注公众号/自媒体文章创作

590 lines (460 loc) 15.2 kB
# Article Writer - 开发路线图 ## 项目里程碑 ``` 阶段1 阶段2 阶段3 阶段4 阶段5 基础架构 核心命令 工作区系统 插件开发 测试发布 (1-2周) (2-3周) (1周) (1-2周) (1周) | | | | | ▼ ▼ ▼ ▼ ▼ Fork P0命令 工作区判断 3个插件 完整测试 重构 开发完成 模板完成 开发完成 用户文档 CLI改造 ``` **总工期: 6-9 (MVP版本)** --- ## 阶段1: 基础架构搭建 (1-2周) ### Week 1: 仓库准备与CLI改造 **任务清单:** - [x] Fork novel-writer仓库 - [ ] 创建 `article-writer` 分支 - [ ] 重命名项目 - [ ] package.json: `article-writer-cn` - [ ] CLI命令: `novel` `content` - [ ] 显示文本: "Novel Writer" "Article Writer" - [ ] 清理小说特定代码 - [ ] 删除追踪系统(plot-tracker, relationships等) - [ ] 删除六种写作方法预设 - [ ] 保留核心架构(CLI、插件、命令生成) - [ ] 重构目录结构 - [ ] `stories/` `workspaces/` - [ ] 新增 `materials/`、`_knowledge_base/`、`_briefs/` - [ ] 更新 `spec/` 结构 **测试标准:** ```bash content init test-project 成功运行 生成正确的目录结构(workspaces/materials等) 命令生成脚本正常工作(13个平台) ``` **预计工作量:** 5 --- ### Week 2: 核心配置文件改造 **任务清单:** - [ ] 改造根目录 CLAUDE.md - [ ] 工作区路由逻辑 - [ ] 任务类型判断提示 - [ ] 创建工作区模板 - [ ] `templates/workspaces/wechat.yaml` - [ ] `templates/workspaces/video.yaml` - [ ] `templates/workspaces/general.yaml` - [ ] 改造 memory 文件 - [ ] `constitution.md` 写作原则 - [ ] 删除小说特定内容 - [ ] 更新 spec/presets/ - [ ] 保留 `anti-ai-detection.md` - [ ] 新增 `audit-checklist.md` **测试标准:** ```bash content init my-article --workspace wechat 创建公众号工作区 工作区CLAUDE.md正确加载 任务类型判断提示词准确 ``` **预计工作量:** 5 --- ## 阶段2: 核心命令开发 (2-3周) ### Week 3-4: P0命令开发 **优先级P0命令**(关键路径): 1. `/specify` (1天) 2. `/research` (3天) 3. `/topic` (2天) 4. `/collect` (2天) 5. `/write` (2天) **开发顺序:** #### Day 1-2: `/specify` ```markdown 任务: - [ ] 编写命令模板 `templates/commands/specify.md` - [ ] 创建支持脚本 `scripts/bash/init-brief.sh` - [ ] 实现brief标准格式 - [ ] 测试: 从用户描述生成brief 测试用例: 用户输入需求 生成brief.md 上传文件 解析生成brief.md brief保存到 _briefs/ 目录 自动创建项目目录结构 ``` #### Day 3-5: `/research` ⭐ (关键) ```markdown 任务: - [ ] 编写命令模板 `templates/commands/research.md` - [ ] 实现信息源优先级逻辑 - [ ] 集成 WebSearch/WebFetch - [ ] 实现知识库保存格式 - [ ] 创建支持脚本 `scripts/bash/check-network.sh` 测试用例: 搜索新产品(Claude Code) 获取官方信息 搜索技术概念 多渠道验证 保存到 _knowledge_base/主题-日期.md 元信息完整(时间、来源、可信度) 缓存检查 - 避免重复搜索 ``` #### Day 6-7: `/topic` ```markdown 任务: - [ ] 编写命令模板 `templates/commands/topic.md` - [ ] 实现选题生成逻辑 - [ ] 设计选题格式(标题/角度/大纲) - [ ] 实现"等待用户选择"机制 测试用例: 读取brief+调研 生成3-4个选题 每个选题包含完整信息(大纲/工作量/优劣势) 不会自动选择,等待用户确认 用户选择后继续流程 ``` #### Day 8-9: `/collect` ⭐ (关键) ```markdown 任务: - [ ] 编写命令模板 `templates/commands/collect.md` - [ ] 实现CSV搜索逻辑(Grep) - [ ] 实现主题索引读取(Read) - [ ] 创建素材展示格式 - [ ] 实现改写融入机制 测试用例: 从CSV搜索关键词 返回匹配动态 从indexed/读取主题素材 展示素材并说明使用场景 提供改写示例(禁止直接复制) ``` #### Day 10-11: `/write` ```markdown 任务: - [ ] 改造 `/write` 命令模板 - [ ] 调整查询协议顺序(constitution brief materials) - [ ] 移除小说特定内容(角色追踪等) - [ ] 保留反AI检测规范引用 测试用例: 读取全部上下文(brief/knowledge/materials) 基于真实数据写作 符合anti-ai-detection规范 输出到 articles/*/draft.md ``` --- ### Week 5: P0命令 - `/review` (4天) **最重要的命令,需要重点打磨** ```markdown 任务: - [ ] 扩展 `/analyze` 命令为三模式 - [ ] 实现 content 模式(事实/逻辑验证) - [ ] 实现 style 模式(降AI味核心) ⭐⭐⭐ - [ ] 内置8大类套话库 - [ ] AI句式识别规则 - [ ] 200+书面词汇替换库 - [ ] 对比输出格式 - [ ] 实现 detail 模式(句长/段长/标点优化) - [ ] 实现 all 模式(依次执行三遍) 测试用例: content模式 - 发现事实错误/逻辑矛盾 style模式 - 识别并替换AI套话 style模式 - 输出对比格式(❌原文 ✅改后) detail模式 - 统计句长/段长并给出优化建议 all模式 - 三遍审校降低AI检测率到30%以下 ``` **关键难点:** - AI套话库的完整性(需要收集真实案例) - 句式识别的准确性(避免误判) - 对比输出的可读性(清晰展示修改点) --- ## 阶段3: 工作区系统 (1周) ### Week 6: 工作区判断与模板 **任务清单:** - [ ] 实现工作区检测逻辑 - [ ] 根目录CLAUDE.md - 工作区路由 - [ ] 检测当前目录位置(pwd) - [ ] 动态加载工作区配置 - [ ] 创建公众号工作区模板 - [ ] `workspaces/wechat/CLAUDE.md` - [ ] 配图需求、降AI味要求 - [ ] 任务类型判断逻辑 - [ ] 创建视频工作区模板 - [ ] `workspaces/video/CLAUDE.md` - [ ] 口播时长、口语化要求 - [ ] 分镜说明(替代配图) - [ ] 创建通用工作区模板 - [ ] `workspaces/general/CLAUDE.md` - [ ] 灵活配置 **测试用例:** ```bash 在根目录运行命令 询问选择工作区 workspaces/wechat/ 自动加载公众号配置 workspaces/video/ 自动加载视频配置 不同工作区执行不同流程(公众号需配图,视频不需要) ``` **预计工作量:** 5 --- ## 阶段4: 插件开发 (1-2周) ### Week 7: materials-manager 插件 **任务清单:** - [ ] 创建插件目录结构 ``` plugins/materials-manager/ ├── config.yaml ├── commands/ ├── materials-init.md ├── materials-import.md └── materials-index.md └── README.md ``` - [ ] 实现 `/materials-init` 命令 - [ ] 创建目录结构(raw/indexed/archive) - [ ] 生成示例索引文件 - [ ] 实现 `/materials-import` 命令 - [ ] 支持CSV导入(即刻/微博) - [ ] 支持JSON导入 - [ ] 数据验证和格式化 - [ ] 实现 `/materials-index` 命令 - [ ] 辅助建立主题索引 - [ ] 从raw/提取关键词 - [ ] 生成indexed/模板 **测试用例:** ```bash content plugins add materials-manager 安装成功 /materials-init 创建目录结构 /materials-import ~/jike.csv 导入成功 /materials-index ai-tools 生成主题索引 ``` **预计工作量:** 3 --- ### Week 7-8: image-generator 插件 **任务清单:** - [ ] 创建插件目录结构 - [ ] 实现图片来源选择逻辑 - [ ] 公共领域搜索(Wikimedia) - [ ] AI生成(火山引擎API集成) - [ ] 免费图库(Unsplash API集成) - [ ] 实现图片保存和管理 - [ ] 保存到 articles/*/images/ - [ ] 生成图片清单(README.md) - [ ] 实现Markdown图片插入 - [ ] 分析文章配图位置 - [ ] 插入图片引用 - [ ] 添加图片说明 **测试用例:** ```bash content plugins add image-generator 安装成功 /images 分析文章并生成配图 图片保存到正确目录 Markdown正确插入图片引用 生成图片清单(含来源/授权信息) ``` **预计工作量:** 4 --- ### Week 8: research-assistant 插件 (可选) **任务清单:** - [ ] 创建插件目录结构 - [ ] 增强 `/research` 命令 - [ ] 自动提取关键词 - [ ] 并行搜索多渠道 - [ ] 信息源可信度评分 - [ ] 实现缓存机制 - [ ] 检查已有调研结果 - [ ] 判断freshness(fresh/stale/expired) - [ ] 自动更新过期数据 **预计工作量:** 3天(如时间充裕) --- ## 阶段5: 测试与文档 (1周) ### Week 9: 完整测试与文档编写 **测试任务:** - [ ] **单元测试** - [ ] 每个命令的独立测试 - [ ] 边界条件测试 - [ ] **集成测试** - [ ] 完整流程测试(brief 发布) - [ ] 工作区切换测试 - [ ] 插件安装/卸载测试 - [ ] **真实场景测试** 最重要 - [ ] 用真实公众号文章需求测试 - [ ] 用真实视频脚本需求测试 - [ ] 邀请早期用户测试 **文档任务:** - [ ] **用户文档** - [ ] README.md - 快速开始 - [ ] 安装指南(installation.md) - [ ] 命令参考(commands-reference.md) - [ ] 最佳实践(best-practices.md) - [ ] 常见问题(FAQ.md) - [ ] **开发文档** - [ ] 架构说明(architecture.md) - [ ] 插件开发指南(plugin-development.md) - [ ] 贡献指南(CONTRIBUTING.md) - [ ] **迁移文档** - [ ] 从novel-writer迁移(migration-from-novel-writer.md) - [ ] 案例研究(case-studies.md) **修复与优化:** - [ ] 修复测试中发现的bug - [ ] 优化命令提示词 - [ ] 优化用户体验(提示信息、错误处理) **预计工作量:** 5 --- ## 发布计划 ### Beta版本发布 (Week 9结束) **发布清单:** - [ ] npm包发布 ```bash npm version 0.1.0-beta npm publish --tag beta ``` - [ ] GitHub Release - [ ] 创建 v0.1.0-beta tag - [ ] 编写 Release Notes - [ ] 附带使用示例 - [ ] 社区宣传 - [ ] 少数派/V2EX发布帖 - [ ] Twitter/即刻宣布 - [ ] 邀请早期用户试用 **Beta版功能列表:** - 核心9步流程(P0命令全部完成) - 公众号工作区(完整支持) - 个人素材库系统 - 三遍审校降AI味 - 自动配图 - ⚠️ 视频工作区(基础支持,待完善) - 高级插件(图床上传、AI检测API - 待开发) --- ### 正式版本发布 (Beta后2-4周) **基于Beta反馈迭代:** - [ ] 修复用户反馈的bug - [ ] 优化命令提示词(基于真实使用场景) - [ ] 补充视频工作区功能 - [ ] 开发高级插件(根据需求) - [ ] 完善文档和案例 **正式版发布:** ```bash npm version 1.0.0 npm publish ``` --- ## 资源分配 ### 人力需求 **方案A: 单人开发** - 1个全职开发者 - 创始人参与测试和反馈 - 工期: 9 **方案B: 双人协作** - 1个后端/架构开发(负责CLI、插件系统、命令逻辑) - 1个前端/提示词工程师(负责命令模板、工作区配置、文档) - 工期: 6 **推荐:** 方案A(早期MVP单人即可,降低沟通成本) --- ### 时间分配 | 阶段 | 任务 | 工作量 | 占比 | |-----|------|--------|------| | 1 | 基础架构 | 10 | 22% | | 2 | 核心命令 | 15 | 33% | | 3 | 工作区系统 | 5 | 11% | | 4 | 插件开发 | 10 | 22% | | 5 | 测试文档 | 5 | 11% | | **总计** | **MVP完成** | **45天** | **100%** | **缓冲时间:** 建议预留10-15天应对意外(bug修复、需求调整) **实际工期:** 6-9 --- ## 风险管理 ### 高风险项 #### 1. `/review` 命令的降AI味效果 (P0) **风险:** 三遍审校后AI检测率仍>30% **缓解措施:** - 提前收集真实AI生成文章案例 - 建立套话库和AI句式规则 - 用腾讯朱雀API实测验证 - 准备多轮迭代优化 **应急方案:** - 如果效果不达标,考虑集成第三方降AI味服务 - 或提供手动审校checklist,由用户参与 --- #### 2. 个人素材库搜索质量 (P0) **风险:** CSV搜索返回不相关结果,或遗漏关键素材 **缓解措施:** - 提供关键词建议(从brief自动提取) - 双路径搜索(原始CSV + 主题索引) - 搜索结果排序优化 - 让用户确认是否使用 **应急方案:** - 如果搜索质量不佳,优先推荐用户手动整理主题索引 - 提供更友好的索引管理工具 --- #### 3. AI理解两层判断机制 (P1) **风险:** AI误判工作区或任务类型 **缓解措施:** - 命令frontmatter强制声明allowed-tools - 脚本预检验证环境 - 提供明确的fallback逻辑 - 多次测试不同场景 **应急方案:** - 提供手动指定工作区的CLI选项: `content --workspace wechat` - 命令中增加任务类型确认环节 --- ### 中风险项 #### 4. 图片生成/获取成本 (P1) **风险:** 火山引擎API成本较高,或免费额度不足 **缓解措施:** - 优先使用公共领域和免费图库 - AI生成作为补充,不作为主要来源 - 提供配额管理和成本预估 **应急方案:** - 移除AI生成功能,仅保留搜索公共资源 - 或让用户自行配置API密钥 --- #### 5. 跨平台命令格式兼容性 (P1) **风险:** 13个AI平台的命令格式差异导致问题 **缓解措施:** - 复用novel-writer的成熟方案 - 重点测试Claude Code、Cursor、Gemini(主流平台) - 其他平台作为额外支持,问题优先级较低 **应急方案:** - 先支持3-5个主流平台 - 其他平台根据用户需求逐步添加 --- ## 成功标准 ### MVP版本成功标准 **技术指标:** - 完整9步流程可用(P0命令全部实现) - 三遍审校降AI检测率至30%以下(80%案例达标) - 个人素材库搜索准确率>70% - 支持至少3个主流AI平台(Claude/Cursor/Gemini) - 无critical bug(阻塞核心流程的bug) **用户体验指标:** - 从初始化到生成初稿<30分钟(不含测试任务) - 命令提示清晰,用户知道每一步在做什么 - 错误提示友好,能指导用户解决问题 - 有完整的使用文档和案例 **早期用户反馈:** - 至少5个早期用户试用 - 用户反馈"比纯AI生成更真实" - 用户愿意推荐给他人使用 --- ### 正式版成功标准 **技术指标:** - 三遍审校降AI检测率至20%以下(90%案例达标) - 支持至少8个AI平台 - 视频工作区功能完善 - 高级插件可用(图床上传、AI检测API) **社区指标:** - GitHub Stars >100 - npm周下载量>50 - 至少2篇第三方评测/教程文章 --- ## 下一步行动 如果决定启动项目: ### 立即行动 (Day 1-3) 1. **Fork仓库** - 创建 `article-writer` 分支 2. **建立项目管理** - GitHub Projects Notion Board 3. **细化任务** - 将Roadmap分解为每日任务 4. **环境准备** - 安装依赖、配置开发环境 ### 第一周目标 - CLI改造完成(`content init`可用) - 目录结构重构完成 - 第一个命令原型(`/specify`)可运行 ### 第一个月目标 - P0命令全部完成 - 公众号工作区可用 - 完成一篇真实文章测试 --- **Roadmap制定完成!准备好开始了吗?** 🚀