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

11 KiB
Raw Blame History

视觉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"