1实现原理 · 为什么它能做到
风格是 art × tone × layout 三维,另有 preset 层叠加额外叙事规则。
skills/canghe-comic/SKILL.md
| `--art` | ligne-claire (default), manga, realistic, ink-brush, chalk | Art style / rendering technique |
这里在做什么:art 决定渲染技法,另有 --tone 决定氛围、--layout 决定分镜排布,三者正交可组合。
基调 tone 独立控制氛围(7 档)。
skills/canghe-comic/SKILL.md
| `--tone` | neutral (default), warm, dramatic, romantic, energetic, vintage, action | Mood / atmosphere |
这里在做什么:每档 tone 是一份 reference(tones/*.md),给出色偏、光线、情绪范围与最佳搭配。
版式 layout 控制每页画格数量与阅读流(6 档)。
skills/canghe-comic/SKILL.md
| `--layout` | standard (default), cinematic, dense, splash, mixed, webtoon | Panel arrangement |
这里在做什么:如 webtoon 为竖版条漫单列滚动,dense 为 3×3 信息密集网格。
preset 不只是 art+tone 别名,还带额外规则。
skills/canghe-comic/SKILL.md
| `--style ohmsha` | `--art manga --tone neutral` | Visual metaphors, NO talking heads, gadget reveals |
这里在做什么:ohmsha/wuxia/shoujo 三个 preset 各自带特殊规则;命中 preset 时要加载 references/presets/{preset}.md。
内容信号 → 自动选型(内容类型映射到 art/tone/layout 或 preset)。
skills/canghe-comic/SKILL.md
| Tutorial, how-to, programming, educational | **ohmsha** preset |
这里在做什么:Auto Selection 表把教程/武术/言情/传记等内容信号直接映射到推荐 preset 或组合。
角色一致性强制:先生成角色表 characters.png,再以 --ref 逐页引用。
skills/canghe-comic/SKILL.md
**Character reference is MANDATORY for visual consistency.**
这里在做什么:Step 7.1 先出 characters/characters.png,7.2 每页生图都带 --ref;后端不支持 --ref 时降级为把角色描述前置进每页 prompt。
重生成前先备份,且必须先更新 prompt 文件。
skills/canghe-comic/SKILL.md
**Backup rule**: If `characters/characters.png` exists, rename to `characters/characters-backup-YYYYMMDD-HHMMSS.png`
这里在做什么:页面与 prompt 同样走 -backup- 改名规则,保证可比较、可回退,重做不覆盖原始文件。
生图步骤调用仓库内兄弟 skill 的 canghe-image-gen 脚本。
skills/canghe-comic/SKILL.md
npx -y bun ${SKILL_DIR}/../canghe-image-gen/scripts/main.ts \
这里在做什么:每页/角色表都以 --promptfiles 与 --ref 调该脚本生成图片,是流程中唯一的“出网”环节(后端由该脚本决定)。
自带脚本把页面合并成 PDF,交付物是单份文件而非散图。
skills/canghe-comic/scripts/merge-to-pdf.ts
await Bun.write(outputPath, pdfBytes);
这里在做什么:merge-to-pdf.ts 按 NN 前缀顺序把页面图片合成 PDF 并落盘,纯本地读写。
2核心能力
01art × tone × layout 三维选型 + preset 快捷
02内容信号自动推荐(教程→ohmsha、武术→wuxia、言情→shoujo)
03角色跨页一致性(character sheet 作 --ref / 不支持时描述内嵌)
04分镜 + 角色定义产物(storyboard.md、characters/characters.md)
05局部工作流(只出分镜/只出 prompt/只出图/指定页重生成)
06指定页重生成(--regenerate N,支持逗号列表)
07本地合并 PDF(merge-to-pdf.ts)
08交互语言贯穿全流程(用户语言或保存偏好)
3外部依赖
| Kind | Dependency / Endpoint |
|---|---|
| cli | bun / npx(运行脚本的运行时) |
| cli | canghe-image-gen(仓库内兄弟 skill 的生图脚本,实际图像生成后端) |
| cli | sips / pngquant / optipng(压缩角色表,避免 --ref payload 失败) |
4管控建议与判定依据
建议配套管控措施
面向 Agent
分级或逐次授权,建议在沙箱运行
面向管理者
审批流程、可回滚、全程审计
判定依据(文件路径与关键语句摘要)
- scripts/: 执行本地脚本或命令: scripts/merge-to-pdf.ts(bun 运行;只读本地页面图片、写 PDF)
- 本地工作目录: 文件读写与工件输出: comic/{topic-slug}/ 下:source-{slug}、analysis.md、storyboard.md、characters/ch
审计说明: 。(a) SKILL.md 点名外部图像生成后端:'npx -y bun ${SKILL_DIR}/../canghe-image-gen/scripts/main.ts';照做后用户素材(传记/教程原文)与整本分镜 prompt 会出网到该生图后端/第三方图像模型,多页批量会显著消耗账号额度。(b) 本地写盘量大:comic/ 下的素材、analysis、storyboard、characters、prompts、页面图、PDF,以及 EXTEND.md。(c) 自带脚本 scripts/merge-to-pdf.ts 仅本地(建 PDF + Bun.write),无网络无凭证,属 blue 特征;红档要件(逆向 API/冒充客户端/绕过防护/任意代码执行)均不满足。对照先例:baoyu-comic / ai-image-generation 等“素材送生成后端”一律 orange。
5第二遍独立确认
- [ok] 自带脚本只有 merge-to-pdf.ts,且仅本地行为 — 扫描“网络请求”0 命中;“写盘/产生文件”仅命中该脚本的 Bun.write;无其它可执行文件。
- [ok] SKILL.md 点名单一生成后端(orange 依据) — 生图统一走 'npx -y bun ${SKILL_DIR}/../canghe-image-gen/scripts/main.ts',并明确 Step 7.2 每页都要带 --ref。
- [ok] 角色一致性策略与降级 — SKILL.md 7.2 表(Supports --ref / No --ref support)要求不支持时把角色描述前置进每页 prompt,与 workflow.md 一致。
- [ok] preset 特殊规则 — SKILL.md Compatibility 表与 Preset Shortcuts 表给出 ohmsha/wuxia/shoujo 的等价 art+tone 与附加规则,presets/ 3 个文件均在盘。
- [ok] 备份与局部重跑规则 — SKILL.md Backup rules 与 Partial Workflow Options 表、references/partial-workflows.md 一一对应。
- [ok] meta 元数据 — commit dd0bf355…、path skills/canghe-comic、license MIT 与 bundle §0 核定值一致。
6结论
适合: 适合把长文/传记/教程改造成教育漫画的个人或团队,尤其需要跨页角色一致性与可交付 PDF 的场景;也适合研究“分镜→prompt→图→PDF”管线设计的 skill 作者参考。
不适合: 不适合只想要单张插图(应用 canghe-article-illustrator);不适合严格离线或禁止素材外发的环境;不适合不愿走多轮确认、追求一次成型的快速草稿场景。
Install Agent-Ready
① Verified Mirror 2026-10-10
Option A · Direct DownloadDownload canghe-comic.tar.gz
sha256:
Option B · Copy Guide for Agent08d2cc6fd7066a87…agent 读 JSON 指南后会自动从本站下载安装,无需更多说明。
② Upstream GitHub
GitHub Repo ↗
Pinned to commit dd0bf35595.