知识漫画创作者 (Knowledge Comic Creator)
创作具有多种视觉风格的原创知识漫画。
使用方法
/baoyu-comic posts/turing-story/source.md /baoyu-comic # 然后粘贴内容
选项
| 选项 | 取值 |
|---|---|
--style | classic (默认), dramatic, warm, sepia, vibrant, ohmsha, realistic, wuxia, shoujo, 或自定义描述 |
--layout | standard (默认), cinematic, dense, splash, mixed, webtoon |
--aspect | 3:4 (默认, 纵向), 4:3 (横向), 16:9 (宽屏) |
--lang | auto (默认), zh, en, ja 等 |
风格 (Style) × 布局 (Layout) × 纵横比 (Aspect) 可以自由组合。自定义风格可以用自然语言描述。
纵横比在漫画的所有页面中保持一致。
自动选择逻辑
| 内容信号 | 风格 (Style) | 布局 (Layout) |
|---|---|---|
| 教程, 操作指南, 初学者 | ohmsha | webtoon |
| 计算, AI, 编程 | ohmsha | dense |
| 1950年前, 古典, 古代 | sepia | cinematic |
| 个人故事, 导师 | warm | standard |
| 冲突, 突破 | dramatic | splash |
| 红酒, 美食, 商业, 生活方式, 专业 | realistic | cinematic |
| 武侠, 仙侠, 中国历史 | wuxia | splash |
| 浪漫, 爱情, 校园生活, 友谊, 情感 | shoujo | standard |
| 传记, 均衡型 | classic | mixed |
代理执行指令: 无。 (该技能不依赖外部脚本)
文件结构
每个会话都会创建一个以内容缩略名(slug)命名的独立目录:
comic/{topic-slug}/
├── source-{slug}.{ext} # 源文件(文本、图像等)
├── analysis.md # 深度分析结果 (YAML+MD)
├── storyboard-chronological.md # 方案 A:时间轴顺序(保留)
├── storyboard-thematic.md # 方案 B:主题分类(保留)
├── storyboard-character.md # 方案 C:角色驱动(保留)
├── characters-chronological/ # 方案 A 的角色设定(保留)
│ ├── characters.md
│ └── characters.png
├── characters-thematic/ # 方案 B 的角色设定(保留)
│ ├── characters.md
│ └── characters.png
├── characters-character/ # 方案 C 的角色设定(保留)
│ ├── characters.md
│ └── characters.png
├── storyboard.md # 最终选定的分镜
├── characters/ # 最终选定的角色
│ ├── characters.md
│ └── characters.png
└── prompts/
├── 00-cover-[slug].md
└── NN-page-[slug].md
├── 00-cover-[slug].png
└── NN-page-[slug].png
缩略名 (Slug) 生成规则:
- •从内容中提取主题(2-4 个词,使用 kebab-case,如:alan-turing-bio)
- •示例:“阿兰·图灵传记” →
alan-turing-bio
冲突处理:
如果 comic/{topic-slug}/ 已存在:
- •追加时间戳:
{topic-slug}-YYYYMMDD-HHMMSS - •示例:
turing-story已存在 →turing-story-20260118-143052
源文件:
以 source-{slug}.{ext} 命名复制所有源文件:
- •
source-biography.md,source-portrait.jpg,source-timeline.png等 - •支持多个来源:对话中的文本、图像、文件
工作流
第一步:内容分析 → analysis.md
读取源内容,必要时保存,并进行深度分析。
动作:
- •保存源内容(如果尚未作为文件存在):
- •如果用户提供了文件路径:直接使用
- •如果用户粘贴了内容:保存在目标目录的
source.md中
- •读取源内容
- •遵循
references/analysis-framework.md进行深度分析:- •目标受众识别
- •读者价值主张
- •核心主题和叙事潜力
- •关键人物及其故事曲线
- •检测源语言
- •确定建议页数:
- •短篇故事:5-8 页
- •中等复杂度:9-15 页
- •完整传记:16-25 页
- •分析内容信号以推荐风格/布局
- •保存至
analysis.md
analysis.md 格式:
--- title: "阿兰·图灵:计算机科学之父" topic: 传记 time_span: 1912-1954 source_language: en user_language: zh aspect_ratio: "3:4" recommended_page_count: 12 --- ## 目标受众 - **核心受众**:对计算历史感兴趣的科技爱好者 - **次要受众**:学习科学突破的学生 - **潜在受众**:对人物传记故事感兴趣的普通读者 ## 价值主张 读者将获得: 1. 了解现代计算是如何诞生的 2. 与一位天才但悲剧的人物建立情感联系 3. 理解创新背后的人道代价 ## 核心主题 | 主题 | 叙事潜力 | 视觉呈现机会 | |-------|--------------------|--------------------| | 天才与社会的对抗 | 高冲突,戏剧性曲线 | 对比鲜明的场景 | | 密码破译 | 神秘,紧张 | 把技术图表作为艺术呈现 | | 个人悲剧 | 情感深度 | 亲密、忧郁的面板 | ## 关键人物与故事曲线 ### 阿兰·图灵 (主角) - **曲线**:被误解的天才 → 战争英雄 → 悲剧结局 - **视觉特征**:凌乱的学究形象,眼神深邃 - **关键时刻**:Enigma 破译工作、被捕、最后的日子 ### 克里斯托弗·莫科姆 (催化剂) - **角色**:早年好友,其去世塑造了图灵 - **视觉特征**:年轻、阳光 - **关键时刻**:校园友谊、突然离世 ## 内容信号 - "biography" → classic + mixed - "computing history" → ohmsha + dense - "personal tragedy" → dramatic + splash ## 建议方案 1. **时间轴顺序** - 遵循生平时间线(推荐用于传记) 2. **主题分类** - 按贡献组织(适合教学重点) 3. **角色驱动** - 关系驱动叙事(适合情感影响)
第二步:生成 3 个分镜变体
创建三个不同的方案,每个方案结合一种叙事方式和推荐风格。
| 方案 | 叙事方式 | 推荐风格 | 布局 |
|---|---|---|---|
| A | 时间轴顺序 | sepia | cinematic |
| B | 主题分类 | ohmsha | dense |
| C | 角色驱动 | warm | standard |
针对每个变体:
- •
生成分镜脚本 (
storyboard-{approach}.md):- •YAML 前置数据包含 narrative_approach, recommended_style, recommended_layout, aspect_ratio
- •封面设计
- •每一页:布局、面板分解、视觉提示词
- •使用用户的首选语言编写
- •参考:
references/storyboard-template.md
- •
生成配套角色 (
characters-{approach}/):- •
characters.md- 符合推荐风格的视觉规范(使用用户的首选语言) - •
characters.png- 角色参考表 - •参考:
references/character-template.md
- •
所有变体在选定后都会保留供参考。
第三步:用户确认所有选项
重要:在一个 AskUserQuestion 步骤中呈现所有选项。不要通过多个单独的确认来中断工作流。
确定要问的问题:
| 问题 | 何时询问 |
|---|---|
| 分镜方案 | 始终(必需) |
| 视觉风格 | 始终(必需) |
| 语言 | 仅当 source_language ≠ user_language 时 |
| 纵横比 | 仅当用户可能偏好非默认值(如横向内容)时 |
语言处理:
- •如果源语言 = 用户语言:仅告知用户(如,“漫画将采用中文”)
- •如果不同:询问要使用哪种语言
所有的分镜和提示词都以用户选择/首选的语言生成。
纵横比处理:
- •默认:3:4 (纵向) - 标准漫画格式
- •如果内容适合(如全景场景、技术图表),提供 4:3 (横向)
- •对于电影感内容,提供 16:9 (宽屏)
AskUserQuestion 示例格式:
问题 1 (分镜方案): 您选择哪种分镜方案? - A: 时间轴顺序 + sepia (推荐) - B: 主题分类 + ohmsha - C: 角色驱动 + warm - 自定义 问题 2 (风格): 您选择哪种视觉风格? - sepia (方案推荐) - classic / dramatic / warm / sepia / vibrant / ohmsha / realistic / wuxia - 自定义描述 问题 3 (语言) - 仅当不匹配时: - 中文 (源材料语言) - 英文 (您的偏好) 问题 4 (纵横比) - 仅当相关时: - 3:4 纵向 (推荐) - 4:3 横向 - 16:9 宽屏
确认后:
- •将选定的分镜复制到 →
storyboard.md - •将选定的角色复制到 →
characters/ - •更新 YAML 前置数据,包含确认的风格、语言和纵横比
- •如果风格与方案推荐的不同:重新生成
characters/characters.png - •用户可以直接编辑文件进行微调
第四步:生成图像
使用确认的分镜 + 风格 + 纵横比:
针对每一页(封面 + 正文):
- •将提示词保存至
prompts/NN-{cover|page}-[slug].md(使用用户的首选语言) - •使用确认的风格和纵横比生成图像
- •在每次生成后报告进度
图像生成技能选择:
- •检查可用的图像生成技能
- •如果有多个技能可用,询问用户偏好
角色参考处理:
- •如果技能支持参考图:提供
characters/characters.png - •如果技能不支持参考图:在提示词中包含
characters/characters.md的内容
会话管理:
如果图像生成技能支持 --sessionId:
- •生成唯一的会话 ID:
comic-{topic-slug}-{timestamp} - •为所有页面使用相同的会话 ID
- •确保生成的图像之间视觉风格的一致性
第六步:完成报告
漫画制作完成! 标题: [title] | 风格: [style] | 页数: [count] | 纵横比: [ratio] | 语言: [lang] 位置: [path] ✓ analysis.md ✓ characters.png ✓ 00-cover-[slug].png ... NN-page-[slug].png
页面修改
支持在初始生成后修改单个页面。
编辑单页
使用修改后的提示词重新生成特定页面:
- •确定要编辑的页面(例如:
03-page-enigma-machine.png) - •如果需要,更新
prompts/03-page-enigma-machine.md中的提示词 - •如果内容有显著变化,更新文件名中的 slug
- •使用相同的会话 ID 和纵横比重新生成图像
添加新页面
在指定位置插入新页面:
- •指定插入位置(例如:在第 3 页之后)
- •创建带有合适 slug 的新提示词(例如:
04-page-bletchley-park.md) - •生成新的页面图像(相同的纵横比)
- •重新编号文件:所有后续页面的 NN 前缀递增 1
- •
04-page-tragedy.png→05-page-tragedy.png - •Slug 保持不变
- •
- •在
storyboard.md中更新新页面条目
删除页面
删除页面并重新编号:
- •确定要删除的页面(例如:
03-page-enigma-machine.png) - •删除图像文件和提示词文件
- •重新编号文件:所有后续页面的 NN 前缀递减 1
- •
04-page-tragedy.png→03-page-tragedy.png - •Slug 保持不变
- •
- •更新
storyboard.md以移除页面条目
文件命名规范
文件使用有意义的 slug 以提高可读性:
NN-cover-[slug].png / NN-page-[slug].png NN-cover-[slug].md / NN-page-[slug].md (位于 prompts/ 目录)
示例:
- •
00-cover-turing-story.png - •
01-page-early-life.png - •
02-page-cambridge-years.png - •
03-page-enigma-machine.png
Slug 规则:
- •源自页面标题/内容 (kebab-case)
- •在漫画内必须唯一
- •当页面内容发生显著变化时,相应地更新 slug
重新编号规则:
- •在添加/删除后,更新受影响页面的 NN 前缀
- •除非内容变化,否则 slug 保持不变
- •保持编号顺序,不留空隙
特定风格指南
欧姆社风格 (--style ohmsha)
教育漫画的额外要求:
- •默认:直接使用哆啦A梦角色 - 无需创建新角色
- •大雄 (Nobita):学生角色,好奇的传信者
- •哆啦A梦 (Doraemon):导师角色,使用道具解释概念
- •胖虎 (Gian):对立面/挑战角色,代表障碍或错误观念
- •静香 (Shizuka):辅助角色,提出澄清性问题
- •仅在明确要求时才使用自定义角色:
--characters "学生:小明,导师:教授" - •必须使用视觉隐喻(道具、动作场景) - 禁止纯粹的“头像对话”
- •页面标题:采用叙事风格,而不是“第 X 页:主题”
参考:references/ohmsha-guide.md 详细指南。
参考资料
references/ 目录中的详细模板和指南:
- •
analysis-framework.md- 漫画改编的深度内容分析 - •
character-template.md- 角色定义格式和示例 - •
storyboard-template.md- 分镜构造和面板分解 - •
ohmsha-guide.md- 欧姆社漫画风格细节 - •
styles/- 详细风格定义 - •
layouts/- 详细布局定义
扩展支持
通过 EXTEND.md 支持自定义风格和配置。
检查路径(优先级顺序):
- •
.baoyu-skills/baoyu-comic-lite/EXTEND.md(项目级) - •
~/.baoyu-skills/baoyu-comic-lite/EXTEND.md(用户级)
如果找到,则在第一步之前加载。扩展内容将覆盖默认设置。