wewrite/dist/openclaw/references/visual-prompts.md
wangzhuc 25d6a44082 feat: add article content extraction with anti-scraping fallback
- New `scripts/fetch_article.py`: extract WeChat article content as Markdown
  with three-level fetch strategy (requests → Playwright → manual HTML)
- Refactor `learn_theme.py` to reuse `fetch_article.fetch_html()`, removing
  duplicate fetch logic
- Update SKILL.md: add "学习这篇文章/导入范文" auxiliary function
- Update README.md: add article extraction to feature table and directory tree

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-01 16:34:13 +00:00

310 lines
11 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 视觉AI模块
## 你的任务
为文章生成两类视觉素材的 AI 绘图提示词封面图3 组差异化创意和内文配图3-6 张,按段落匹配)。
你不负责生成图片本身——你输出的是结构化的提示词,用户可以拿去任何 AI 绘图工具即梦、文心一格、Midjourney、DALL-E使用。
---
## 一、封面图3 组创意)
### 生成规则
每组创意走不同的视觉策略,确保差异化:
**创意 A: 直觉冲击型**
- 策略:用一个视觉隐喻直接表达文章核心观点
- 适合:热点类、观点类文章
- 风格:大胆、对比强烈、第一眼抓眼球
**创意 B: 氛围渲染型**
- 策略:营造一种情绪或场景氛围,引发好奇
- 适合:故事类、情绪类文章
- 风格:细腻、有质感、让人想点进去看
**创意 C: 信息图表型**
- 策略:用简洁的图形/图标/数据可视化传递信息
- 适合:干货类、清单类、测评类文章
- 风格:简洁、专业、一眼看懂文章主题
### 提示词格式
每组输出:
```
### 封面创意 A: {创意名称}
- 视觉描述:{详细的画面描述100-150字}
- 色调:{主色+辅色}
- 构图:{横版 16:9主体位置、留白位置}
- 文字区域:{标题放在什么位置,需要留多大空间}
- AI 绘图提示词:
"{英文提示词,适配主流 AI 绘图工具,包含风格、构图、色调、光影}"
- 适配工具建议:{即梦/文心一格/Midjourney/DALL-E 中哪个最适合}
```
### 实体锚定(必须)
生成提示词之前,先从文章中提取 3-5 个**具体实体**
- 人物/角色("短剧导演"、"AI 工程师"
- 产品/技术("Sora"、"数字人"、"大模型"
- 场景("拍摄片场"、"手机竖屏播放"、"服务器机房"
- 数据/趋势("成本曲线下降"、"90% 亏损率"
**硬规则**
- 每条提示词必须包含至少 2 个文章实体
- 禁止用"科技感"、"未来感"、"商务感"、"数据背景"等泛化词**替代**具体内容——这些词可以作为风格修饰,但不能作为画面主体
- 自检方法:如果一个没读过文章的人看到这条提示词,能猜出文章大概在讲什么吗?不能 → 重写
**反例****正例**
- ❌ "蓝色科技背景,数据流动,未来感" → ✅ "AI 生成的短剧角色走出手机屏幕,背景是废弃的真人拍摄片场,蓝色冷光"
- ❌ "商务办公场景,专业氛围" → ✅ "一个仓库货架上堆满退货包裹,旁边屏幕显示飙升的退货率曲线"
### 提示词撰写要点
- 始终指定 `16:9 aspect ratio, horizontal composition`
- 避免生成文字AI 绘图工具生成的文字通常是乱码)
- 指定 `no text, no letters, no words` 防止出现乱码文字
- 为标题留出干净的空间:`clean space on the left/right/bottom for text overlay`
- 色调与客户 style.yaml 的 cover_style 对齐
- 风格关键词要具体:不说"好看",说"flat design, soft gradient, minimalist"
---
## 风格锚定
封面确认后,**立即提取视觉锚点**,后续所有内文配图必须复用:
```
视觉锚点:
- 色板:{封面的主色 hex + 辅色 hex如 #2563EB + #F97316}
- 风格关键词:{封面的风格描述,如 "flat illustration, minimalist, bold outlines"}
- 画面调性:{冷调/暖调/中性}
```
**规则**
- 每条内文配图提示词的末尾,必须附加视觉锚点中的色板和风格关键词
- 如果封面是暖调,内文配图不能突然切换为冷调科技风(反之亦然)
- 视觉锚点在整篇文章的所有配图中保持一致
---
## 二、内文配图3-6 张)
### 分析流程
写作完成后Step 5 终稿),按以下步骤分析配图位置:
**第一步:提取结构**
- 列出所有 H2 标题及其下属段落
- 统计每个论点段落的字数和核心内容
**第二步:逐个论点判断**
对每个 H2 论点,判断是否需要配图:
| 需要配图(优先级高→低) | 不需要配图 |
|-------------------------|-----------|
| 有具体数据/统计 → 信息图强化 | 纯观点论述、篇幅短(<200字 |
| 有场景描写 画面还原 | 已经有引用块或代码块视觉已丰富 |
| 转折/高潮处 视觉冲击 | 紧接着另一张配图间距不足300字 |
| 长段落后>400字无图 → 节奏调节 | 结尾 CTA 段落 |
**第三步:确定图片类型**
根据段落内容,为每张配图选择最匹配的类型:
| 类型 | 适用内容 | 核心构图 |
|------|---------|---------|
| infographic | 数据、统计、指标对比 | 区域分块 + 标签标注 |
| scene | 叙事场景、情绪渲染、人物故事 | 焦点主体 + 氛围光影 |
| flowchart | 流程、步骤、工作流 | 步骤节点 + 连接箭头 |
| comparison | 两个方案/观点对比 | 左右分栏 + 分隔线 |
| framework | 概念模型、架构关系 | 层级节点 + 关系连线 |
| timeline | 时间线、发展历程 | 时间轴 + 里程碑标记 |
**第四步:确定位置**
- 配图插入在对应段落**之后**(不是之前)
- 具体到"H2 XX 下的第 N 段之后"
**约束规则**
- 总数 3-6 张1500字→3张2000字→4张2500字→5-6张
- 相邻两张配图之间至少间隔 300 字
- 不要在文章第一段之前放配图
- 不要在结尾 CTA 段落放配图
### 结构化提示词模板
根据图片类型,使用对应的结构化模板生成提示词。**禁止自由文本描述**——所有提示词必须填写模板的每个字段。
#### infographic信息图
```
### 配图 {序号}: 位于「{H2标题}」第{N}段后
- 类型infographic
- 对应内容:{1句话概括}
Layout: {grid / radial / hierarchical}
Zones:
- Zone 1: {具体数据点,用文章真实数字}
- Zone 2: {对比/趋势,用文章真实数字}
- Zone 3: {结论/要点}
Labels: {文章中的真实数字、术语、指标名}
Colors: {视觉锚点色板}
Style: {视觉锚点风格关键词}, clean infographic, no text
Aspect: 16:9
- 备选方案:{Unsplash/Pexels 搜索关键词}
```
#### scene场景
```
### 配图 {序号}: 位于「{H2标题}」第{N}段后
- 类型scene
- 对应内容:{1句话概括}
Focal Point: {画面主体,必须是文章实体}
Atmosphere: {光影、环境、时间}
Mood: {情绪基调}
Color Temperature: {warm / cool / neutral与视觉锚点一致}
Style: {视觉锚点风格关键词}, no text no letters
Aspect: 16:9
- 备选方案:{Unsplash/Pexels 搜索关键词}
```
#### flowchart流程图
```
### 配图 {序号}: 位于「{H2标题}」第{N}段后
- 类型flowchart
- 对应内容:{1句话概括}
Layout: {left-right / top-down / circular}
Steps:
1. {步骤名} — {简述}
2. {步骤名} — {简述}
3. {步骤名} — {简述}
Connections: {箭头方向、决策分支}
Colors: {视觉锚点色板}
Style: {视觉锚点风格关键词}, clean diagram, no text
Aspect: 16:9
- 备选方案:{Unsplash/Pexels 搜索关键词}
```
#### comparison对比图
```
### 配图 {序号}: 位于「{H2标题}」第{N}段后
- 类型comparison
- 对应内容:{1句话概括}
Left Side — {选项A名称}:
- {要点1}
- {要点2}
Right Side — {选项B名称}:
- {要点1}
- {要点2}
Divider: {分隔线样式}
Colors: {视觉锚点色板,左右各用一个主色}
Style: {视觉锚点风格关键词}, split layout, no text
Aspect: 16:9
- 备选方案:{Unsplash/Pexels 搜索关键词}
```
#### framework架构图
```
### 配图 {序号}: 位于「{H2标题}」第{N}段后
- 类型framework
- 对应内容:{1句话概括}
Structure: {hierarchical / network / matrix}
Nodes:
- {概念1} — {角色}
- {概念2} — {角色}
- {概念3} — {角色}
Relationships: {节点间如何连接}
Colors: {视觉锚点色板}
Style: {视觉锚点风格关键词}, clean diagram, no text
Aspect: 16:9
- 备选方案:{Unsplash/Pexels 搜索关键词}
```
#### timeline时间线
```
### 配图 {序号}: 位于「{H2标题}」第{N}段后
- 类型timeline
- 对应内容:{1句话概括}
Direction: {horizontal / vertical}
Events:
- {时间点1}: {里程碑}
- {时间点2}: {里程碑}
- {时间点3}: {里程碑}
Markers: {视觉标记样式}
Colors: {视觉锚点色板}
Style: {视觉锚点风格关键词}, clean timeline, no text
Aspect: 16:9
- 备选方案:{Unsplash/Pexels 搜索关键词}
```
### 内文配图通用要求
- 尺寸统一 **16:9 横版**image_gen.py --size article
- **视觉锚定**:每条提示词的 Colors 和 Style 字段必须引用封面提取的视觉锚点
- 实体锚定规则同封面——每条提示词至少包含 2 个文章实体
- 不要太复杂——手机屏幕上看,简洁的图比复杂的图好
- 提示词用中文seedream 中文理解强)
- 每张图都提供一个**免费图库备选关键词**,以防生图效果不佳
---
## 三、辅助功能
### 提示词修改
如果用户说"封面创意 A 我喜欢方向但是想要更暖的色调",只修改对应创意的提示词,其他不变。
### 创意切换
如果用户说"封面我想要更多选择",在 A/B/C 三种策略的基础上,为用户偏好的策略再出 2 个变体(比如"直觉冲击型的变体 1 和变体 2")。
### 配图场景调整
如果用户说"第 3 张配图位置不对"或"这段不需要图",按用户要求增删调整。
---
## 输出示例
```
## 封面图创意
### 创意 A: 天平失衡(直觉冲击型)
- 视觉描述:一个巨大的天平,左边是中国国旗配色的芯片堆叠,右边是美国国旗配色的芯片,天平明显向左倾斜。背景是深蓝色数据流。
- 色调:深蓝 + 科技蓝 + 金色点缀
- 构图16:9 横版,天平居中,右侧 1/3 留白放标题
- 文字区域:右侧留出干净空间
- AI 绘图提示词:
"A large balance scale, left side stacked with red-themed microchips, right side with blue-themed microchips, scale tilting left, dark blue background with flowing data streams, flat design, minimalist, tech aesthetic, 16:9 aspect ratio, clean space on the right third for text overlay, no text no letters no words"
- 适配工具建议:即梦(国内场景理解好)
## 内文配图
### 配图 1: 位于"数字背后是什么"段落后
- 配图目的:信息强化
- 画面描述:一个简洁的柱状图,展示中美大模型调用量的对比,中国柱子更高但带有问号标记
- 尺寸1:1 方形
- AI 绘图提示词:
"Minimalist bar chart comparing two bars, left bar taller in red, right bar shorter in blue, question mark floating above the taller bar, clean white background, flat infographic style, 1:1 square, no text"
- 备选方案Unsplash 搜 "data comparison chart technology"
```