小互隐喻配图引擎
借鉴自 helloianneo/ian-xiaohei-illustrations(小黑 Codex Skill)的方法骨架,换成小互自己的画风与场景。血统留痕见 references/血统.md。
核心定位
为中文深度文 / 方法拆解 / 产品解读生成锁定专属风格的正文配图。目标不是:商业插画、PPT 信息图、样式库随机选风格、可爱卡通。目标是:把文章里的一个关键判断 / 流程 / 状态 / 隐喻,变成一张锁定专属风格、有记忆点、一眼怪但一秒懂的解释图。
画幅:比例按每张图的内容结构逐张判断,不套固定默认。公众号手机端阅读基准偏竖(3:4/4:3),16:9 只留给横向内容——见下「工作流 · 2.5 定比例」。常用 16:9 / 9:16 / 4:3 / 3:4 / 1:1 / 3:2。
依赖(装好技能后唯一要自备的东西)
本技能只负责「想清楚画什么」+「组好提示词」,实际生图用你环境里任何支持「文生图 + 参考图」的途径:API 脚本、MCP 工具、生图技能都行。硬要求只有两条:
- 能传 1-2 张参考图(锁 IP 角色用,见 ip-character.md)——推荐 GPT-image 系列(中文标注准确率高,传
image_urls锁角色)或 Gemini - 能指定画幅比例
按情况三选一(详细对比见 README「生图途径怎么解决」):
- 已有 API → 让 Claude Code 写个调用脚本,一次写好反复用。OpenAI 兼容中转端点同样能跑
- 没有 API → 对 Claude Code 说"帮我写一个调 OpenAI 图像 API 的生图脚本",key 申请、脚本、落盘目录一次配好
- 不想花钱 → 走「纯提示词模式」:用户明说"只出提示词不生图"时,跳过步骤 3 的 API 调用,把每张图的完整提示词 + 该传哪张参考图,逐张输出为清单,用户自己贴到 ChatGPT / Gemini 网页版手动生成。后续 QA / 交付步骤照走(用户把图存回来后)
和 baoyu-article-illustrator 的分工:
- baoyu-article-illustrator → 每篇从样式库选不同风格,灵活但不统一
- 本技能 → 锁定一套小互专属画风 + (可选)固定 IP,换辨识度。读者一眼认出"这是小互出品"
✅ 已定调(2026-05-31 v3):角色锁定 + 多画风皮肤
- IP 锁定(跨画风不变):小互——红框圆眼镜 + 黑色齐刘海 bob(⛔无丸子) + 橙红毛衣牛仔背带裤 + "小互"名牌 + 耷拉狐狸搭档。详见
references/ip-character.md - 画风可选皮肤:3D盲盒 / 黑白线稿 / 扁平,每篇按调性选一种(默认 3D)。详见
references/style-dna.md - ⛔ 表情/动作随内容情绪变化(最核心一条):每张小互的脸和动作必须演出这张的情绪,禁止全套一张呆脸。映射表见 ip-character.md
- 形象锚点图:
examples/xiaohu-ip-正面挥手.png、笑脸特写.png(齐刘海版)。生图时传作参考图锁角色 - 想换成你自己的角色? 装上就能用小互跑通,但强烈建议定义自己的 IP——辨识度才是你的。三步替换法见
references/customize-your-ip.md
演进:v1 手绘线稿/deadpan → v2 3D 锁定 → v3 角色锁定+多皮肤+齐刘海。
先读这些参考
出 shot list 前必读这四个(理解力+分流靠它们,不是"按需"):cognitive-anchors + deep-reading + explanatory-diagrams + comic-strip。其余按需读取,不要一次塞满上下文:
references/cognitive-anchors.md— 该配图的点怎么挑(认知锚点清单 + 四品类差异)references/deep-reading.md— 挑完锚点后的深层提炼(三问:真意/张力/灵魂话,防表面图解;+ Q4 内容锁定,防"传神但不准")references/metaphor-method.md— 每张图怎么现编一个生活化隐喻(三步法 + 物件池/动作池 + 反复刻)references/expression-method.md— 表情怎么演到位(情境描述+演技锚点双图法 + 情绪→摸鱼记对照表)references/explanatory-diagrams.md— 解释图示(流程/信息/对比/阶梯/关系图 + 小互当讲解员;难懂处用,不只情绪图)references/comic-strip.md— 四格漫画(第三轨;有时间线/转折/心路历程的内容用,起承转合 + 表情递进,一张图讲完一个故事)references/anti-ppt-qa.md— 怎么防止画成 PPT(负向清单 + 失败信号 + 迭代修法)references/style-dna.md— 专属画风(占位待填)references/ip-character.md— 专属 IP(占位待填)references/prompt-template.md— 单张生图提示词模板(画风变量待填)
工作流
1. 消化正文 → 逐节枚举计划表(强制,替代"凭感觉挑点";2026-06-10 借 baoyu 改)
读文章(路径 / 粘贴 / Markdown)。不要"挑几个顺眼的点"——"挑"是漏斗,会漏掉枯燥但难懂的机制段(MoE / 内存 / 路由这种)。改成逐节枚举:把文章每一节(到二/三级小标题粒度)都列进下表,每节一行,不许跳。
| 小节 | 内容信号(数据/流程/对比/架构机制/时间线/纯叙事) | 非专家会不会卡 | 该走哪轨 + type | 配 / 不配 + 一句理由 |
|---|
- 每节都要有行,包括判"不配"的——把理由写出来(如"纯叙事,文字已说透")。漏一节 = 静默省略,这正是过去配图偏少的根因。
- "配 / 不配" 判据见下方双向第一性原则。判"配"的行继续走 1.3 深层提炼 + 1.5 分轨;判"不配"的行停在表里。
- 表是步骤 2 的 shot list 和一次确认的底稿——先有表,再有图。
⛔ 第一性原则(双向,高于本技能所有数量规则;2026-06-07 立"天花板",2026-06-10 补"地板"):配图唯一目的是帮读者搞懂内容、尤其难懂的概念。两个方向都要守:
天花板(不许多配 / 凑数):
- 文字已说透、不抽象的点不配图(图是浪费)。一句话能讲清的分工 / 关系,别硬画。
- 真实截图 / 官方图能说明问题时,自造插图是辅助不是主角,不为"配够"硬加。
- 判据:"删了它读者会更难懂吗?"——不会 → 砍。
地板(不许漏配难懂机制,2026-06-10 加):
- 每个抽象机制 / 难懂结构 / 关键对比,至少配 1 张解释图(架构、内存、算法、数据流、MoE 这类,对小白几乎永远"没说透")。
- 判"不配"前必须证明:这节没有一个非专家会卡的抽象点。别拿"我觉得说透了"当借口——判的是读者卡不卡,不是你(已经懂的人)觉得清不清楚(知识诅咒)。
- 张数仍无默认值,但技术深度文的解释图数 ≈ 文中独立抽象机制数(通常 4-8);明显低于这个数 → 多半漏了,回表复查。
1.3 ⛔ 深层提炼(挑完锚点后、分轨前,强制,不能跳)
挑出认知锚点只是"找到了在哪配图"。这一步要回答"这张图到底要让读者感受到什么"——理解文字背后的含义,不是图解文字表面。见 references/deep-reading.md。
对每个锚点逐个回答三个问题(内心独白,不用写给用户看,但必须想清楚再进 1.5):
- 作者的真意是什么? 不是这段在说什么(表面),而是作者为什么在这里说这个(底层)。是在做判断?在纠偏?在制造反差?在暗示一个没直说的结论?
- 张力在哪? 每个值得配图的点背后都有一个张力——旧认知 vs 新事实、期望 vs 现实、简单表象 vs 复杂真相、大众直觉 vs 反直觉判断。找到这个张力,图才有戏剧性
- 读者看完这张图,脑子里应该留下的一句话是什么? 不是标题,不是段落摘要,是一个能让人"啊原来是这样"的顿悟。这句话就是这张图的灵魂——后面编隐喻、选构图、写标注全围绕它
判据:如果三个问题答完,发现这个锚点的"真意"跟段落表面说的差不多(比如"三家公司在竞争"→画三条赛道),说明没挖到底层。逼自己再想一层:竞争的真正赌注是什么?谁的姿态反映了什么战略?哪个细节暴露了真实意图?——把这个更深的东西画出来,而不是画"三个人跑步"。
⛔ 三问之后必须再做 Q4「内容锁定」(见 deep-reading.md): 回原文锁这张图的"必现内容清单"(真实部件 / 数字 / 步骤,逐条 grep 原文确认)。三问保证传神,Q4 保证准确——两个都做完才进 1.5,缺了 Q4 图就容易"好看但对不上内容"。
1.5 图类型分流(强制门槛,不能跳)
挑完锚点,每个点先判定走哪一轨,再进 shot list。这是硬门槛——跳过它,所有图都会滑成"小互+隐喻物件"一种形态(2026-06-01 踩坑根治:6 张全做成角色隐喻,信息图/流程图/四格漫画一张没出)。
三轨判定(问:这一段读者卡在哪?):
- 没共鸣 / 缺钩子 → 情绪锚点图(小互演情绪;走
metaphor-method+expression-method,双图法传演技锚) - 没看懂结构 / 流程 / 组成 / 对比 / 关系 → 解释图示(boxes+arrows+icons,小互当讲解员;走
explanatory-diagrams,传长相锚不传演技锚) - 有时间线 / 转折 / 心路历程("以前X→后来Y""踩坑→解决") → 四格漫画(2x2 起承转合;走
comic-strip,传长相锚不传单一演技锚)
信号速记:讲"一串步骤 / 几个组成 / 两种对比 / 谁触发谁"=解释图;讲"前因后果 / 翻转 / 演变"=四格漫画;只为态度共鸣=情绪图。
⛔ 分布 gate(出 shot list 后自检)——这是否决项,不是配额(2026-06-07 改:别读成"每类来一张"):
- 否决·全是情绪图:情绪锚点图占一半以上 → 多半是没分流、在用小互演情绪凑数,打回重判(全篇确实只需钩子、没难懂结构时例外,但要说得出理由)
- 否决·形态选错(该解释图用了情绪图):某点是"几个组成 / 一串流程 / 对比 / 进阶"且文字没说透,却画成小互演表情 → 换解释图。⚠️ 不是"有结构就必须配 1 张解释图"——文字已说透就不配
- 否决·形态选错(该四格用了单张):某段是完整时间线 / 转折,单张讲不出过程 → 用四格。⚠️ 同样不是"有时间线就必须来一张四格"
- 核心:gate 只拦"形态选错"和"全是情绪图凑数",不强制任何类型的最小张数。一篇可以只有 1 张解释图、0 情绪图、0 四格——只要那张是内容真需要的
2. 出 shot list + 一次确认(强制 AskUserQuestion,不能跳)
shot list = 步骤 1 表里判"配"的那些行展开。每张写清:
- 放在哪段后 / 主题 / 核心意思(填 1.3 的灵魂话) / 图类型(三轨六类必填:情绪锚点 / 解释图[流程·信息·对比·阶梯·关系] / 四格漫画——见 1.5) / 必现内容点(来自原文的真实结构/数字/部件,见 1.3 的 Q4 内容锁定) / (IP 动作或当讲解员) / 建议中文标注词 / 比例(逐张按内容判断,见 2.5)
配图密度:--density 是用户显式覆盖(精简 1-2 / 均衡 3-5 / 每节至少 1 / 丰富 6+)。不传时张数 = 步骤 1 表判"配"的行数,走双向第一性原则(既不凑数,也不漏难懂机制)。⛔ 别默认往某个数凑,但也别因"我觉得说透了"把难懂机制压到 0。
⛔ 一次确认(借 baoyu,2026-06-10 加):生图前必须把步骤 1 的整张枚举表(含判"不配"的行 + 理由)+ 这份 shot list,用 AskUserQuestion 给用户过一遍——让用户在烧 API 前就拦住"这节怎么没配""这张形态选错了""这节确实不用配"。用户确认 / 调整后才进生图。批量赶稿用户说"你定"可跳过确认,但表和 shot list 还是要产出。
画风未定调 → 同一轮一起定(见 2.8),别多问一次。
2.5 定比例(我按内容判断 + 公众号偏竖,用户可覆盖)
不套固定默认。shot list 里每张都按内容结构判断比例,逐张标出:
- 内容 → 比例(判断逻辑):
- 横向流程 / 左右前后对比 / 系统全景 →
16:9或4:3(信息天然横向流动) - 单角色情绪图 / 单物件 / 概念隐喻 →
3:4或1:1(主体大、标注清) - 纵向分层 / 上下台阶 / 信息密集长图 →
3:4或9:16
- 横向流程 / 左右前后对比 / 系统全景 →
- 为什么基准偏竖:公众号正文图宽度被微信撑满,
16:9在手机上高度只 ~1/4 屏,小互角色 + 中文标注显得小;3:4/4:3更大更舒展、标注看得清。所以16:9退化成"横向内容专用",不是默认值。9:16信息最满但太高、打断阅读,只给真正信息密集的长图。 - 用户覆盖(优先于我的判断):
--ratio 4:3= 强制全篇统一某比例(版式最齐,覆盖逐张判断)- 单张直接说"图N 改竖版/横版"即可
- ⚠️ 横竖混排取舍:同篇正文横竖混排,读者滚动时图宽忽大忽小。逐张判断时若多数图性质相近,尽量收敛到 1-2 种比例;真要混,让它服务内容不是炫技。
- ⛔ 比例数值与 prompt 方向词必须联动(改漏会变形):见
prompt-template.md的 orientation 映射——16:9/4:3/3:2→horizontal,9:16/3:4→vertical,1:1→square。
2.8 ⛔ 画风选择(硬停顿,品味节点,不能跳)
用户 --style 已指定 → 直接用。没指定 → 必须 AskUserQuestion 让用户选,给 2-3 个按文章调性推荐的皮肤候选(附 examples/皮肤样张/ 对应预览图描述),不能默认 3D 就往下走。判断依据见 style-dna.md"怎么选皮肤"。
这是品味节点,和封面文案/标题同级——默认 Top 1 生成是禁止的(2026-04-24 封面踩坑同根因)。
3. 单张生成
生图推荐走 GPT-image 系列(质感最强,中文标注准,传参考图锁角色);Gemini 备选。3D 皮肤尤其推荐 GPT。用你自己的生图途径,见上方「依赖」一节。
⛔ 用 GPT-image-2 的正确姿势(2026-06-10,瘦渲染留编辑):它中文字符级 ~99% 准、"先想后画"自己会规划版面。所以——版面用语义描述("左内存右闪存、中间分隔"),别抠像素坐标;中文标注放心让它写,别再搞叠字 workaround(见 prompt-template 文字层方案已废弃)。省下的功夫全压到"内容对不对":版面 / 文字 / 风格交给模型 + 锚点参考图,你只把关"配几张、配哪、每张的真实内容 / 机制对不对"(步骤 1 枚举表 + deep-reading Q4 内容锁定)。渲染器越强,内容把关越重要——一张好看但机制画错的图,比丑图更骗人。
3.0 基准图先行(定调,防全篇风格漂移):正式批量前先只生 1 张基准图(建议信息图或主角色图),确认背景/光影/精致度符合视觉契约(见 style-dna)。基准对了再批量,后续所有图沿用同一皮肤 + 同一视觉契约句(可把基准图当 style reference 传),保证一篇统一;基准不对先调 prompt 别批量。
皮肤已在 2.8 确定,这里直接用。一篇内所有图同一皮肤 + 同一视觉契约(六维统一,见 style-dna;每张 prompt 粘 prompt-template 的视觉契约句)。
每张图按 metaphor-method.md 现编隐喻 → 套 prompt-template.md 组提示词(STYLE_DNA 注入选定皮肤,IP 段注入角色)→ 调你的生图途径出图落盘。一张一张生,不拼图。比例参数必须填这张定的比例(全篇默认或单张覆盖值),同时把 prompt 第一句的方向词改成对应 orientation(见 prompt-template.md),数值和方向词不一致会出图变形。
生表情走双图法(见 expression-method.md):每张传两张 --reference = 长相锚点(examples/xiaohu-ip-正面挥手.png)+ 演技锚点(examples/演技锚点/ 按本张情绪挑)。表情靠情境描述 + 演技锚点,不写死面部。黑白/扁平皮肤 prompt 强调"keep character from ref1, expression from ref2, render in [皮肤] style"。
⛔ 不复刻旧图构图,每张从当前文章重新发明隐喻(见 metaphor-method.md 反复刻规则)。
4. QA 自检
按 anti-ppt-qa.md 检查:白底/留白/隐喻成立/非 PPT/中文可读/IP 承担动作。命中失败信号 → 优先局部编辑或重生成。
5. 交付
- 图按
YYYY-MM-DD-关键词/文件夹归档到你的图片目录,文章里按你的发布管线引用(本地路径 / 图床 CDN URL 都行) - 如果走图床:上传后端到端验证——curl 确认 200 → 下载确认是有效图,别只看"上传成功"
- 交付报告:几张、每张用途、保存路径、哪些最稳哪些可选。不长篇讲风格理论,让图说话
流程原则
- 简单可重复:每次走完整流程,不加锁定/批量/记忆上次。
--style快捷可有但不自动记。 - API 最多 2 次:生图失败最多 2 次,不在挂掉的 API 上耗。
- 审美不固化成硬规则:style-dna 存方向和判断力,不写成关键词替换表。衍生是延伸提高不是模仿。
自修复
步骤失败 / 过时 / 产出不符预期 → 立即告知哪步出问题并提议修改,不默默绕过。