le-wechat-article v1.4:图片生产路由——节奏位与图像型封面走 le-gpt-image(Gallery prompt / 自绘叠字 / 额度纪律),信息位与文字型封面保持 SVG 自绘,失败自动回退

This commit is contained in:
leroy
2026-10-06 22:58:30 +08:00
parent 3b1ee9f997
commit ceb9f119f3
3 changed files with 26 additions and 4 deletions
+1 -1
View File
@@ -18,7 +18,7 @@
## 交付物 ## 交付物
`article.md`(终稿)+ `article.html`(干净正文)+ `article_预览.html`(带「复制到公众号」按钮的预览页)+ 审读报告摘要(含合规清零)+ 3 个标题候选与摘要 + 封面 brief(七步推导,可联动 ckm-banner-design 直接出图)。排版默认走主题引擎(6 套实战主题组件库,HTML 过平台合规校验),轻稿可用 md2wechat 快档。 `article.md`(终稿)+ `article.html`(干净正文)+ `article_预览.html`(带「复制到公众号」按钮的预览页)+ 审读报告摘要(含合规清零)+ 3 个标题候选与摘要 + 封面 brief(七步推导)。配图按生产路由分派:信息位与文字型封面 SVG 自绘,节奏位与图像型封面底图走 le-gpt-image(失败自动回退 SVG 自绘)。排版默认走主题引擎(6 套实战主题组件库,HTML 过平台合规校验),轻稿可用 md2wechat 快档。
可选收尾:经官方 API 同步到公众号草稿箱(`scripts/publish_draft.py`,需已认证公众号 + `WECHAT_APP_ID`/`WECHAT_APP_SECRET` 环境变量 + IP 白名单;自动提交 2.35:1 与 1:1 封面裁剪框;首次用 `--check` 验证,`--dry-run` 预览计划)。 可选收尾:经官方 API 同步到公众号草稿箱(`scripts/publish_draft.py`,需已认证公众号 + `WECHAT_APP_ID`/`WECHAT_APP_SECRET` 环境变量 + IP 白名单;自动提交 2.35:1 与 1:1 封面裁剪框;首次用 `--check` 验证,`--dry-run` 预览计划)。
+1 -1
View File
@@ -109,7 +109,7 @@ python3 scripts/check_prose.py <文章目录>/article.md
### 第 7 步:交付 ### 第 7 步:交付
0. **图片生产(默认执行,用户明确不要图时才跳过)**:正文图位与封面按 [visual-production.md](references/visual-production.md) 生产——交给 ckm-banner-design,或 SVG 自绘 + 浏览器截图均可,满足 brief 验收点即可。信息位图上的文字**逐字取自文章**,配色与所选排版主题一致;可编辑源文件(SVG/HTML)随 PNG 一起保留在 `imgs/src/`。生成后把正文图位占位替换为 `imgs/<文件名>.png` 真实路径——**终稿不得残留 placeholder**(此时 check_article 不再加 `--allow-placeholder`)。 0. **图片生产(默认执行,用户明确不要图时才跳过)**:正文图位与封面按 [visual-production.md](references/visual-production.md) 的**生产路由**逐张分派——信息位与文字型封面走 SVG 自绘(文字与比例精确);节奏位与图像型封面底图走 **le-gpt-image**(画面质感优,prompt 由其 Gallery 路由,图上中文文字一律由自绘层叠加);**le-gpt-image 失败(凭证失效/配额不足/超时/重出仍畸变)即回退 SVG 自绘路径**,如实记入交付清单图片状态,不中断交付。信息位图上的文字**逐字取自文章**,配色与所选排版主题一致;可编辑源文件(SVG/HTML)随 PNG 一起保留在 `imgs/src/`。生成后把正文图位占位替换为 `imgs/<文件名>.png` 真实路径——**终稿不得残留 placeholder**(此时 check_article 不再加 `--allow-placeholder`)。
1. 排版转换。默认走**主题引擎**——6 套实战主题组件库,融合自 gzh-design-skill(AGPL,见 [themes/README.md](references/themes/README.md))。主题用**第 2 步停点用户选定的**(画像默认 + 当场调整的结果);若停点被「一口气跑完」豁免跳过,按文章类型对照 [themes/theme-index.md](references/themes/theme-index.md) 的适用场景自动选(教程/测评→摸鱼绿、深度观点→红白色系、设计科技→石墨极简、随笔→留白禅意、对比评测→摸鱼票据、内刊复盘→橄榄手记),并在交付时说明选择理由。选定后按 [themes/ENGINE.md](references/themes/ENGINE.md) 读该主题组件库 + 通用组件库装配 HTML,装配完**校验到全绿才算完成**: 1. 排版转换。默认走**主题引擎**——6 套实战主题组件库,融合自 gzh-design-skill(AGPL,见 [themes/README.md](references/themes/README.md))。主题用**第 2 步停点用户选定的**(画像默认 + 当场调整的结果);若停点被「一口气跑完」豁免跳过,按文章类型对照 [themes/theme-index.md](references/themes/theme-index.md) 的适用场景自动选(教程/测评→摸鱼绿、深度观点→红白色系、设计科技→石墨极简、随笔→留白禅意、对比评测→摸鱼票据、内刊复盘→橄榄手记),并在交付时说明选择理由。选定后按 [themes/ENGINE.md](references/themes/ENGINE.md) 读该主题组件库 + 通用组件库装配 HTML,装配完**校验到全绿才算完成**:
@@ -40,6 +40,28 @@
- **手绘媒介**:同一篇内统一一种媒介,篇与篇之间轮换,避免整个号只有一种图。媒介池:马克笔白板 / 方格笔记本 / 便签 / 黑板粉笔 / 牛皮纸手绘 / 终端等宽 / 打印稿批注 / 扁平矢量 - **手绘媒介**:同一篇内统一一种媒介,篇与篇之间轮换,避免整个号只有一种图。媒介池:马克笔白板 / 方格笔记本 / 便签 / 黑板粉笔 / 牛皮纸手绘 / 终端等宽 / 打印稿批注 / 扁平矢量
- **实证图**(真实截图/照片):优先作为证据直接使用,不重绘产品界面当证据;需要标注/放大/对比时才加工 - **实证图**(真实截图/照片):优先作为证据直接使用,不重绘产品界面当证据;需要标注/放大/对比时才加工
## 生产路由(每张图先判断走哪条路径,不默认全走某一条)
| 图位类型 | 路径 | 理由 |
|---|---|---|
| 实证位(真实截图/照片) | 直接使用,不生成 | 证据不可代生成 |
| 信息位(流程/对比/结构/数据,图上文字逐字取自文章) | **SVG 自绘** | AI 生图中文缺字错字不可控;几何类图 SVG 的文字与比例都精确 |
| 节奏位(概念隐喻、场景氛围,图上无文字) | **le-gpt-image 首选**,失败回退 SVG 媒介池图形 | 质感、光影、氛围是生图强项;SVG 画氛围图易显工程感——历史配图「不美观」主要来自这类图硬走自绘 |
| 封面 · 文字型(纯色大字/数字冲击/信息表/截图标注/对比式) | **SVG 自绘** | 标题 4–7 字必须逐字精确且居中央安全区、比例必须精确 2.35:1;生图尺寸仅建议值,风险大于收益 |
| 封面 · 图像型(图上压字/扁平插画/场景实拍) | **le-gpt-image 底图 + 自绘文字层** | 底图要质感(AI 强项),标题要精确(SVG/HTML 叠字后浏览器截图合成);底图失败回退文字型形态 |
判断的依据是**这张图的成败关键在文字精确还是画面质感**:前者永远自绘,后者优先生图。走 le-gpt-image 的图彼此风格要统一(其 Gallery 同类别案例);信息位 SVG 与节奏位 AI 图因功能不同可在同一篇共存,但各自内部统一媒介。
## 与 le-gpt-image 的联动协议(节奏位与图像型封面首选)
前提:本机已装 le-gpt-image 且 Codex 已登录(其 `scripts/gpt_image.py check` 可验)。把 brief 交给它执行时:
1. **Gallery 优先**:由 le-gpt-image 按其 gallery 索引路由精调案例改写 prompt,不现写;brief 给清比例倾向(`--size`)但接受实测偏差(其通道尺寸仅建议值)。
2. **额度纪律**:单张 40–60 秒、消耗 ChatGPT 订阅额度——一篇通常只有 1–3 张节奏位图或封面底图走它,逐张生成逐张验收;不做探索性批量变体,变体只在验收不合格时重出一次。
3. **文字纪律**:交给它的 prompt **不含图上中文文字**——文字一律由自绘层叠加(AI 生图中文缺字错字不可控,它的强项是画面不是排版)。封面底图按「图上压字」形态预留压字区(留白充足或暗色遮罩区)。
4. **验收**:节奏位图查畸变与乱码(画面里出现乱字说明 prompt 混入了文字要求,重出);封面底图查「实际尺寸任一边裁到 2.35:1 后主体仍完整」+ 压字区可用;345px 缩略回看照旧。
5. **失败回退**:凭证失效(401)、配额不足、内容策略拒绝、超时、或重出一次仍不可用——该图**回退 SVG 自绘路径**(节奏位降级为媒介池图形,封面改文字型形态),如实记入交付清单的图片状态(哪张回退、原因),不中断交付流程。
## 与 ckm-banner-design 的联动协议 ## 与 ckm-banner-design 的联动协议
需要直接生成封面图时,把 brief 交给 ckm-banner-design 执行,brief 必须包含: 需要直接生成封面图时,把 brief 交给 ckm-banner-design 执行,brief 必须包含:
@@ -52,9 +74,9 @@
产出后按「缩略图回看」验收;不合格改 brief 重生,不改用其他工具绕开。 产出后按「缩略图回看」验收;不合格改 brief 重生,不改用其他工具绕开。
## SVG 自绘路径(零依赖替代) ## SVG 自绘路径(零依赖,兼失败回退位)
没有生图管线时,几何类信息图(流程、对比、曲线、分层)用 SVG 手绘完全够用,且比 AI 生图**文字更可靠**(不会出缺字错字):SVG 源文件放 `imgs/src/`,浏览器打开后按目标尺寸截屏导出 PNG。曲线/管道/卡片类图优先走这条路;只有需要插画质感时才必须用生图。封面同样可 SVG 自绘(文字型封面 = 纯色大字形态,正是最稳的封面形态之一)。 没有生图管线时,几何类信息图(流程、对比、曲线、分层)用 SVG 手绘完全够用,且比 AI 生图**文字更可靠**(不会出缺字错字):SVG 源文件放 `imgs/src/`,浏览器打开后按目标尺寸截屏导出 PNG。曲线/管道/卡片类图优先走这条路;只有需要插画质感时才必须用生图。封面同样可 SVG 自绘(文字型封面 = 纯色大字形态,正是最稳的封面形态之一)。le-gpt-image 失败时,节奏位图与封面底图也回退到这条路(见上节第 5 条)。
--- ---