返回顶部
z

zhy-article-illustrator

>

作者: admin | 来源: ClawHub
源自
ClawHub
版本
V 0.1.0
安全检测
已通过
181
下载量
0
收藏
概述
安装方式
版本历史

zhy-article-illustrator

# zhy-article-illustrator ## Purpose 为任意 Markdown 文章自动规划并生成配图。技能默认采用“高完成度编辑视觉”作为 全局质量基线:不是简单插画,不是装饰图标拼贴,也不是低信息密度草图。系统会先 为文章生成统一的 visual bible,再为每张图生成结构化提示词,使同一篇文章的配图 共享统一风格语言,同时根据章节内容调整构图、信息重点和版式。 默认优先兼容 Gemini Nano Banana 工作流,并默认走 Xiaomi Gemini 兼容接口;同时支持 Gemini 原生代理 / 中转站模式与官方 Gemini 接口。 ## When to Use - 用户请求“为文章配图”、“illustrate article”、“add images to article” - `zhy-wechat-writing` 技能的 Step 6 调用(`with_illustrations=true`) - 用户希望生成更适合公众号场景的高完成度专题视觉 - 用户希望将本地图片上传到七牛云获取 CDN URL ## Prerequisites - 文章 Markdown 文件已存在 - 已配置至少一种可用生图通道: - Gemini 官方直连:`GEMINI_API_KEY` 或 `GOOGLE_API_KEY` - Gemini 原生代理 / 中转站:`IMAGE_PROVIDER=gemini`、`IMAGE_API_KEY`、可选 `IMAGE_BASE_URL` - Xiaomi Gemini 兼容接口:`IMAGE_PROVIDER=xiaomi` 或 `XIAOMI_API_KEY`,可选 `XIAOMI_BASE_URL` - 若启用上传:七牛云配置已就绪(技能根目录 `.env` 中的 `QINIU_ACCESS_KEY` / `QINIU_SECRET_KEY` / `QINIU_BUCKET` / `QINIU_DOMAIN`) ## Workflow ### Step 1: 分析文章 **目标**:理解文章结构,确定配图数量、位置与表达方式 **操作**: 1. 读取 `article_path` 的完整内容 2. 解析文章结构:标题、各章节标题(`##` / `###`)、段落数、代码块位置 3. 识别核心信息点: - 关键概念 / 术语解释 -> 适合信息图 - 对比 / 差异描述 -> 适合对比图 - 步骤 / 流程描述 -> 适合流程图 - 架构 / 框架描述 -> 适合架构图 - 数据 / 统计 -> 适合数据可视化 - 场景 / 叙事描述 -> 适合专题插画或编辑场景图 4. 根据 `density` 确定配图策略: - `minimal`:仅为最核心的 1-2 个信息点配图 - `balanced`:每个 `##` 级主要章节配一张图 - `rich`:每 300 字左右或每个重要段落配一张图 5. 确定 `slug`: - 若用户提供 `slug`:直接使用 - 否则从文章 H1 标题推导 `kebab-case` 6. 创建输出目录:`{article_dir}/illustrations/{slug}/` **输出**:文章结构分析结果、配图位置列表 ### Step 2: 生成 visual bible 与配图规划 **目标**:为整篇文章建立统一视觉基线,并生成每张图的规划信息 **操作**: 1. 先生成文章级 `visual_bible`,保存到 `{article_dir}/illustrations/{slug}/visual-bible.md` 2. `visual_bible` 必须覆盖: - `quality_baseline`:统一采用高完成度编辑视觉 / 专题配图标准 - `visual_theme`:本篇文章的整体风格方向 - `color_system`:主色、辅色、强调色、背景倾向 - `graphic_language`:图形语言、线条/材质/光感、信息层级方式 - `layout_discipline`:页面留白、模块密度、标题区与内容区节奏 - `text_policy`:默认简体中文;仅 `english_terms_whitelist` 中的术语保留英文 - `negative_rules`:禁止简单画图、低幼卡通、无意义装饰、英文乱码、随意混搭风格 3. 再对每个配图位置生成 outline 条目,至少包含: - `position`:插入位置(在哪个章节/段落之后) - `purpose`:这张图要传达什么信息 - `image_type`:对比图 / 流程图 / 架构图 / 数据图 / 场景图 / 编辑专题视觉 - `core_message`:本图唯一核心表达 - `content_blocks`:画面中必须出现的内容块 - `text_blocks`:图中需要出现的标题、标签、注释(默认中文) - `english_terms_used`:本图允许出现的英文术语子集 - `layout_hint`:布局方向与信息分区 - `filename`:输出文件名(格式:`NN-简短描述.png`) - `alt_text`:Markdown 图片的 alt 文本 4. 保存到 `{article_dir}/illustrations/{slug}/outline.md` 5. 同时为每张图生成独立提示词文件,保存到 `{article_dir}/illustrations/{slug}/prompts/` **outline.md 格式**: ```yaml --- article: <article_path> slug: <slug> density: <density> aspect_ratio: <ratio> prompt_profile: <profile> text_language: <language> image_provider: <provider> image_model: <model> image_count: <N> generated_at: <ISO timestamp> --- ``` **输出**:`visual_bible_path`、`outline_path` ### Step 3: 生成图片 **目标**:根据 `visual_bible` + outline 生成高质量图片文件 **操作**: 1. 为每张图构建结构化提示词,提示词必须同时继承: - 全局质量基线:高完成度编辑视觉,而非简单画图 - 文章级 `visual_bible` - 单图内容规划 2. 提示词必须包含以下层次: - `任务定位`:这是可直接用于公众号文章的成品级专题视觉 - `风格锚点`:复用本篇文章统一视觉语言 - `画面主体`:核心对象、信息模块、前中后景关系 - `版式结构`:标题区、内容区、对比区、流程区、数据区的组织方式 - `信息层级`:主标题、次要标签、补充说明的优先级 - `文字规则`:默认所有可见文字使用简体中文;仅白名单术语保留英文 - `质量要求`:丰富细节、清晰层级、强版式感、避免模板感 - `禁止项`:低幼、空泛、装饰性过强、无意义图标堆砌、英文乱码 3. 对 Nano Banana / Gemini 类模型,优先优化以下特性: - 画面信息完整、指令明确、元素具体 - 文本展示尽量短而准,避免大段说明文字 - 同一篇文章的每张图共享统一色系、统一图形语言、统一完成度 - 图片更像编辑专题视觉,而不是普通插图 4. 将所有提示词保存到 `{article_dir}/illustrations/{slug}/prompts/` 目录 5. 调用本技能内置脚本生成图片: - 脚本路径:`scripts/image-gen.ts` - 参数:`--prompt "<提示词内容>" --output "<输出路径>" --ar <宽高比>` - 可选:`--provider gemini|google|xiaomi|openai` - 可选:`--model <模型名>` - 可选:`--base-url <Gemini 原生代理基础地址>` - 可选:`--api-key <临时 key>` - 可选:`--image-size <清晰度/尺寸标识>`(如 Xiaomi 的 `1K`) - 可选:`--ref <参考图路径>`(Gemini 多模态场景) - **并行生成**:建议最多 4 个并发 6. 若需要一键完成规划 + 生图 + 插回文章,可直接调用: ```bash node scripts/illustrate-article.ts --article <article.md> ``` - 若使用 Xiaomi Gemini 兼容接口,可补充:`--image-provider xiaomi --image-model gemini-3-pro-image-preview --image-size 1K` 7. 失败处理: - 单张失败 -> 重试一次,可微调提示词中的布局、文字密度或禁止项 - 仍失败 -> 记录到失败列表,继续下一张 - 不中断整体流程 **输出**:图片文件列表、失败列表 ### Step 4: 上传图床(可选) **触发条件**:`upload=true` **目标**:将生成的图片上传到七牛云,获取 CDN URL **操作**: 1. 检查七牛云配置:读取技能根目录 `.env` 2. 调用上传脚本: ```bash bun run scripts/qiniu-upload.ts --file <本地路径> --key <远程路径> ``` 3. 远程 key 格式:`illustrations/{slug}/{filename}` 4. 逐张上传,记录每张的 CDN URL 5. 上传失败时保留本地路径,不中断流程 **输出**:`uploaded_urls` 列表(CDN URL 或 `null`) ### Step 5: 插入文章副本 **目标**:创建带有图片引用的文章副本 **操作**: 1. 复制 `article_path` 为 `article.illustrated.md`(同目录) 2. 在 outline 指定的每个位置插入图片引用: - 若已上传(有 CDN URL):`![alt_text](CDN_URL)` - 若未上传:`![alt_text](illustrations/{slug}/{filename})` 3. 对生成失败的图片,插入占位注释: ```markdown <!-- IMAGE PLACEHOLDER: {filename} — {purpose} --> ``` 4. 输出完成摘要: - `illustrated_article_path` - 成功 / 失败 / 上传统计 - 失败图片列表及原因 **输出**:`illustrated_article_path` ## Data Flow ```text article.md | v Step 1: 分析文章结构 -> 配图位置列表 | v Step 2: 生成 visual-bible.md + outline.md | v Step 3: 生成结构化 prompts -> illustrations/{slug}/*.png | v Step 4: (--upload) 上传七牛云 -> CDN URLs | v Step 5: 插入副本 -> article.illustrated.md ``` ## Error Handling | 失败场景 | 处理方式 | |----------|----------| | 文章文件不存在 | 立即报错退出 | | Gemini / 代理配置缺失 | 提示用户配置 `IMAGE_PROVIDER`、`IMAGE_API_KEY`、可选 `IMAGE_BASE_URL`,或回退到官方 `GEMINI_API_KEY` | | Xiaomi 接口配置缺失 | 提示用户配置 `IMAGE_PROVIDER=xiaomi` 或 `XIAOMI_API_KEY`,并按需设置 `XIAOMI_BASE_URL` / `XIAOMI_IMAGE_SIZE` | | 单张图片生成失败 | 重试一次;仍失败记录跳过,继续下一张 | | 文字过多导致效果差 | 精简标题/标签/注释长度后重试 | | 七牛云配置缺失 | 提示用户配置技能根目录 `.env`,跳过上传步骤 | | 七牛云上传失败 | 保留本地路径,记录错误,继续下一张 | | slug 目录已存在 | 直接使用(覆盖同名文件) | ## Example Usage **默认 Nano Banana 风格配图**: ```yaml article_path: articles/playwright-introduction/article.md density: balanced prompt_profile: nano-banana text_language: zh-CN image_provider: xiaomi image_model: gemini-3.1-flash-image-preview image_base_url: https://your-compatible-endpoint.example/v1beta image_size: 1K upload: false ``` **通过 Gemini 原生代理生图**: ```yaml article_path: articles/playwright-introduction/article.md density: balanced image_provider: gemini image_model: gemini-3.1-flash-image-preview image_base_url: https://your-relay.example.com/v1beta upload: false ``` **通过 Xiaomi Gemini 兼容接口生图**: ```yaml article_path: articles/playwright-introduction/article.md density: balanced image_provider: xiaomi image_model: gemini-3.1-flash-image-preview image_base_url: https://your-compatible-endpoint.example/v1beta image_size: 1K upload: false ``` **指定英文白名单术语**: ```yaml article_path: articles/playwright-introduction/article.md english_terms_whitelist: - Playwright - Chromium - Firefox - WebKit ``` ## Notes - 全局质量基线固定为高完成度编辑视觉,不生成简单装饰图 - 不同文章可以有不同视觉风格,但同一篇文章内必须共享统一风格体系 - 默认所有可见文字使用简体中文;仅白名单术语保留英文 - 始终创建副本(`article.illustrated.md`),不修改原文 - 图片引用强制使用相对路径和 `/` 分隔符(本地模式) - 提示词保存到 `prompts/` 目录,便于追溯和手动调整后重新生成 - 可使用 `bun run scripts/plan-illustrations.ts --article <article.md>` 自动生成 `visual-bible.md`、`outline.md` 和 `prompts/` - 可使用 `node scripts/illustrate-article.ts --article <article.md>` 一键完成规划、出图和 `article.illustrated.md` 生成 - Xiaomi/Gemini 兼容接口可通过 `image_provider=xiaomi` 与自定义 `image_base_url` 配置;开源仓库不预设任何私有中转地址

标签

skill ai

通过对话安装

该技能支持在以下平台通过对话安装:

OpenClaw WorkBuddy QClaw Kimi Claude

方式一:安装 SkillHub 和技能

帮我安装 SkillHub 和 zhy-article-illustrator-1776072191 技能

方式二:设置 SkillHub 为优先技能安装源

设置 SkillHub 为我的优先技能安装源,然后帮我安装 zhy-article-illustrator-1776072191 技能

通过命令行安装

skillhub install zhy-article-illustrator-1776072191

下载 Zip 包

⬇ 下载 zhy-article-illustrator v0.1.0

文件大小: 40.03 KB | 发布时间: 2026-4-15 15:11

v0.1.0 最新 2026-4-15 15:11
zhy-article-illustrator v1.2.0

- Adds automated, high-finish editorial illustrations for Markdown articles, including visual bible planning and structured prompts.
- Supports configurable illustration density, aspect ratio, image provider/model, and Qiniu CDN upload with reference replacement.
- Generates detailed outline, visual bible, prompts, and integrates image references into an article copy.
- Workflow covers article analysis, planning, image generation (Gemini/Xiaomi-compatible), optional uploading, and error handling.
- Output includes paths for all generated assets, image statistics, and uploaded CDN URLs.

Archiver·手机版·闲社网·闲社论坛·羊毛社区· 多链控股集团有限公司 · 苏ICP备2025199260号-1

Powered by Discuz! X5.0   © 2024-2025 闲社网·线报更新论坛·羊毛分享社区·http://xianshe.com

p2p_official_large
返回顶部