Baoyu Cover Image

支持多维度自定义的AI文章封面图生成工具,可选风格、配色、文字等。

已扫描
适合谁
内容创作者、自媒体运营者
不适合谁
无需封面图的用户、不熟悉AI生成流程的初学者
国内可用性
需网络配置。可能需要网络配置或第三方服务可访问。
安装难度
新手友好(★☆☆)。基于终端操作、依赖、API Key 和本地环境要求的初步判断。

安装与下载

openclaw skills install @jimliu/baoyu-cover-image

Skill 说明

命令、参数、文件名以原文为准

封面图像生成器

为文章生成优雅的封面图像,支持五维自定义。

用户输入工具

当此技能向用户提问时,请遵循以下工具选择规则(优先级从高到低):

  1. 优先使用当前代理运行时提供的内置用户输入工具 — 例如 AskUserQuestionrequest_user_inputclarifyask_user 或其他等效工具。
  2. 降级方案:若无上述工具可用,则输出编号的纯文本消息,并要求用户通过回复对应编号或答案来回应每个问题。
  3. 批量处理:若工具支持一次调用多个问题,请将所有适用的问题合并为单次调用;若仅支持单个问题,则按优先级顺序逐个询问。

以下 AskUserQuestion 的引用仅为示例 — 在其他运行时中请替换为本地等效工具。

图像生成工具

当此技能需要渲染图像时,请按以下顺序确定后端:

  1. 当前请求覆盖 — 若用户在本次消息中指定了特定后端,则使用该后端。
  2. 已保存偏好 — 若 EXTEND.md 中设置了 preferred_image_backend,且该后端当前可用,则使用它。
  3. 自动选择(当偏好为 auto、未设置或固定后端不可用时):

- **Codex (imagegen)** — 首先检查可用技能/工具清单。若存在名为 imagegen 的技能,说明你正在 Codex 环境中运行,必须使用它:通过 Skill 工具调用,设置 skill: "imagegen",传入保存的提示文件内容(以及输出路径和宽高比,依据 Codex imagegen 自身参数)。Codex imagegen 是该运行时中的官方位图后端,其优先级高于任何非原生技能(如 baoyu-image-gen),除非用户已显式固定了不同的 preferred_image_backend

- **Codex 通过 codex exec (codex-imagegen)** — 若当前运行时未暴露原生 imagegen 技能,但 codex CLI 已在 PATH 中且 codex login 处于激活状态(如 Claude Code 安装了 Codex CLI),则调用 codex-imagegen 包装器。路径解析scripts/codex-imagegen.sh 位于插件/仓库根目录,而非相对于当前 shell 工作目录。从本 SKILL.md 所在目录出发,该包装器路径为 ../../scripts/codex-imagegen.sh — 调用前需解析为绝对路径。命令格式如下:

     <ABSOLUTE_PLUGIN_ROOT>/scripts/codex-imagegen.sh \
       --image <absolute_output_path> \
       --prompt-file <absolute_path_to_prompts/NN-cover-[slug].md> \
       --aspect <ratio> \
       [--ref <absolute_file>]... \
       [--timeout <ms>] \
       [--cache-dir ~/.cache/baoyu-codex-imagegen] \
       [--log-file <absolute_jsonl_log_path>]

--timeout 默认值为 300000(5 分钟);在网络较慢或提示较长时,可提高该值(例如 --timeout 600000 表示 10 分钟)。

所有传递给包装器的路径若为相对路径,将自动基于包装器的 process.cwd() 解析;但为防止工作目录漂移,建议始终传递绝对路径。解析包装器标准输出中的单行 JSON。若返回 {"status":"ok",...},进入第 5 步;若返回 {"status":"error","error_kind":...},向用户报告 error_kind,并(若可重试)询问是否尝试重试或切换至其他后端。该包装器使用用户的 Codex 订阅服务,无需提供 OPENAI_API_KEY

- 其他运行时原生工具 — 若运行时暴露了其他原生图像生成工具(如 Hermes 的 image_generate),请以相同方式使用。

- 否则,若恰好安装了一个非原生后端(如 baoyu-image-gen),则使用它。

- 否则(存在多个非原生后端且无运行时原生工具),向用户一次性询问 — 可与初始问题一并批量提出。

  1. 若均不可用,告知用户并询问如何继续。

⛔ 严禁用 SVG、HTML、Canvas 或其他代码生成方式替代位图图像生成。 Codex imagegen 的说明指出,应“在输出应为位图资源而非仓库原生代码或矢量图时”使用。若无法通过第 3 步解决位图后端问题,请进入第 4 步并询问用户 — **不得静默生成 SVG、插入内联 <svg> 标记,或以 HTML/CSS 艺术作为替代**。即使文章/章节看似“图表类”,调用此规则的下游技能已决定需要的是位图图像。

⛔ 严禁通过程序化叠加覆盖已生成的位图图像中的文字。 不得使用 ImageMagick、Pillow、Canvas、SVG、HTML/CSS、OCR 脚本等任何程序化方式,在已生成的封面图像上覆盖、重写、擦除、描边或替换标题/副标题文字。若文字错误或不清晰,请重新根据修正后的提示生成,切换至低文字或无标题版本,或询问用户保留哪个不完美的候选图像。

设置 preferred_image_backend: ask 将强制每次运行都触发第 3 步的提示,无论可用后端如何。用户可通过下方“更改偏好”部分修改固定后端。

提示文件要求(强制):在调用任何后端前,必须将每张图像的完整最终提示写入 prompts/ 目录下的独立文件中(命名格式:NN-{type}-[slug].md)。后端接收提示文件(或其内容);该文件是可复现性的记录,允许你在不重新生成提示的情况下切换后端。

上述工具名称(imagegenimage_generatebaoyu-image-gen)仅为示例 — 请根据本地环境替换为等效名称。

确认策略

默认行为:生成前确认

  • 明确:显式调用技能、文件路径、匹配的关键词/预设、EXTEND.md 默认值,以及任何文档中记录的自动选择,均仅作为推荐输入,不能用于跳过确认步骤。
  • 除非用户确认尺寸 / 宽高比 / 语言 / 后端选择,否则不得进入第 3 步或第 4 步。
  • 仅当当前请求明确要求跳过确认时,才可跳过确认,例如:--quick、"直接生成"、"不用确认"、"跳过确认"、"按默认出图" 或等效表述。EXTEND.md 中设置 quick_mode: true 视为持续性的显式跳过选项 —— 仅在希望每次运行都跳过第 2 步时启用。
  • 若已显式跳过确认,请在生成前的下一次用户可见更新中说明所采用的尺寸 / 宽高比 / 语言 / 后端配置。

选项

选项说明
--type <name>hero(主视觉)、conceptual(概念)、typography(文字)、metaphor(隐喻)、scene(场景)、minimal(极简)
--palette <name>warm(暖色)、elegant(优雅)、cool(冷色)、dark(暗调)、earth(大地)、vivid(鲜艳)、pastel(柔和)、mono(单色)、retro(复古)、duotone(双色调)、macaron(马卡龙)
--rendering <name>flat-vector(扁平矢量)、hand-drawn(手绘)、painterly(绘画感)、digital(数字)、pixel(像素)、chalk(粉笔)、screen-print(丝网印刷)
--style <name>预设简称(详见 [风格预设](references/style-presets.md))
--text <level>none(无文字)、title-only(仅标题)、title-subtitle(标题+副标题)、text-rich(文字丰富)
--mood <level>subtle(含蓄)、balanced(平衡,默认)、bold(强烈)
--font <name>clean(简洁)、handwritten(手写体)、serif(衬线)、display(展示型)
--aspect <ratio>16:9(默认)、2.35:1、4:3、3:2、1:1、3:4
--lang <code>标题语言(en、zh、ja 等)
--no-title等价于 --text none
--quick跳过确认,使用自动选择
--ref <files...>参考图像,用于指导风格与构图

五个维度

维度可选值默认值
类型hero、conceptual、typography、metaphor、scene、minimalauto
配色warm、elegant、cool、dark、earth、vivid、pastel、mono、retro、duotone、macaronauto
渲染风格flat-vector、hand-drawn、painterly、digital、pixel、chalk、screen-printauto
文字none、title-only、title-subtitle、text-richtitle-only
情绪subtle、balanced、boldbalanced
字体clean、handwritten、serif、displayclean

自动选择规则:[references/auto-selection.md](references/auto-selection.md)

图库

类型:hero、conceptual、typography、metaphor、scene、minimal

→ 详情:[references/types.md](references/types.md)

配色:warm、elegant、cool、dark、earth、vivid、pastel、mono、retro、duotone、macaron

→ 详情:[references/palettes/](references/palettes/)

渲染风格:flat-vector、hand-drawn、painterly、digital、pixel、chalk、screen-print

→ 详情:[references/renderings/](references/renderings/)

文字层级:none(纯视觉)|title-only(默认)|title-subtitle|text-rich(含标签)

→ 详情:[references/dimensions/text.md](references/dimensions/text.md)

情绪层级:subtle(低对比)|balanced(默认)|bold(高对比)

→ 详情:[references/dimensions/mood.md](references/dimensions/mood.md)

字体:clean(无衬线)|handwritten(手写体)|serif(衬线)|display(粗装饰性)

→ 详情:[references/dimensions/font.md](references/dimensions/font.md)

文件结构

输出目录依据 default_output_dir 设置:

  • same-dir{article-dir}/
  • imgs-subdir{article-dir}/imgs/
  • independent(默认):cover-image/{topic-slug}/
<output-dir>/
├── source-{slug}.{ext}    # 原始文件
├── refs/                  # 参考图像(如提供)
│   ├── ref-01-{slug}.{ext}
│   └── ref-01-{slug}.md   # 描述文件
├── prompts/cover.md       # 生成提示词
└── cover.png              # 输出图像

Slug:2–4 个单词,使用短横线连接(kebab-case)。若冲突,则追加 -YYYYMMDD-HHMMSS

工作流程

进度检查清单

封面图像进度:
- [ ] 第 0 步:检查偏好设置(EXTEND.md) ⛔ 阻塞
- [ ] 第 1 步:分析内容 + 保存参考图 + 确定输出目录
- [ ] 第 2 步:确认选项(6 个维度) ⚠️ 除非使用 --quick
- [ ] 第 3 步:创建提示词
- [ ] 第 4 步:生成图像
- [ ] 第 5 步:完成报告

流程图

输入 → [第 0 步:加载偏好设置] ─┬─ 找到 → 继续
                               └─ 未找到 → 首次设置 ⛔ 阻塞 → 保存 EXTEND.md → 继续
        ↓
分析 + 保存参考图 → [输出目录] → [确认:6 个维度] → 提示词 → 生成 → 完成
                                              ↓
                                     (若使用 --quick 或所有参数已指定则跳过)

第 0 步:加载偏好设置 ⛔ 阻塞

按优先级顺序检查 EXTEND.md —— 首个找到的即生效:

优先级路径作用范围
1.baoyu-skills/baoyu-cover-image/EXTEND.md项目级
2${XDG_CONFIG_HOME:-$HOME/.config}/baoyu-skills/baoyu-cover-image/EXTEND.mdXDG 规范
3$HOME/.baoyu-skills/baoyu-cover-image/EXTEND.md用户主目录
结果操作
找到加载并显示摘要 → 继续
未找到⛔ 运行首次设置 ([references/config/first-time-setup.md](references/config/first-time-setup.md)) → 保存 → 继续

重要提醒:若未找到,必须在进行其他步骤或提问前完成首次设置。

第 1 步:分析内容

  1. 保存参考图像(如提供)→ [references/workflow/reference-images.md](references/workflow/reference-images.md)
  2. 保存源内容(如粘贴文本,保存至 source.md
  3. 分析内容:主题、语气、关键词、视觉隐喻
  4. 深入分析参考图像 ⚠️:提取具体、可操作的元素(详见 reference-images.md)
  5. 检测语言:对比源内容、用户输入、EXTEND.md 中的偏好设置
  6. 确定输出目录:根据文件结构规则

⚠️ 参考图像中包含人物的情况

如果参考图像中包含应在封面中出现的人物:

  • **模型支持 --ref**(默认):将图像复制到 refs/ 目录,生成时通过 --ref 传递。无需描述文件——模型可直接识别人脸。
  • **模型不支持 --ref**(Jimeng、Seedream 3.0):创建 refs/ref-NN-{slug}.md 文件,包含角色的详细描述(发型、眼镜、肤色、服装等)。将这些信息作为“必须”或“强制”指令嵌入提示词中。

完整决策表请参见 [reference-images.md](references/workflow/reference-images.md)。

步骤 2:确认选项 ⚠️

硬性要求:根据 [确认政策](#confirmation-policy),此步骤为必经流程——在用户确认前(或明确跳过 --quick / quick_mode: true 等等效设置),无法进入步骤 3–4。

**必须使用 AskUserQuestion 工具**以交互式选择方式呈现选项——不得使用纯文本表格。单次 AskUserQuestion 调用最多展示 4 个问题(类型、配色、渲染风格、字体 + 设置)。每个问题应先列出推荐选项及理由,再列出其他备选方案。

完整确认流程与问题格式说明:[references/workflow/confirm-options.md](references/workflow/confirm-options.md)

条件跳过仍需询问
--quickquick_mode: true6 个维度宽高比(除非指定 --aspect
所有 6 项 + --aspect 已指定全部

步骤 3:生成提示词

保存至 prompts/cover.md。模板参考:[references/workflow/prompt-template.md](references/workflow/prompt-template.md)

关键事项 —— 前置元数据中的引用

  • 文件存于 refs/ → 在前端元数据 references 列表中添加
  • 风格通过文字提取(无文件)→ 忽略 references,在正文描述
  • 写入前 → 验证:test -f refs/ref-NN-{slug}.{ext}

正文中的引用元素必须详尽,以 "MUST" / "REQUIRED" 开头,并注明整合方式。

步骤 4:生成图像

  1. 备份现有 cover.png(如需重新生成)
  2. 选择后端:依据顶部的 ## 图像生成工具 规则——使用可用的任意后端;若存在多个,则在本次会话中仅询问一次。此操作应在任何生成前完成一次。
  3. 写入最终完整提示词prompts/01-cover-[slug].md(硬性要求)——在调用后端前完成。
  4. 处理提示词中的引用

- direct 使用方式 → 通过 --ref 传递(使用支持 ref 的后端)

- style / palette → 提取特征,附加至提示词

  1. 执行生成:调用选定后端,传入提示文件、输出路径和宽高比。

- **codex-imagegen**:调用 <ABSOLUTE_PLUGIN_ROOT>/scripts/codex-imagegen.sh(非相对路径 ./scripts/... —— 应从本技能根目录解析绝对路径:../../scripts/codex-imagegen.sh),参数包括 --image <ABSOLUTE_output> --prompt-file <ABSOLUTE_prompts/01-cover-[slug].md> --aspect <ratio>(按引用添加 --ref <ABSOLUTE_file>),--cache-dir ~/.cache/baoyu-codex-imagegen 以启用幂等缓存,--timeout <ms> 可覆盖默认 300000 毫秒(5 分钟)的超时限制(适用于网络较慢情况)。所有输入路径若为相对路径,将由包装脚本自动基于其 process.cwd() 解析,但建议传入绝对路径以提高可靠性。读取 stdout 输出的 JSON,根据 statuserror_kind 进行响应。

- **Codex imagegen(原生)** 或其他运行时原生工具 / baoyu-image-gen 技能:遵循上方 ## 图像生成工具 中的规则。

  1. 若生成失败,自动重试一次。

步骤 5:完成报告

封面已生成!

主题:[topic]
类型:[type] | 配色:[palette] | 渲染风格:[rendering]
文字内容:[text] | 氛围:[mood] | 字体:[font] | 宽高比:[ratio]
标题:[title 或 "仅视觉"]
语言:[lang] | 水印:[启用/禁用]
引用来源:[N 张图片 或 "提取风格" 或 "无"]
位置:[目录路径]

文件:
✓ source-{slug}.{ext}
✓ prompts/cover.md
✓ cover.png

图像修改

操作步骤
重新生成备份 → 先更新提示词文件 → 重新生成
更改尺寸备份 → 确认新值 → 更新提示词 → 重新生成

文字修正策略:

  • 若标题/副标题拼写错误、乱码、难以辨识或视觉表现力弱,不得通过代码修补位图。
  • 对于因文字问题导致的重新生成,应编写新的提示词文件和新的输出路径,以保留原始缺陷版本用于对比。
  • 后处理仅限裁剪、缩放、压缩或格式转换,不得改变文字内容或主体构图。

构图原则

  • 留白:保持 40%-60% 的呼吸空间
  • 视觉锚点:主要元素居中或偏左布局
  • 人物形象:简化轮廓;禁止使用真实人类形象
  • 标题:使用用户或源内容中的原文标题;不得自行创作

更改偏好设置

EXTEND.md 文件位于 步骤 0 中指出的路径。可通过以下三种方式修改:

  • 直接编辑:打开 EXTEND.md 并修改字段。完整字段结构参考:[references/config/preferences-schema.md](references/config/preferences-schema.md)。
  • 交互式重新配置:删除 EXTEND.md(或输入“重新配置 baoyu-cover-image 偏好设置”),下一次运行将重新触发首次设置流程。
  • 常见的一行修改

- preferred_image_backend: auto — 默认值;运行时原生工具优先,若仅安装一个则使用该工具,若存在多个非原生工具则询问用户。

- preferred_image_backend: codex-imagegen — 固定使用 Codex 内置后端。

- preferred_image_backend: baoyu-image-gen — 固定使用 baoyu-image-gen 技能。

- preferred_image_backend: ask — 每次运行均确认后端选择。

- watermark.enabled: truepreferred_typepreferred_palettepreferred_renderingdefault_aspectquick_mode: truelanguage — 可调整自动选择的默认值及确认流程。

尺寸: [text.md](references/dimensions/text.md) | [mood.md](references/dimensions/mood.md) | [font.md](references/dimensions/font.md)

配色方案: [references/palettes/](references/palettes/)

渲染风格: [references/renderings/](references/renderings/)

类型: [references/types.md](references/types.md)

自动选择: [references/auto-selection.md](references/auto-selection.md)

风格预设: [references/style-presets.md](references/style-presets.md)

兼容性: [references/compatibility.md](references/compatibility.md)

视觉元素: [references/visual-elements.md](references/visual-elements.md)

工作流程: [confirm-options.md](references/workflow/confirm-options.md) | [prompt-template.md](references/workflow/prompt-template.md) | [reference-images.md](references/workflow/reference-images.md)

配置项: [preferences-schema.md](references/config/preferences-schema.md) | [first-time-setup.md](references/config/first-time-setup.md) | [watermark-guide.md](references/config/watermark-guide.md)

J
@jimliu

已收录 1 个 Skill

相关推荐