UNPKG

article-writer-cn

Version:

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

990 lines (760 loc) 32.3 kB
# Changelog All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). ## [0.12.1] - 2025-11-27 ### Fixed - 修复 /write 模式选择界面不显示问题 **问题描述**- 用户反馈执行 `/write` 命令时,AI 没有显示模式选择界面(1/2/3/4 选项) - AI 直接跳到了"AI教练逐段引导写作"模式 **根本原因**- 模板中的"等待用户选择"指令不够强 - AI 可能根据 brief 中的推荐直接执行了某个模式 **修复内容**-`/write` 命令开头添加"核心约束"部分,明确禁止跳过模式选择 - 增强"等待用户选择"指令的强度,使用 ⛔ 符号和明确的禁止/必须列表 - 更新命令描述,强调"必须选择模式" **影响文件**- `templates/commands/write.md` ## [0.12.0] - 2025-11-27 ### Added - 新功能:框架约束模式 (PRD-11) **核心功能**:新增第 4 种写作模式 - 框架约束模式 (Outline-Constrained Mode) **适用场景**- 领导给定提纲,按提纲补充内容 - 强框架约束文档:项目立项报告、开题报告、标书、专利申请 - 弱框架约束:客户指定几个要点,基于要点拟制方案 - 需要复用固定模板的重复性文档 **与其他模式对比**: | 维度 | 教练模式 | 快速模式 | 混合模式 | **框架约束模式** | |------|---------|---------|---------|-----------------| | AI生成比例 | 0% | 100% | 40% | 60-80% | | 框架来源 | AI建议 | AI生成 | AI生成 | **用户提供** | | 框架可调 | 可调 | 可调 | 可调 | **严格固定** | | 典型场景 | 个人经历文 | 信息整理 | 教程类 | 强约束文档 | **核心特点**- 框架由用户提供,严格固定不可修改 - AI 按框架逐章生成内容 - 支持模板复用(预置 3 个模板 + 自定义模板) - 自动进行一致性检查(专有名词、术语、数据) **新增命令**- `/outline` - 框架约束模式的核心命令 - `/outline` - 直接粘贴提纲 - `/outline --list` - 查看可用模板 - `/outline --template <id>` - 使用预置模板 - `/outline --save-template <name>` - 保存自定义模板 **预置模板**- `project-proposal` - 项目立项报告 - `thesis-opening` - 开题报告 - `technical-report` - 技术报告 **工作流程**``` /outline ↓ Step 1: 输入提纲(文本/模板) ↓ Step 2: 收集背景信息(项目名、技术路线等) ↓ Step 3: AI 识别章节类型 ├─ 通用章节 → 自动生成 └─ 核心章节 → 交互式询问 ↓ Step 4: 逐章节生成/确认 ↓ Step 5: 全局一致性检查 ``` **修改的命令**- `/specify` - 新增"框架来源识别"步骤(第三步) - `/write` - 新增模式 4 入口和说明 **新增文件**- `docs/prd/prd-11-outline-constrained-mode.md` - PRD 文档 - `templates/commands/outline.md` - 命令模板 - `templates/outlines/project-proposal.yaml` - 项目立项报告模板 - `templates/outlines/thesis-opening.yaml` - 开题报告模板 - `templates/outlines/technical-report.yaml` - 技术报告模板 - `docs/outline-mode/README.md` - 功能概述 - `docs/outline-mode/quick-start.md` - 快速上手指南 - `docs/outline-mode/templates-guide.md` - 模板使用指南 - `docs/outline-mode/best-practices.md` - 最佳实践 **用户价值**- 满足行业内常见的固定框架文档需求 - 框架可复用,提高效率 - 自动检查一致性,避免低级错误 - 支持强约束(固定框架)和弱约束(要点约束)两种模式 ## [0.11.0] - 2025-10-29 ### Added - 新功能:在线图片转 Base64 **功能说明**- ✅ 支持将在线图片自动下载并转换为 base64 编码 - ✅ 一键复制到微信公众号时,图片也会一起复制(无需手动上传) - ✅ 不依赖外部图片链接,离线也能预览 **使用方法**```bash # 不转换图片(默认) bash format-wechat.sh article.md output.html # 转换在线图片为 base64 bash format-wechat.sh article.md output.html --base64 # 查看帮助 bash format-wechat.sh --help ``` **工作原理**1. 解析 Markdown 中的在线图片 URL 2. 自动下载图片到临时目录 3. 转换为 data URI (base64 编码) 4. 替换原 URL 为 base64 数据 5. 完成后自动清理临时文件 **优点**- 📋 复制 HTML 后图片直接嵌入,无需额外操作 - 🔒 不依赖外部链接,图片不会失效 - 💡 适合快速分享和一键发布 **注意事项**- ⚠️ Base64 会增大文件体积约 33% - ⚠️ 适合中小图片,大图片可能影响性能 - ⚠️ 微信可能对 HTML 大小有限制(建议单张图片 < 500KB) **配置选项**```typescript { convertOnlineImagesToBase64: true // 启用在线图片转 base64 } ``` **影响文件**- `src/formatters/wechat-formatter.ts` - 添加图片下载和转换逻辑 - `scripts/bash/format-wechat.sh` - 添加 `--base64` 选项 **测试结果**- ✅ 图片下载成功 - ✅ Base64 转换正确 - ✅ HTML 生成正常 - ✅ 浏览器复制粘贴功能验证通过 ## [0.10.10] - 2025-10-29 ### Fixed - 修复图片样式问题 **问题描述**- `<img>` 标签错误地应用了 `<figure>` 的样式属性 - 导致样式属性重复,图片可能显示不正确 **解决方案**- ✅ 移除 `<img>` 标签上重复的 `getStyles('image')` 调用 - ✅ 使用专门的图片样式:`width:100%; height:auto; display:block;` -`<figure>` 容器保持原有样式(居中、圆角等) **生成的 HTML 结构**```html <figure style="display:block;max-width:100%;margin:1em auto;border-radius:4px"> <img src="..." alt="..." style="width:100%;height:auto;display:block;"/> <figcaption>...</figcaption> </figure> ``` **影响文件**- `src/formatters/wechat-formatter.ts` **测试验证**- ✅ 图片 URL 路径正确 - ✅ 样式不再重复 - ✅ 图片能正确显示并自适应宽度 ## [0.10.9] - 2025-10-29 ### Fixed - 修复全局模块加载问题(紧急修复) **问题描述**- v0.10.8 的修复在开发环境测试通过,但在用户工作区仍然失败 - 即使全局安装了 `article-writer-cn@0.10.8`,脚本仍报错 `Cannot find module` **根本原因**- Node.js 的 `require()` 机制不会自动查找全局 node_modules 路径 - 之前的相对路径推导在用户工作区中失败(脚本被复制到 `.content/` 目录) - 脚本中的 bash 变量替换在 Node.js 字符串中未生效 **解决方案**: - ✅ 使用 `npm root -g` 获取全局 node_modules 的**绝对路径** - ✅ 调整加载策略优先级:**全局安装** > 本地安装 > 开发环境 > 兜底 - ✅ 所有策略都使用绝对路径并增加文件存在性检查 - ✅ 在 bash 层面计算路径,然后传递给 Node.js **新的加载策略**1. 从全局 node_modules 加载(通过 `npm root -g`) 2. 从用户项目的 node_modules 加载 3. 从开发环境加载(article-writer 项目本身) 4. 通过 require.resolve 查找(兜底) **影响文件**- `scripts/bash/format-wechat.sh` - `scripts/powershell/format-wechat.ps1` **测试验证**- ✅ 用户工作区测试通过(`/other/a1/.content/scripts/`- ✅ HTML 生成功能正常 - ✅ 全局安装场景验证通过 ## [0.10.8] - 2025-10-29 ### Fixed - 修复微信格式化脚本加载问题 **问题描述**- 微信格式化脚本(format-wechat.sh/ps1)报错 `Cannot find module 'article-writer-cn'` - 在开发环境和用户工作区中无法正确加载格式化器模块 **根本原因**- 脚本优先尝试从 npm 包加载,但在开发环境应优先使用本地编译的模块 - 缺少对脚本所在位置的智能检测 **解决方案**- ✅ 调整加载策略优先级:开发环境 > 本地安装 > 全局安装 > 特殊位置 - ✅ 添加脚本位置检测,自动推导项目根目录 - ✅ 增加文件存在性检查,避免无效尝试 - ✅ 支持多种安装场景的兼容性 **影响文件**- `scripts/bash/format-wechat.sh` - `scripts/powershell/format-wechat.ps1` **测试验证**- ✅ 开发环境测试通过 - ✅ 用户工作区测试通过 - ✅ HTML 生成功能正常 ## [0.10.7] - 2025-01-29 ### Removed - 移除截稿时间询问 **原因**:用户反馈截稿时间询问没有意义,影响使用体验。 **移除内容**- ✅ 所有交互式询问中的截稿时间选项(wechat/video/general 工作区) - ✅ Brief 模板中的截稿时间字段 - ✅ 时间预算检查中的强制询问 - ✅ 决策调整选项中的"延长截稿时间?" - ✅ 示例输出中的截稿时间相关表述 **调整后逻辑**- 时间预算检查:仅在用户主动提供时间约束时评估,否则跳过 - 时间表述:改为"时间充裕/时间紧张/时间严重不足"等通用表述 - 建议方案:改为"预留更多准备时间"而非"延长截稿时间" **影响文件**- `templates/commands/specify.md` - `templates/commands/write.md` - `templates/commands/research.md` - `templates/brief-templates/*.md` (3个文件) - `docs/commands-design.md` ## [0.10.6] - 2025-01-29 ### Fixed - 修复 require.resolve 导致的模块加载错误 **问题**:用户在未全局安装 `article-writer-cn` 时,格式化脚本直接报错 `Cannot find module 'article-writer-cn'` **根本原因**- 0.10.5 版本使用 `require.resolve('article-writer-cn')` 作为第一个查找路径 - 如果包未安装,`require.resolve` 会直接抛出错误,而不是继续尝试其他路径 - 导致后续的回退策略无法执行 **解决方案**- ✅ 重构加载逻辑为策略模式 - ✅ 调整策略优先级: 1. 直接 require 包名(最可靠,适用于全局安装) 2. 项目本地 node_modules(适用于本地安装) 3. require.resolve 查找(适用于特殊安装位置) - ✅ 确保每个策略都能优雅失败并继续尝试 - ✅ 改进错误提示,提供清晰的解决方案 **影响范围**: - `scripts/bash/format-wechat.sh` - `scripts/powershell/format-wechat.ps1` **用户操作**: 升级后运行 `npm install -g article-writer-cn@latest` 即可解决 ## [0.10.5] - 2025-01-29 ### Fixed - 修复格式化器加载失败问题 **问题**:用户在运行微信格式化命令时报错 "无法加载格式化器" **根本原因**: - `format-wechat.sh` 尝试从用户项目的 `src` 目录加载 TS 源文件(不存在) - `format-wechat.ps1` 文件位置错误(应在 `powershell` 目录) - 格式化器路径查找逻辑不够健壮 **解决方案**: - ✅ 优化格式化器加载逻辑,支持多种路径回退: 1. 全局安装的 npm 包(`require.resolve`) 2. 项目本地安装(`node_modules`) 3. 直接从 npm 包名加载(最可靠) - ✅ 移除对用户项目 `src` 目录的依赖 - ✅ 统一 Bash 和 PowerShell 脚本的加载逻辑 - ✅ 添加友好的错误提示 **影响范围**- `scripts/bash/format-wechat.sh` - `scripts/powershell/format-wechat.ps1` **测试建议**```bash # Gemini/Codex 等平台用户测试 content init my-test --ai=gemini --workspace=wechat cd my-test # 创建测试文章后运行 bash .content/scripts/bash/format-wechat.sh article.md ``` ## [0.10.4] - 2025-01-29 ### Enhanced - 交互式决策点优化 **核心理念**:借鉴"创业压力测试员"的交互式决策机制,在关键节点引入质量预检、成本评估和结果演算。 **优化内容****1. `/specify` - 需求可行性预检** - ✅ 素材可得性评估(低/中/高成本) - ✅ 时间成本预估(分阶段:调研/写作/审校) - ✅ 质量目标可达性分析(基于素材等级) - ✅ 🟢🟡🔴 三档可行性评级 - ✅ 交互式决策点(继续/调整/暂停) **2. `/topic` - 选题压力测试** - ✅ 成功率预测(阅读完成率 60-90%) - ✅ 互动率预测(2-10%) - ✅ AI 检测率预测(15-45%) - ✅ 写作成本分析(时间/素材/技术门槛/返工风险) - ✅ 成本-收益分析 + 投入产出比评级(★★★★★) **3. `/collect` - 素材充分性评估** - ✅ A/B/C/D 四级素材评级 - ✅ 缺失分析(未找到素材的论点 + 补充建议) - ✅ 预期 AI 味预测(基于素材等级) - ✅ 5 个决策选项(继续/补充/调整/重搜/暂停) - ✅ 强制等待用户输入 **4. `/write` - 模式选择结果演算** - ✅ 输入条件评估(Brief/素材/选题质量) - ✅ 预期产出(质量指标 + 时间成本) - ✅ 风险提示(5 种常见风险场景) - ✅ 成功要素检查(5 项指标) - ✅ 4 个决策选项(继续/优化/换模式/暂停) **5. `/review` - 量化评估仪表盘** - ✅ 基础指标统计(字数/段落/句长) - ✅ AI 痕迹检测(8 类高频句式 + 具体位置标记) - ✅ 真实性评级(A/B/C/D) - ✅ 内容完整性检测(论点覆盖率 + 论据支撑率) - ✅ 综合质量仪表盘(100 分制 + 🔴🟡🟢 优先级建议) **核心改进**- 从主观描述("AI 味较重")到量化指标("AI 味 35%") - 从 AI 自动执行到用户在关键点确认 - 从事后发现问题到事前预测风险 - 从模糊建议到具体应对方案 **技术细节**- 仅优化命令模板提示词,无代码逻辑变更 - 5 个文件,新增约 1127 行指导性内容 - 所有评估基于现实主义数据基准 ## [0.10.3] - 2025-01-29 ### Fixed - 再次优化:移除 29MB 的 pdf-parse **问题**:pdf-parse (29MB) 是最大的依赖包,但只用于 PDF 文档爬取(很少使用)。 **解决方案**-**pdf-parse (29MB)** 改为可选依赖 - ✅ PDF 提取器支持懒加载,用时才安装 - ✅ 不影响网页爬虫功能 **效果**- ✅ 安装大小再减少 **29MB** - ✅ 基础安装从 ~50MB 降至 **~21MB** **按需安装**```bash # 如需 PDF 文档爬取 npm install -g pdf-parse ``` ## [0.10.2] - 2025-01-29 ### Fixed - 优化可选依赖,大幅加快安装速度 **问题**:安装时卡在下载 Puppeteer (~200MB Chromium) 和多个云存储 SDK,即使用户不需要这些功能。 **解决方案**-**Puppeteer** 改为可选依赖(仅动态爬虫需要) -**@aws-sdk/client-s3** 改为可选依赖(仅 AWS S3 图床需要) -**ali-oss** 改为可选依赖(仅阿里云 OSS 图床需要) -**cos-nodejs-sdk-v5** 改为可选依赖(仅腾讯云 COS 图床需要) -**qiniu** 改为可选依赖(仅七牛云图床需要) - ✅ 动态爬虫支持懒加载,用时才安装 **效果**- ✅ 安装速度从 ~3 分钟降至 **~30 秒** - ✅ 安装包大小减少 **~200MB** - ✅ 功能不变,需要时按需安装 **按需安装**```bash # 需要动态爬虫时 npm install puppeteer # 需要 AWS S3 图床时 npm install @aws-sdk/client-s3 # 需要阿里云 OSS 图床时 npm install ali-oss ``` ## [0.10.1] - 2025-01-29 ### Fixed - 移除 better-sqlite3 依赖,解决 Windows 安装问题 **问题**:Windows 用户在安装时需要 Visual Studio Build Tools (~6GB),安装成本极高。 **解决方案**- ✅ 完全移除 `better-sqlite3` 依赖(从未被使用的搜索索引功能) - ✅ 删除 `SearchIndexer` 类和相关代码 - ✅ AI 直接读取 Markdown 文件,无需数据库索引 - ✅ 简化安装流程,零 C++ 依赖 **影响**- ✅ Windows 用户无需安装 Visual Studio Build Tools - ✅ 安装速度更快,跨平台体验一致 - ✅ 代码更简洁,删除 200+ 行无用代码 ## [0.10.0] - 2025-01-26 ### Added - 多模式写作系统 🎯 **核心理念:AI是你的写作伙伴,提供多种协作模式** 基于 [PRD-09](docs/prd/prd-09-multi-mode-writing.md) 实现多模式写作系统,完全保留 PRD-08 教练模式的同时,新增快速模式和混合模式。 #### 3种写作模式 1. **🎓 教练模式(完全保留 PRD-08)** - AI 角色:教练(提问引导) - AI 生成:0%(不生成内容) - 用户工作:100%(全写) - 时间投入:3-4 小时 - AI 检测率:< 15% - 质量评级:⭐⭐⭐⭐⭐ - 适用场景:产品评测、使用体验、深度观点 - 工作原理:AI 提问 → 用户回答 → AI 引导写作 → AI 检查 2. **⚡ 快速模式(PRD-09 新增)** - AI 角色:助手(生成初稿) - AI 生成:100%(完整初稿) - 用户工作:20%(审校修改) - 时间投入:1-2 小时 - AI 检测率:25-40% - 质量评级:⭐⭐⭐ - 适用场景:论文解读、技术总结、知识科普 - 工作原理:AI 生成完整初稿 → 用户审阅修改 → 迭代优化 3. **🔄 混合模式(PRD-09 新增)** - AI 角色:协作者(写框架) - AI 生成:40%(框架部分) - 用户工作:60%(核心内容) - 时间投入:2-3 小时 - AI 检测率:18-25% - 质量评级:⭐⭐⭐⭐ - 适用场景:技术教程、案例分析、实战方案 - 工作原理:AI 写框架 → 用户填核心 → 整合成文 #### 核心功能 **智能推荐系统** - `/specify` 自动识别文章类型(个人经历型/信息整理型/混合型) - 根据主题关键词推荐最合适的写作模式 - 提供三种模式对比表,帮助用户决策 **文章类型判断逻辑** ``` IF 主题包含 [评测、体验、使用感受、对比实测、我的看法、深度观点] THEN 类型 = 个人经历型, 推荐模式 = 教练模式 ELSE IF 主题包含 [论文解读、技术总结、知识科普、XX介绍、资料整理] THEN 类型 = 信息整理型, 推荐模式 = 快速模式 ELSE IF 主题包含 [教程、案例分析、技术方案、实战指南、XX 实现] THEN 类型 = 混合型, 推荐模式 = 混合模式 ``` **模式选择界面** - 学习 Claude Code 的交互设计 - 清晰的视觉层次(emoji + 标题 + 描述) - 关键指标透明(时间、AI 检测率、质量) - 适用场景明确 - 简单的数字选择(1/2/3) #### 修改的命令 1. **`/specify` - 定义需求** - ✅ 新增"文章类型分析"章节 - ✅ 自动判断文章类型(个人经历型/信息整理型/混合型) - ✅ 推荐最合适的写作模式 - ✅ 添加三种模式对比表 - 文件:`templates/commands/specify.md` 2. **`/write` - 多模式写作(重大改造)** - ✅ 标题改为"多模式写作系统" - ✅ 添加模式选择界面(1/2/3 选择) -**完全保留**教练模式逻辑(PRD-08 原版,无任何改动) - ✅ 新增快速模式完整工作流 - ✅ 新增混合模式完整工作流 - ✅ 添加使用指南和 FAQ - 文件:`templates/commands/write.md` 3. **`/topic` - 选题讨论** - ✅ 添加"写作模式建议"章节 - ✅ 显示推荐模式和三种模式对比 - ✅ 提醒用户可在 `/write` 时自由选择 - 文件:`templates/commands/topic.md` #### 设计文档 1. **PRD-09 设计文档** - 完整的多模式写作系统设计 - 三种模式详细规格说明 - 用户场景和对比分析 - 实施优先级和风险评估 - 文件:`docs/prd/prd-09-multi-mode-writing.md` 2. **PRD-08 更新** - 添加 PRD-09 扩展说明章节 - PRD-08 vs PRD-09 对比表 - 强调教练模式完全保留 - 文件:`docs/prd/prd-08-complete-workflow-redesign.md` 3. **实施总结文档** - 完整的实施过程记录 - 文件修改清单 - 设计亮点和预期效果 - 后续建议 - 文件:`IMPLEMENTATION_SUMMARY.md` #### 工作流程变化 **原流程(PRD-08):** ``` /specify → /topic → /research → /collect → /extract → /write(教练) → /authentic → /review → /publish ``` **新流程(PRD-09):** ``` /specify → 自动检测文章类型,推荐模式 ↓ /topic → 显示模式推荐 ↓ /write → 用户选择模式 (1/2/3) ↓ ├─ 教练模式: /collect → /extract → AI 提问 → 用户写 → AI 检查 ├─ 快速模式: AI 生成初稿 → 用户审校修改 └─ 混合模式: AI 写框架 → 用户补充核心 → 整合 ``` #### 用户价值 **灵活性 ⬆️** - 根据文章类型选择合适模式 - 根据时间预算调整投入 - 根据质量要求选择模式 **效率 ⬆️** - 快速模式:1-2 小时出稿 - 混合模式:2-3 小时出稿 - 教练模式:3-4 小时高质量(保持不变) **体验 ⬆️** - 不再被"道德绑架" - 明确的模式预期 - 清晰的时间和质量权衡 ### Changed - README.md 更新,添加多模式系统说明 - 核心理念从"AI是教练"扩展为"AI是写作伙伴" - 版本号更新为 0.10.0 ### Technical Details - 教练模式代码完全保留(一行未改) - 快速模式和混合模式为新增功能 - 所有修改向后兼容 - 无破坏性变更 --- ## [0.9.3] - 2025-01-xx ### Added - 图床系统 + 跨平台支持 **图床系统** - ✅ 支持多云厂商图床(阿里云 OSS/腾讯云 COS/七牛云/AWS S3) - ✅ 支持 Base64 内嵌图片 - ✅ 配置文件系统(`.content/image-hosting.json`- ✅ 图片上传命令 **跨平台增强** - ✅ Codex CLI 自动安装支持 - ✅ PowerShell 格式化脚本支持 - ✅ Windows 平台兼容性改进 --- ## [0.9.0] - 2025-10-27 ### Added - 真实驱动完整实现 ⭐ **核心理念:AI不是代笔,而是教练** 基于 [PRD-08](docs/prd/prd-08-complete-workflow-redesign.md) 完整实现真实驱动工作流: #### 3个核心新命令 1. **`/extract` - 提取真实经历** - AI提问引导(5-10个深度问题) - 用户详细回答并自己写完整经历 - 保存结构化经历记录 - 从一句话素材扩展到完整段落 - 文件:`templates/commands/extract.md` 2. **`/authentic` - 5维真实性检查** - 温度检查(是否有真实情感) - 个性检查(是否是"你的"经历) - 地域性检查(如适用) - 真实细节检查(识别假细节,如"蜡笔在手心滚") - 思想深度检查(是否有洞察) - 预估AI检测率,目标 < 25% - 文件:`templates/commands/authentic.md` 3. **`/hint` - 表达思路提示** - 提供4种表达思路框架(对比法/数据化/故事化/问题-解决) - AI只给结构,不给具体内容 - 强调用户基于真实经历填充 - 文件:`templates/commands/hint.md` #### 1个核心改造 **`/write` - 教练模式(逻辑完全重写)** - ❌ 移除所有AI直接生成内容的逻辑 - ✅ AI提问 → 用户写 → AI检查 循环 - ✅ 逐段完成,每段实时检查AI味 - ✅ 引用`/extract`中扩展的真实经历 - ✅ 强制人工确认机制 - 文件:`templates/commands/write.md`(大幅改造) #### 命令增强 **`/specify` - 定义需求** - 新增"真实经历需求"字段 - 素材库检查清单 - ⚠️ 提醒:80%内容必须来自真实经历 - 文件:`templates/commands/specify.md` **`/topic` - 选题讨论** - AI只提供框架和角度,不生成具体标题 - 标注"你需要填充"的内容 - 强调素材库检查 - 文件:`templates/commands/topic.md` **`/check` - 发布前检查** - 新增真实性检查清单 - 素材来源检查(80%来自素材库) - 细节真实性检查(无假细节) - AI检测指标(< 25%) - 编辑视角检查 - 文件:`templates/commands/check.md` **`/expand` - 快速扩展素材** - 添加缺失的shell脚本配置 - 轻量级版本的`/extract` - 文件:`templates/commands/expand.md` **其他命令** - 所有命令模板添加缺失的shell脚本配置 - 修复构建警告 #### 构建系统 **修复TOML生成** - 修复中文字符解析问题 - 使用单引号字符串(literal strings) - 所有13个平台成功构建 - 文件:`scripts/build/generate-commands.sh` #### 完整命令列表(13个) **主流程(11步):** 1. `/specify` - 定义需求 ⚠️ 2. `/topic` - 选题讨论 ⚠️ 3. `/research` - 信息搜索 ✅ 4. `/collect` - 搜索素材 ✅ 5. `/extract` - 提取经历 ⭐ 新增 6. `/write` - AI教练写作 ⭐ 改造 7. `/authentic` - 真实性检查 ⭐ 新增 8. `/review` - 三遍审校 ✅ 9. `/images` - 配图建议 ✅ 10. `/check` - 发布检查 ⚠️ 11. `/publish` - 发布指南 ✅ **辅助命令(2个):** - `/hint` - 表达思路 ⭐ 新增 - `/expand` - 快速扩展 ✅ #### 核心指标 - ✅ AI不越界:无法生成可直接使用的段落 - ✅ 真实性达标:80%来自个人素材库 - ✅ AI检测率 < 25% - ✅ 5维检查通过 - ✅ 编辑无法识别AI痕迹 ### Technical - 支持13个AI平台(Claude、Gemini、Cursor、Windsurf等) - 命令命名保持简短易记(≤8字符) - 向后不兼容的破坏性变更(`/write`逻辑完全重写) - 完整的AI边界控制机制 ### Documentation - 新增 [PRD-08](docs/prd/prd-08-complete-workflow-redesign.md) - 完整流程设计 - 更新 README.md - 反映v0.9.0特性 - 完整的命令模板文档 ## [0.8.0] - 2025-10-27 ### Added - 图床系统 🖼️ **多云厂商支持 + Base64内嵌** - 支持阿里云OSS、腾讯云COS、七牛云Kodo - 支持Base64内嵌(无需云服务) - 自动检测并转换Markdown中的本地图片 - 支持图片压缩和格式转换 - 详见相关提交日志 ### Fixed - 修复图床系统TypeScript编译错误 - 修复类型定义问题 ## [0.7.0] - 2025-10-27 ### Added - 微信公众号一键复制 - 基于doocs/md的微信格式化 - 一键复制到公众号编辑器 - 支持多种主题和样式 ## [0.6.0] - 2025-10-27 ### Changed - 命令重命名 🔄 **参考 [spec-kit](https://github.com/sublayerapp/spec-kit) 设计理念,优化命令名称:** | 旧命令 | 新命令 | 说明 | |--------|--------|------| | `/brief-save` | `/specify` | 定义创作需求 | | `/topic-discuss` | `/topic` | 选题讨论 | | `/materials-search` | `/collect` | 素材收集 | | `/write-draft` | `/write` | 撰写初稿 | | `/audit` | `/review` | 内容审校 | | `/final-check` | `/check` | 发布前检查 | **保持不变:** - `/research` - 信息调研 - `/images` - 配图建议 - `/publish` - 发布指南 **新工作流程:** ``` /specify → /topic → /research → /collect → /write → /review → /images → /check → /publish ``` **设计理念:** - ✅ 命令简洁统一(都是简短英文单词) - ✅ 与 spec-kit 保持一致(`/specify` 作为第一步) - ✅ 更符合国际化习惯 - ✅ 易于记忆和输入 ### Removed -**不再支持旧命令别名** - 旧命令名已完全移除 **迁移指南:** 如果您有自定义脚本或文档引用了旧命令,请更新为新命令名。 ## [0.5.2] - 2025-10-26 ### Fixed - 修复 `/brief-save` 命令的选项标注问题 - 添加明确的 (a) (b) (c) (d) 选项标注,提升用户体验 - 强调动态生成选项,避免使用固定模板 - 要求选项内容与用户需求高度匹配 - 添加上下文相关的选项生成指导原则 ## [0.5.1] - 2025-10-26 ### Fixed - 修复 `content init` 命令后显示的命令提示(从 novel-writer 命令改为 article-writer 命令) - 修复 `content --help` 输出的示例命令 - 更新提示信息从"小说项目"改为"文章项目" - 更新推荐流程提示 ## [0.5.0] - 2025-10-26 ### Added - 文档爬虫系统 🚀 - **完整的文档爬取系统** - 静态页面爬取 (cheerio + axios) - 动态页面支持 (Puppeteer) - PDF 文档提取 (pdf-parse) - 智能内容分类(6个预设分类) - 代码语言自动检测(10+语言) - 全文搜索索引 (SQLite FTS5) - 实时进度显示和ETA预估 - **核心爬虫模块** (~1,970行代码) - `src/crawler/types.ts` - 完整类型定义 - `src/crawler/doc-crawler.ts` - 主爬虫引擎 - `src/crawler/dynamic-crawler.ts` - 动态页面支持 - `src/crawler/pdf-extractor.ts` - PDF提取器 - `src/crawler/knowledge-converter.ts` - 知识库转换 - `src/crawler/search-indexer.ts` - 搜索索引 - `src/crawler/progress-bar.ts` - 进度显示 - `src/crawler/crawler-manager.ts` - 统一管理器 - `src/crawler/utils.ts` - 工具函数 - `src/crawler/config.ts` - 预设配置(Vue/React/TypeScript等) - **CLI 和脚本支持** - `src/commands/research-docs.ts` - TypeScript CLI 接口 - `scripts/bash/research-docs.sh` - Bash脚本入口 - **集成到 /research 命令** - 自动检测文档网站URL - 支持三种模式:网页爬取 / PDF提取 / 常规搜索 - 无缝集成到现有写作流程 - **知识库系统** - `_knowledge_base/raw/` - 原始JSON数据 - `_knowledge_base/indexed/` - Markdown知识库 - `_knowledge_base/cache/` - SQLite搜索索引 - 支持全文搜索和分类查询 - **新增依赖** (7个生产依赖) - `axios@^1.6.0` - HTTP请求 - `better-sqlite3@^9.2.2` - 搜索索引 - `cheerio@^1.0.0-rc.12` - HTML解析 - `p-limit@^5.0.0` - 并发控制 - `pdf-parse@^1.1.1` - PDF提取 - `puppeteer@^21.6.1` - 动态页面 - `turndown@^7.1.2` - HTML转Markdown - **完整文档** - `docs/crawler-guide.md` - 详细使用指南 - `docs/crawler-implementation-summary.md` - 实施总结 - `docs/crawler-quick-test.md` - 快速测试指南 - `_knowledge_base/README.md` - 知识库说明 ### Changed - 增强 `templates/commands/research.md` - 添加文档爬取模式 - 更新 `.gitignore` - 排除知识库生成数据 - 更新 `README.md` - 添加爬虫系统说明 ### Technical - 支持并发爬取(可配置并发数) - 智能错误重试和降级策略 - URL去重和规范化 - 进度缓存和断点续传准备 - 跨平台支持(macOS/Linux/Windows) ### Usage ```bash # 爬取网页文档 bash scripts/bash/research-docs.sh \ --name "vue" \ --url "https://vuejs.org/guide/" \ --max-pages 200 # 提取 PDF bash scripts/bash/research-docs.sh \ --name "manual" \ --pdf "~/Downloads/manual.pdf" # 在 AI 命令中使用 /research "Vue 3 官方文档" --url https://vuejs.org/guide/ ``` ## [0.4.0] - 2025-10-26 ### Added - **微信公众号 Markdown 自动格式化功能** - 基于 [doocs/md](https://github.com/doocs/md) 的核心渲染引擎 - 支持三大主题系统: `default`(经典)、`grace`(优雅)、`simple`(简洁) - 交互式主题选择: 在 `content init` 时可选择主题和颜色 - 完整配置驱动: 通过 `.content/config.json` 自定义样式 - 零命令增加: 集成到现有 `/publish` 命令中 - HTML 预览生成: 自动生成 `publish/wechat.html` 预览文件 - 支持 12+ 编程语言的代码高亮 - 链接自动转脚注功能 - 详细文档: `docs/wechat-formatting.md` - **核心文件** - `src/formatters/wechat-formatter.ts` - 微信格式化核心引擎 - `scripts/bash/format-wechat.sh` - 格式化脚本 - `examples/test-formatter.ts` - 测试示例 - `docs/wechat-formatting.md` - 完整使用文档 - `INTEGRATION_SUMMARY.md` - 集成技术总结 - **新增依赖** - `marked@^16.4.1` - Markdown 解析器 - `highlight.js@^11.11.1` - 代码语法高亮 - `juice@^11.0.3` - CSS 内联处理 ### Changed - 更新 `src/cli.ts`: 集成主题选择到初始化流程 - 更新 `src/utils/interactive.ts`: 新增 `selectFormattingTheme()` 函数 - 更新 `templates/commands/publish.md`: 添加微信格式化执行流程 - 更新 `.content/config.json` 模板: 添加 `formatting` 配置节 ### Documentation - 新增微信格式化完整使用文档 - 更新 README.md 添加 v0.4.0 特性说明 - 新增集成技术总结文档 ## [0.2.0] - 2025-10-26 ### Added - 交互式启动界面(箭头键选择) - 改用 `.content/` 配置目录 - 改进用户体验和文档 ## [0.1.0] - 2025-10-26 ### Added - 九步写作流程完整实现 - 工作区系统(wechat/video/general) - AI 味自检插件 - 素材导入插件 - 支持 13 个 AI 平台 [0.4.0]: https://github.com/wordflowlab/article-writer/compare/v0.2.0...v0.4.0 [0.2.0]: https://github.com/wordflowlab/article-writer/compare/v0.1.0...v0.2.0 [0.1.0]: https://github.com/wordflowlab/article-writer/releases/tag/v0.1.0