--- name: qiaomu-content-interpreter description: "Transform content with Qiaomu's conversational style using TWO-PASS refinement. Pass 1: Rewrite with Qiaomu style. Pass 2: Compare with original, supplement missing content. Sequential workflow with automatic execution." --- # 乔木内容解读 v3.3 ## 概述 将任意长文本内容转化为乔木风格文章,采用**真正的两遍精炼**工作流和**并发配图生成**。 **🚨 重要更新(v3.3)**:配图逻辑优化 + 文件组织规范化 - **配图提示词生成**:基于H2**对应段落内容**理解核心观点,而非仅看标题 - **文件组织规范**:草稿放工作区(content_interpretations/),终稿放根目录 - **路径修复机制**:自动检测和修复图片路径问题(papers/ → content_interpretations/) - **完整示例流程**:从读取段落→提炼观点→设计视觉隐喻的详细步骤 **🚨 重要更新(v3.2)**:新增中文规范检查 - **标点符号**:强制使用中文标点(,。:?!),禁止英文标点 - **中英翻译**:除人名/产品名外,所有英文必须翻译成中文 - **质量检查**:在步骤1、步骤2、质量检查清单中全面添加规范要求 **🚨 重要更新(v3.1)**:优化命名和内容质量 - **主题命名**:工作区用文章主题命名,不用时间戳 - **文件命名**:用"主题-初稿/改进.md",不用draft_v1/v2 - **禁止编造**:明确禁止编造故事、案例、数据 - **非中文处理**:增加翻译步骤 **🚨 重大更新(v3.0)**:修复workflow理解错误 - **不是两种模式**,而是**依次执行的两步workflow** - **步骤1(初稿)**:用乔木风格重写原文(专注风格转换) - **步骤2(改进)**:对比原文和初稿,补充遗漏内容(专注内容完整性) **核心思想**: - 第一遍:专注于风格转换,可能会遗漏一些细节 - 第二遍:专注于内容完整性,补充遗漏的重要内容 - 两遍结合:既有乔木风格,又有完整内容 - **绝不编造**:只使用原文的例子和数据 **核心特点**: - ✅ 全自动执行,无需中途确认 - ✅ 真正的两遍精炼:风格转换 + 内容补充 - ✅ 并发配图生成,速度提升3倍 - ✅ 对话式语言,深度洞察 - ✅ 严格去AI感表达 - ✅ 《纽约客》风格配图 **输出**: - 与原文等长的乔木风格文章(±10%) - 配《纽约客》风格插画(每个H2标题一张) - 完整工作档案(draft_v1初稿 + draft_v2改进版) - 可对比两版,看风格转换和内容补充的过程 --- ## 自动化工作流程 **🚨 CRITICAL - 执行原则(必须严格遵守)**: 1. ✅ **全自动执行**:步骤0→1→2→3→4→5,不跳过任何步骤 2. ✅ **不询问用户**:不问"是否需要配图"、"是否需要XX",直接执行 3. ✅ **先保存文件再展示**:每一步生成内容后,**立即保存到文件**,不要只在对话中输出 4. ✅ **必须生成配图**:步骤3必须执行,不要跳过或询问用户 5. ✅ **实时更新进度**:每完成一步立即更新TodoWrite状态 **❌ 禁止行为**: - ❌ 不要只在对话中输出文章内容而不保存文件 - ❌ 不要问用户"是否需要配图"、"是否需要XX" - ❌ 不要跳过任何步骤 - ❌ 不要在未完成所有步骤前就告知用户"完成" **推荐顺序**:步骤0 → 1 → 2 → 3 → 4 → 5(严格按顺序) --- ### 初始化:创建进度追踪 **第一步**:创建todo list,让用户看到进度 ```python TodoWrite([ {"content": "准备工作空间", "status": "in_progress", "activeForm": "正在准备工作空间"}, {"content": "生成初稿(第一遍)", "status": "pending", "activeForm": "正在生成初稿"}, {"content": "生成改进版(第二遍)", "status": "pending", "activeForm": "正在生成改进版"}, {"content": "生成纽约客风格配图", "status": "pending", "activeForm": "正在生成配图"}, {"content": "保存最终文件", "status": "pending", "activeForm": "正在保存最终文件"} ]) ``` **每完成一步**,立即更新状态为`completed`,下一步为`in_progress` --- ### 步骤0:准备工作空间和内容预处理 **目标**:创建工作目录,保存原始内容,如果是非中文则翻译,自动判断内容类型和目标路径 **执行步骤**: #### 步骤0.1:自动判断内容类型并选择目标路径 **🚨 新增功能:自动识别内容类型,无需询问用户** 根据输入内容自动判断类型,并选择正确的保存路径: | 内容类型 | 关键词 | 目标路径 | 配图风格 | |---------|-------|---------|---------| | **YouTube/视频访谈** | YouTube、视频、interview、访谈、对话 | `20-29 学习/23 播客转录/` | 纸雕水彩封面(4张) | | **公众号文章** | 公众号、文章、解读、分析 | `03.项目/AI不插电/` 或 `11 公众号-向阳乔木推荐看/` | 纽约客风格插画 | | **论文/学术** | paper、论文、arxiv、PDF、学术 | `25 论文库/21.02 论文解读/` | 学术风格配图 | | **小红书** | 小红书、xhs、图文 | `13 小红书/` | 手绘配图 | | **默认** | 其他 | `20-29 学习/23 播客转录/` | 纸雕水彩封面 | **自动判断逻辑**: ```python # 伪代码:自动判断内容类型 def get_content_type(user_input): if "youtube.com" in user_input or "YouTube" in user_input or "访谈" in user_input: return "podcast" # 播客访谈 elif "公众号" in user_input or "文章" in user_input: return "wechat" # 公众号文章 elif "论文" in user_input or "arxiv" in user_input or ".pdf" in user_input: return "paper" # 学术论文 elif "小红书" in user_input or "xhs" in user_input: return "xiaohongshu" else: return "podcast" # 默认当播客访谈处理 ``` **🚨 重要**:判断出内容类型后,**不要询问用户**,直接使用对应的路径和配图风格 #### 步骤0.2:提炼文章主题,创建工作目录 **重要**:不要用时间戳,要用文章核心主题命名 ```bash # 根据内容类型选择基础路径 base_path = get_base_path(content_type) # 如 "20-29 学习/23 播客转录/" cd "/Users/joe/乔木新知识库/{base_path}" # 1. 快速阅读原文,提炼核心主题(3-5个字) # 例如:"AnthropicCEO访谈"、"大鹏的十年"、"AI时代的选择" # 2. 用主题+日期创建工作目录(避免重名) work_dir="content_interpretations/停下来才能想清楚" mkdir -p "$work_dir/images/illustrations" ``` #### 步骤0.3:保存原文并判断语言 **使用.md格式保存原文**: ```python # 保存原始内容(使用.md格式) Write( file_path="{work_dir}/original_content.md", content="{user_provided_content}" ) ``` **判断语言**: - 如果是中文:直接进入步骤1 - 如果是非中文(英文等):执行步骤0.3 #### 步骤0.3:翻译非中文内容(如需要) **如果原文是非中文**,先翻译成中文: ```markdown 请将以下内容翻译成中文,保留原文的完整信息: {original_content} 翻译要求: - 准确传达原意 - 保留所有细节、数据、引用 - 自然流畅的中文表达 - 不要添加原文没有的内容 ``` **保存翻译版本(使用.md格式)**: ```python Write( file_path="{work_dir}/translated_content.md", content="{translated_content}" ) ``` **后续步骤使用translated_content作为"原文"** **输出结构**(工作区 + 终稿): ``` AI不插电/ ← 根目录 ├── 写文案就像做菜.md ← 终稿(步骤4生成,无H1标题) │ └── content_interpretations/ ← 工作区(所有中间产物) └── 停下来才能想清楚/ ← 用主题命名 ├── original_content.md ← 原始内容(可能是英文) ├── translated_content.md ← 翻译版本(如果需要) ├── 停下来才能想清楚-初稿.md ← 初稿(第一遍,保留H1) ├── 停下来才能想清楚-改进.md ← 改进版(第二遍,保留H1) ├── visual_config.json ← 配图配置 └── images/ └── illustrations/ ← 配图目录 ├── illustration_1.png ├── illustration_2.png └── ... ``` **🚨 关键点 - 文件组织原则**: 1. **草稿在工作区**: - 所有中间版本(初稿、改进版)都放在`content_interpretations/{主题}/` - 保留H1标题,方便对比不同版本 - 包含所有配图和配置文件 2. **终稿在根目录**: - 步骤4用`finalize_markdown.py`脚本处理 - 提取H1标题作为文件名 - 从文章中删除H1行 - 图片路径指向工作区的`content_interpretations/{主题}/images/` 3. **路径引用规范**: - 工作区内的文件:相对路径`images/illustrations/illustration_1.png` - 根目录的终稿:相对路径`content_interpretations/{主题}/images/illustrations/illustration_1.png` - 脚本会自动处理路径转换 **完成后**:记录工作目录路径,更新todo状态 --- ### 步骤1:生成初稿(第一遍 - 专注风格转换) **🚨 重要提醒**:生成后**必须立即使用Write工具保存到文件**,不要只在对话中展示 **目标**:用乔木风格改写原文,专注于风格转换 **核心提示词**: ```markdown ## 乔木写作风格参考 v2 ### 语言特质 - 口语化、对话感强,像和读者面对面聊天 - 善用生活化类比解释复杂概念 - 在专业性和可读性之间自然平衡 ### 人称视角(重要) - **转述性内容**(YouTube视频、采访、论文等):**必须用第三人称** - ✅ "作者说..."、"他认为..."、"研究者发现..." - ❌ "我觉得..."、"我认为..."、"我们看到..." - **和读者互动**:可以用"你"来制造对话感 - ✅ "你可能会想..."、"这对你意味着什么?" - **引述原文观点**:明确归属,不占为己有 - ✅ "作者的观点是..." - ❌ "我的观点是..."(除非是作者乔木本人的原创内容) ### 表达习惯 - 短段落,多留白,视觉舒适 - 重要观点用**加粗**突出 - 频繁用设问和"你"来制造互动感 - 要用中文逗号(,)不要加dash破折号 - **绝对不要用"不是","而是","想象一下","你有没有想过" 这种AI感表达** - **绝对不要用破折号** ### 内容层次 - 不满足于表面解释,会延伸到更深的思考 - 善于在不同领域间建立联系(技术→生活→认知) - 既讲"是什么",也讲"为什么重要" ### 风格调性 - 真诚、不装、客观转述 - 专业但不掉书袋,数据和案例支撑观点 - 有洞察力,能给读者"原来如此"的感觉 --- ### 待改写内容 {original_content} --- ### 改写要求(步骤1:初稿) **重点**:专注于风格转换,用乔木风格重写原文 1. **H1标题**: - 必须从原文核心主题提炼 - 概括全文,不只是抓一个细节 - 吸引人,点题 2. **结构**: - 保持原文的主要内容结构 - 根据原文长度决定H2章节数量(不限制) - 短段落,多留白 3. **内容处理**: - 尽量保留原文的核心内容 - 用乔木风格重新表达 - **可以接受**:为了流畅性,初稿可能会遗漏一些细节(步骤2会补充) - **不应该**:故意删减重要内容 4. **风格要求**: - 口语化表达 - 生活化类比 - 重要观点加粗 - **第三人称转述**:用"他说..."、"作者认为...",避免"我觉得..." - 可以用"你"和读者互动:"你可能会想..." - 绝对禁止:"不是...而是..."、"想象一下"、破折号 5. **🚨 中文规范(必须严格遵守)**: - **标点符号**:100%使用中文标点 - 用 `,` 不用 `,` - 用 `。` 不用 `.`(句末) - 用 `:` 不用 `:` - 用 `?` 不用 `?` - 用 `!` 不用 `!` - 用 `""` 不用 `""`(引号) - **中英混杂处理原则**: - ✅ **可以保留**的3类英文: 1. 人名(如 Naval Ravikant, Elon Musk, 李开复) 2. 知名产品/公司名(如 GitHub, Google, Tesla, ChatGPT) 3. 行业通用缩写(如 AI, API, CEO, CTO, VC, SaaS) - ❌ **必须翻译**:除上述3类外的所有其他英文词 - **判断标准**:如果一个普通中国读者(非IT专业人士)看到这个英文词会困惑或不理解,就必须翻译成中文 - **错误模式**(必须避免): - ❌ 形容词 + 中文:如 "真正amazing"、"很cool的想法" - ❌ 动词 + 中文:如 "properly使用"、"deeply理解" - ❌ 名词短语:如 "这个concept很重要"、"他的insight很深刻" - 正确做法:理解含义后用纯中文重写整句 - **正确示例**(可以保留英文): - ✅ 人名保留:"Steve Jobs说..."、"李开复认为..." - ✅ 知名产品保留:"在GitHub上..."、"用ChatGPT写代码" - ✅ 通用缩写保留:"这家公司的CEO..."、"AI技术" 6. **🚨 禁止编造(重要)**: - **绝对不要编造故事、案例、数据** - 不要说"这让我想起一个朋友的故事"然后编造 - 不要说"我认识一个人"然后编造 - 只使用原文提供的例子和数据 - 如果要类比,明确标注是类比,不要伪装成真实案例 - **编造内容是严重错误** 6. **字数**: - 与原文相当(±20%可接受) - 不追求严格等长,步骤2会调整 请用乔木风格改写,生成draft_v1。 ``` **🚨 生成并立即保存(强制)**: 使用Write工具保存,**文件名使用"主题-初稿.md"格式**: ```python Write( file_path="{work_dir}/{article_theme}-初稿.md", content="{generated_draft_v1}" ) # 例如:content_interpretations/停下来才能想清楚/停下来才能想清楚-初稿.md ``` **🚨 严重错误示例(禁止)**: - ❌ 直接在对话中输出最终版本,没有保存初稿文件 - ❌ 使用draft_v1.md这种无意义的文件名 - ❌ 跳过步骤1,直接进入步骤2 - ❌ 编造故事、案例、数据 **正确做法**: - ✅ 必须先生成初稿并保存到文件 - ✅ 文件名使用"主题-初稿.md"格式 - ✅ 然后才能进入步骤2生成改进版 - ✅ 工作目录必须同时包含"主题-初稿.md"和"主题-改进.md" - ✅ 只使用原文的例子,不编造内容 **完成后**: 1. 立即更新TodoWrite状态为completed 2. 可以简短告知用户:"✅ 初稿已生成并保存到 {work_dir}/{主题}-初稿.md" --- ### 步骤2:生成改进版(第二遍 - 专注内容完整性) **🚨 重要提醒**:生成后**必须立即使用Write工具保存到文件**,然后直接进入步骤3生成配图 **目标**:对比原文和初稿,补充遗漏的内容 **反思提示词**: ```markdown 你刚才用乔木风格生成了以下初稿: --- {draft_v1_content} --- 现在需要**对比原文**,检查初稿是否遗漏了重要内容。 ## 原文内容回顾 {original_content} --- ## 反思检查清单(按优先级排序) ### 🚨 1. 内容完整性检查(最高优先级) **逐段对比原文和初稿**: - [ ] 原文的核心观点是否全部保留? - [ ] 具体的对话、数据、案例是否完整? - [ ] 原文中的关键细节是否遗漏? - [ ] 原文的论证逻辑是否完整? **找出遗漏内容**: - 列出初稿中**缺失但重要**的内容 - 列出初稿中**被过度简化**的部分 - 列出初稿中**需要补充**的细节 **字数检查**: - 原文约X字,初稿约Y字 - 如果字数相差30%以上,说明删减过多,需要补充 ### 2. 中文规范检查(必须100%符合) **🔍 逐句阅读初稿,检查以下问题**: - [ ] **标点符号**:是否100%使用中文标点? - 查找并替换:所有 `,` → `,` - 查找并替换:所有 `:` → `:`(排除URL中的) - 查找并替换:所有 `?` → `?` - 查找并替换:所有 `!` → `!` - [ ] **中英混杂**:逐句检查是否有不该保留的英文词 - **判断标准**:普通中国读者看到会困惑的英文词就要翻译 - **可以保留**:人名、知名产品名、通用缩写(如 CEO, AI) - **必须翻译**:其他所有英文词和短语 - **检查方法**:逐句阅读,看到英文词就问自己3个问题: 1. 这是人名吗?(是→保留,否→继续) 2. 这是知名产品/公司名吗?(是→保留,否→继续) 3. 这是通用缩写吗?如CEO/AI(是→保留,否→必须翻译) - **常见错误模式**(全部必须修复): - 形容词 + 中文:如"很amazing的方法"、"真正powerful的工具" - 动词 + 中文:如"properly执行"、"deeply分析" - 名词短语:如"这个concept"、"他的framework" ### 3. AI感表达检查(必须100%消除) - [ ] 是否用了"想象一下"、"你有没有想过"? - [ ] 是否用了"不是...而是..."? - [ ] 是否用了破折号(—)? ### 4. 风格优化检查 - [ ] **内容是否重复啰嗦**: - 逐段检查是否有重复表达同一观点 - 是否有意思相同但换了说法的句子 - 删除冗余内容,保持简洁有力 - 每个观点只说一次,不要反复强调 - [ ] **人称视角**:是否用第三人称转述? - 检查是否有"我觉得"、"我认为"等第一人称表达 - 应该用"他说..."、"作者认为..."、"研究者发现..." - 可以用"你"和读者互动 - [ ] 生活化类比是否足够?(需要≥3处) - [ ] 段落是否够短?(每段≤5行) - [ ] 是否有互动感(设问、"你")? --- ## 改进任务(步骤2:补充完善) **重点**:补充遗漏内容,生成完整版 1. **🚨 补充遗漏内容(最优先)**: - 将初稿中遗漏的重要内容补充回来 - 扩充被过度简化的部分 - 确保所有关键细节都保留 2. **保持乔木风格**: - 补充的内容也要用乔木风格表达 - 保持口语化、对话感 - 继续使用生活化类比 3. **🚨 确保中文规范(必须严格执行)**: **标点符号修复**: - 全文替换:`,` → `,` - 全文替换:`:` → `:`(URL除外) - 全文替换:`?` → `?` - 全文替换:`!` → `!` **中英混杂修复**(最重要): - **不要用简单替换**,要理解句子含义后重写 - **方法**: 1. 逐句阅读,找出所有中英混杂的句子 2. 理解英文词的含义 3. 用纯中文重新表达整句话 4. 确保表达自然流畅 - **示例**: ``` ❌ 原句:"他会去找那些他真正admire的产品" ✅ 改写:"他会去找那些他真正欣赏的产品" ❌ 原句:"这是很weird的东西,不是主流" ✅ 改写:"这是很奇特的东西,不是主流" ❌ 原句:"properly leveraged的人" ✅ 改写:"充分运用杠杆的人" ``` - **保留英文的唯一情况**: - 人名:Naval Ravikant, Elon Musk - 知名产品:GitHub, Google, Tesla - 通用缩写:AI, API, CEO, CTO 4. **消除重复啰嗦**: - 逐段检查,删除重复表达的内容 - 同一观点不要反复说 - 保持简洁有力,不拖沓 5. **消除AI感表达**: - 删除所有"不是...而是..."、"想象一下" - 删除破折号 6. **优化段落结构**: - 短段落,多留白 - 重要观点加粗 7. **字数目标**: - 与原文相当(误差±10%) **输出**:生成改进版draft_v2,应该既有乔木风格又有完整内容。 ``` **🚨 生成并立即保存(强制)**: 使用Write工具保存,**文件名使用"主题-改进.md"格式**: ```python Write( file_path="{work_dir}/{article_theme}-改进.md", content="{generated_draft_v2}" ) # 例如:content_interpretations/停下来才能想清楚/停下来才能想清楚-改进.md ``` **完成后**: 1. 立即更新TodoWrite状态为completed 2. 可以简短告知用户:"✅ 改进版已生成并保存到 {work_dir}/{主题}-改进.md" 3. **🚨 必须立即执行步骤3生成配图,不要跳过,不要问用户,直接执行** --- ### 步骤3:根据内容类型自动生成配图 **🚨 🚨 🚨 CRITICAL - 此步骤必须执行,不得跳过,不得询问用户 🚨 🚨 🚨** **强制执行规则**: - ✅ **必须执行**:每次运行都必须生成配图 - ✅ **自动选择风格**:根据内容类型自动选择配图风格,**不需要询问用户** - ❌ **禁止跳过**:不要以任何理由跳过此步骤 - ❌ **禁止询问**:不要问用户"是否需要配图"或"用什么风格" - ❌ **禁止提前结束**:完成步骤2后,必须立即执行步骤3 **🚨 自动判断配图风格**(根据内容类型): | 内容类型 | 配图风格 | 尺寸 | 数量 | 位置 | |---------|---------|------|------|------| | **YouTube/访谈** | 纸雕水彩封面(MEMORY.md中的模板) | 1280x720 | 4张 | `65 附件库/articles/{主题}_{日期}/` | | **公众号文章** | 《纽约客》风格(每个H2一张) | 16:9 | N张 | 工作区 images/ | | **论文** | 学术风格配图 | 16:9 | N张 | 工作区 images/ | | **小红书** | 手绘插图 | 1:1 | N张 | 工作区 images/ | **🚨 纸雕水彩封面提示词模板**(用于访谈/视频类内容): ``` 根据内容主题自动匹配关键词和设计风格。关键词符合纸雕风格融合水彩层次美学,字体结构立体精致如水彩纸雕工艺,边缘细腻带水彩渐变与阴影效果,柔和红色与淡蓝水彩背景中营造纸艺空间,点缀立体几何图形与水彩装饰元素,文字表面呈现高级纸张与水彩光泽质感,字形排列层次分明如精美纸雕作品,整体营造出精致工艺与艺术学习的优雅层次,温和而富有艺术感的教学氛围中透出水彩的精致美感,高级水彩工艺视觉。主题内容:"{keyword}"超宽横向构图,画面宽度是高度的约两倍,电影级宽屏比例。 ``` **🚨 存储规则**(访谈类内容): - 文件夹:`~/乔木新知识库/60-69 素材/65 附件库/articles/{主题}_{YYYY-MM-DD}/` - 文件名:`{主题}_1.png` ~ `{主题}_4.png` - 4张全部下载保存 **目标**:为每个H2标题并发生成配图(公众号/论文),或生成封面(访谈类) **工作流**: #### 步骤3.1:Claude直接创建 visual_config.json 在 `{work_dir}/` 目录下创建 `visual_config.json`(格式与 generate.py 对齐): ```json { "task_id": "illustrations_{article_theme}", "template": "article", "source": "{work_dir}/{article_theme}-改进.md", "output_dir": "{work_dir}/images/illustrations", "cover": { "enabled": false }, "illustrations": [ { "id": "01", "h2_title": "H2标题", "visual_description": "50-80字中文具体场景描述", "filename": "01-slug.png" }, { "id": "02", "h2_title": "H2标题", "visual_description": "50-80字中文具体场景描述", "filename": "02-slug.png" } ], "defaults": { "style": "newyorker", "provider": "jimeng", "retry_count": 2 } } ``` #### 步骤3.2:Claude深度分析并填写visual_config.json **必须基于H2对应的段落内容来设计配图,而不只是标题** **visual_description 必须用中文**(即梦API是国产模型,中文描述更准确) **分析方法**(每个H2都要执行): 1. **定位章节内容**: - 找到H2标题在文章中的位置 - 读取该H2下的**所有段落内容**(直到下一个H2或文章结尾) - 理解这个章节在讲什么核心观点 2. **提炼核心观点**: - 这个章节的**中心思想**是什么? - 有哪些**关键概念、对比、隐喻**? - 哪个**具体场景或例子**最能代表这个观点? 3. **设计视觉隐喻**: - 用**具象的物体、场景、动作**来隐喻抽象概念 - 50-80字的中文描述 - 不包含文字指令("底部标题")和风格指令("黑白线条"、"朱红色") **示例流程**: ``` H2标题:"故事营销到底是什么玩意儿" Step 1 - 读取段落内容: "很多人一听'故事营销',脑子里就开始编凤梨酥的传说... 你见过麦当劳汉堡在米其林餐厅端上来的样子吗?美食家们戴着白手套... 还是那个汉堡,只是换了个盘子、换了个环境。 这就是心理价值的魔法。" Step 2 - 提炼核心观点: - 核心思想:同样的东西,不同的呈现方式,感知完全不同 - 关键对比:快餐托盘 vs 高级餐盘,同一个汉堡 - 具体例子:麦当劳汉堡在米其林餐厅 Step 3 - 设计视觉隐喻: "画面分为左右两半,左边是快餐店塑料托盘上的普通汉堡,日光灯照射;右边是同一个汉堡放在精致瓷盘上,配银叉和烛光,体现包装如何改变感知价值" ``` **必须遵守的规则**: ✅ **正确做法**: - 用中文描述 - 描述具体的物体、场景、动作 - 用隐喻手法表达抽象概念 - 50-80字之间 - 不包含"底部标题"、"标注文字"等文字指令 - 不包含"黑白线条"、"朱红色"等风格指令 ❌ **错误做法**: - 只看标题不看内容就设计配图 - 包含文字指令:"底部标题:XXX" - 包含风格指令:"用黑白墨水绘制"、"朱红色标注" - 描述过于抽象,无法可视化 #### 步骤3.3:批量并发生成配图 ```bash cd "{work_dir}" python ~/.claude/skills/qiaomu-image-generator/scripts/generate.py \ visual_config.json --workers 3 ``` **配图要求**(系统自动控制,无需在visual_description中描述): - 钢笔墨水速写,16:9比例 - 黑白线条 + 朱红色点缀 - 简洁留白,松弛线条 - 底部中文标题(自动添加) **配图位置**: - 图片自动插入到**H2标题的下方**(紧跟H2行) - 结构:`## H2标题` → `![图片](路径)` → `内容段落` - 脚本会自动检测并避免重复插入 **性能**: - 并发生成,12张图约2分钟 - 自动重试机制(每张图最多重试2次) - 线程安全(3线程并发) **完成后**: 1. 立即更新TodoWrite状态为completed 2. 告知用户:"✅ 已生成X张配图,耗时Y秒" 3. **直接进入步骤4保存最终文件,不要停顿** --- ### 步骤4:保存最终文件 **目标**:用H1标题作为文件名,保存到根目录 **执行步骤**: #### 步骤4.1:运行finalize_markdown.py脚本 ```bash cd "/Users/joe/乔木新知识库/03.项目/AI不插电" python3 ~/.claude/skills/qiaomu-paper-interpreter/scripts/finalize_markdown.py \ "{work_dir}/{article_theme}-改进.md" . ``` **脚本功能**: - 提取H1标题作为文件名 - 从文章中删除H1行 - 验证所有图片路径是否存在 - 保存到根目录 #### 步骤4.2:修复图片路径(如需要) **检查路径格式**: ```bash # 检查最终文件的图片引用 grep "!\[" "{final_file}.md" | head -5 ``` **常见问题及修复**: 1. **如果路径包含"papers/"前缀**(从qiaomu-paper-interpreter脚本遗留): ```bash # 修复根目录的终稿 sed -i '' 's#papers/{work_dir_name}/images/#content_interpretations/{work_dir_name}/images/#g' "{final_file}.md" # 同步修复工作区的改进版 sed -i '' 's#papers/{work_dir_name}/images/#content_interpretations/{work_dir_name}/images/#g' "{work_dir}/{article_theme}-改进.md" ``` 2. **如果路径只有"images/"**(相对路径不完整): ```bash # 补充完整的工作区路径 sed -i '' 's#images/illustrations/#content_interpretations/{work_dir_name}/images/illustrations/#g' "{final_file}.md" ``` **正确的路径格式示例**: ```markdown ![章节标题](content_interpretations/停下来才能想清楚/images/illustrations/illustration_1.png) ![章节标题](images/illustrations/illustration_1.png) ``` #### 步骤4.3:验证图片路径 ```bash # 验证所有图片文件确实存在 cd "/Users/joe/乔木新知识库/03.项目/AI不插电" grep "!\[" "{final_file}.md" | grep -o "content_interpretations/[^)]*" | while read path; do if [ ! -f "$path" ]; then echo "❌ 图片不存在: $path" fi done ``` **效果**: - 根目录:`写文案就像做菜.md`(最终版,无H1,图片路径指向工作区) - 工作目录:`{work_dir}/{主题}-改进.md`(保留H1,工作副本,相对路径) **完成后**: 1. 立即更新TodoWrite状态为completed 2. **直接进入步骤5生成完成报告** --- ### 步骤5:完成报告并打开文章 **目标**:告知用户完成情况,并自动在Obsidian中打开文章 **执行**: ```bash # 自动在Obsidian中打开生成的文章 # file参数是相对于vault根目录的路径,不含.md后缀 open "obsidian://open?vault=乔木新知识库&file=03.项目/AI不插电/{h1_title}" ``` **路径说明**: - `vault`:知识库名称(乔木新知识库) - `file`:相对于vault根目录的路径,不含.md后缀 - 示例:`03.项目/AI不插电/写文案就像做菜` 简短告知用户: ``` ✅ 内容解读完成! 📄 最终文件:{h1_title}.md 位置:AI不插电/ (根目录) 大小:XKB 行数:约Y行 📝 字数统计: 原文:约A字 初稿:约B字 改进版:约X字(补充了Z字) 🎨 配图生成: 数量:X张《纽约客》风格插画 耗时:约N秒(3线程并发) 风格:钢笔墨水速写 + 朱红点缀 比例:16:9 📁 工作档案:content_interpretations/{article_theme}/ ├── original_content.md ← 原始内容(可能是英文) ├── translated_content.md ← 翻译版本(如果需要) ├── {主题}-初稿.md ← 初稿(保留H1) ├── {主题}-改进.md ← 改进版(保留H1,工作副本) ├── visual_config.json ← 配图配置 └── images/illustrations/ ← X张配图 ├── illustration_1.png ├── illustration_2.png └── ... ✨ 改进对比: • 补充了初稿遗漏的N个要点 • 消除AI感表达("不是...而是..."、"想象一下"、破折号) • 修复中英混杂(除人名/产品名/通用缩写外全部翻译) • 统一中文标点(100%) • 优化段落结构(每段≤5行) • 删除重复啰嗦内容 🎯 质量保证: • 不编造故事、案例、数据 • 只使用原文的例子和数据 • 保留原文完整信息 • 配图基于H2段落内容设计(非仅标题) 📊 文件组织: 草稿在工作区 → content_interpretations/{主题}/ 终稿在根目录 → AI不插电/{H1标题}.md 📖 已在Obsidian中打开文章 ``` --- ## 质量检查清单 ### 初稿检查 - [x] 吸引人的H1标题 - [x] 2-3段引入 - [x] 4-6个H2章节 - [x] 段落较短 - [x] 重要观点加粗 - [x] 有生活化类比 - [x] 1500-2500字 ### 改进版检查 - [x] **100%中文标点**:无英文逗号`,`、冒号`:`、问号`?`、感叹号`!` - [x] **0个中英混杂**:除人名/产品名/通用缩写外,无任何英文词 - 检查方法:逐句阅读,看到英文词就判断是否属于3类可保留英文 - 错误模式:形容词+中文、动词+中文、英文名词短语 - [x] **0个** "想象一下"、"你有没有想过" - [x] **0个** "不是...而是..." - [x] **0个** 破折号(—) - [x] **0个** "首先"、"其次"、"最后" - [x] ≥3处生活化类比 - [x] 每段≤5行 - [x] 有跨领域联系 - [x] 结尾有升华 - [x] 核心观点全覆盖 ### 配图检查 - [x] 每个H2有配图 - [x] 风格统一 - [x] 已插入markdown - [x] 路径验证通过 --- ## 与论文解读skill的对比 --- ## 使用场景 1. **改写公众号文章**: - 用户:用乔木风格改写这篇AI文章 - 输出:深度解读版 + 配图 2. **技术文档通俗化**: - 用户:这份API文档太难懂,帮我改写 - 输出:对话式技术解读 + 配图 3. **读书笔记整理**: - 用户:这是我的读书笔记,整理成文章 - 输出:结构化文章 + 配图 4. **内容升级优化**: - 用户:这篇文章太平淡,加工一下 - 输出:优化版 + 配图 --- ## 复用的脚本 从其他 skill 复用: ### 1. generate.py(配图生成器) - **路径**:`~/.claude/skills/qiaomu-image-generator/scripts/generate.py` - **功能**:并发生成《纽约客》风格配图、封面图等 - **特性**: - 3线程并发,速度提升3倍 - 自动重试2次 - 支持 visual_config.json 配置 - 统一的即梦API调用 ### 2. finalize_markdown.py - **路径**:`~/.claude/skills/qiaomu-paper-interpreter/scripts/finalize_markdown.py` - **功能**:提取H1标题,用H1命名文件 - **特性**: - 自动验证图片路径 - 显示无效路径列表 --- ## 新增脚本 ### prepare_workspace.py - **路径**:`~/.claude/skills/qiaomu-content-interpreter/scripts/prepare_workspace.py` - **功能**:创建工作空间,保存原始内容 - **用法**: ```bash python prepare_workspace.py "原始内容文本" ``` --- ## 故障处理 --- ## 版本历史 - **v3.3** (2025-12-26) - 配图逻辑优化 + 文件组织规范化 - 配图提示词基于H2对应段落内容理解,而非仅标题 - 文件组织规范:草稿在工作区,终稿在根目录 - 路径修复机制:自动检测和修复papers/路径问题 - 完整示例流程:读取段落→提炼观点→设计视觉隐喻 - **v3.2** (2025-12-25) - 中文规范强制检查 - 100%中文标点要求 - 中英混杂零容忍(除人名/产品名/通用缩写) - 质量检查清单全面更新 - **v3.1** (2025-12-24) - 优化命名和禁止编造 - 工作区用主题命名,不用时间戳 - 文件名用"主题-初稿/改进.md" - 明确禁止编造故事、案例、数据 - **v3.0** (2025-12-23) - 修复workflow理解错误 - 两遍精炼:步骤1专注风格转换,步骤2专注内容完整性 - 强制保存初稿和改进版文件 - 不是两种模式,而是依次执行的两步 - **v2.0** (2025-12-23) - 整合并发配图、路径验证、完整脚本支持 - **v1.0** (2024-12-22) - 初始版本,两遍精炼工作流 --- **享受内容改写的乐趣!** 🎉