From ceb9f119f39710801e48af3b4426b6d641903f76 Mon Sep 17 00:00:00 2001 From: leroy Date: Tue, 6 Oct 2026 22:58:30 +0800 Subject: [PATCH] =?UTF-8?q?le-wechat-article=20v1.4=EF=BC=9A=E5=9B=BE?= =?UTF-8?q?=E7=89=87=E7=94=9F=E4=BA=A7=E8=B7=AF=E7=94=B1=E2=80=94=E2=80=94?= =?UTF-8?q?=E8=8A=82=E5=A5=8F=E4=BD=8D=E4=B8=8E=E5=9B=BE=E5=83=8F=E5=9E=8B?= =?UTF-8?q?=E5=B0=81=E9=9D=A2=E8=B5=B0=20le-gpt-image=EF=BC=88Gallery=20pr?= =?UTF-8?q?ompt=20/=20=E8=87=AA=E7=BB=98=E5=8F=A0=E5=AD=97=20/=20=E9=A2=9D?= =?UTF-8?q?=E5=BA=A6=E7=BA=AA=E5=BE=8B=EF=BC=89=EF=BC=8C=E4=BF=A1=E6=81=AF?= =?UTF-8?q?=E4=BD=8D=E4=B8=8E=E6=96=87=E5=AD=97=E5=9E=8B=E5=B0=81=E9=9D=A2?= =?UTF-8?q?=E4=BF=9D=E6=8C=81=20SVG=20=E8=87=AA=E7=BB=98=EF=BC=8C=E5=A4=B1?= =?UTF-8?q?=E8=B4=A5=E8=87=AA=E5=8A=A8=E5=9B=9E=E9=80=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- skills/le-wechat-article/README.md | 2 +- skills/le-wechat-article/SKILL.md | 2 +- .../references/visual-production.md | 26 +++++++++++++++++-- 3 files changed, 26 insertions(+), 4 deletions(-) diff --git a/skills/le-wechat-article/README.md b/skills/le-wechat-article/README.md index 6c90d69..2030926 100644 --- a/skills/le-wechat-article/README.md +++ b/skills/le-wechat-article/README.md @@ -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` 预览计划)。 diff --git a/skills/le-wechat-article/SKILL.md b/skills/le-wechat-article/SKILL.md index 361bdca..35614ad 100644 --- a/skills/le-wechat-article/SKILL.md +++ b/skills/le-wechat-article/SKILL.md @@ -109,7 +109,7 @@ python3 scripts/check_prose.py <文章目录>/article.md ### 第 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,装配完**校验到全绿才算完成**: diff --git a/skills/le-wechat-article/references/visual-production.md b/skills/le-wechat-article/references/visual-production.md index 7f7e375..3a00923 100644 --- a/skills/le-wechat-article/references/visual-production.md +++ b/skills/le-wechat-article/references/visual-production.md @@ -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 的联动协议 需要直接生成封面图时,把 brief 交给 ckm-banner-design 执行,brief 必须包含: @@ -52,9 +74,9 @@ 产出后按「缩略图回看」验收;不合格改 brief 重生,不改用其他工具绕开。 -## SVG 自绘路径(零依赖替代) +## SVG 自绘路径(零依赖,兼失败回退位) -没有生图管线时,几何类信息图(流程、对比、曲线、分层)用 SVG 手绘完全够用,且比 AI 生图**文字更可靠**(不会出缺字错字):SVG 源文件放 `imgs/src/`,浏览器打开后按目标尺寸截屏导出 PNG。曲线/管道/卡片类图优先走这条路;只有需要插画质感时才必须用生图。封面同样可 SVG 自绘(文字型封面 = 纯色大字形态,正是最稳的封面形态之一)。 +没有生图管线时,几何类信息图(流程、对比、曲线、分层)用 SVG 手绘完全够用,且比 AI 生图**文字更可靠**(不会出缺字错字):SVG 源文件放 `imgs/src/`,浏览器打开后按目标尺寸截屏导出 PNG。曲线/管道/卡片类图优先走这条路;只有需要插画质感时才必须用生图。封面同样可 SVG 自绘(文字型封面 = 纯色大字形态,正是最稳的封面形态之一)。le-gpt-image 失败时,节奏位图与封面底图也回退到这条路(见上节第 5 条)。 ---