Comic Maker 是一个把小说章节转换成漫画生产中间产物的流水线工具。
当前流水线:
章节输入 -> 自动切分 -> 镜头规划 -> 上下文补全 -> 出图 -> 人工审核/重试 -> 拼页 -> 导出
- 章节切分:把输入文本拆成
Beat列表 - 镜头规划:为每个
Beat生成ShotPlan - Prompt 组装:基于角色/场景/动作生成分镜 prompt
- 出图 Provider:支持
mock、siliconflow、liblib(默认liblib) - 审核与重试:支持失败后重试,且已修复“重试导致格数增加”
- 拼页与导出:生成
page_manifest并导出章节包
当前版本仅支持 DeepSeek。
DEEPSEEK_API_KEY必填LLM_MODEL默认deepseek-chat
- Python
>=3.11 - 推荐使用虚拟环境
python -m venv .venv
# Windows PowerShell
.\.venv\Scripts\Activate.ps1
# macOS/Linux
# source .venv/bin/activate
pip install -e .复制 .env.example 为 .env 并填写密钥。
关键配置:
DEEPSEEK_API_KEYIMAGE_PROVIDER(默认liblib)LIBLIB_ACCESS_KEYLIBLIB_SECRET_KEYLIBLIB_TEMPLATE_UUID(可选)
单元/回归测试:
python -m unittest discover -s tests -p "test_*.py" -v烟雾测试:
python -m comic_maker.test_run说明:烟雾测试会强制使用 mock 出图,避免真实 API 成本与网络波动。
python -m comic_maker.main安装后也可使用命令:
comic-maker输入:
- 章节 ID(如
ch01) - 章节正文(输入完成后单独一行输入
END)
运行数据目录:
comic_maker/data/comic_maker/output/
主要产物:
comic_maker/data/panel_manifest.jsoncomic_maker/output/pages/page_manifest.jsoncomic_maker/output/exports/<chapter_id>/comic_maker/output/logs/run.log
Comic-maker/
├── comic_maker/
│ ├── main.py
│ ├── config.py
│ ├── test_run.py
│ ├── core/
│ ├── providers/
│ ├── prompts/
│ ├── data/
│ └── output/
├── tests/
├── pyproject.toml
├── .env.example
└── README.md
.env不要提交(已在.gitignore)- 提交前检查暂存区:
git diff --cached | Select-String -Pattern 'sk-|AIza|API_KEY|SECRET|TOKEN|Bearer'无输出再 push。
$env:PYTHONUTF8='1'
[Console]::OutputEncoding = [System.Text.UTF8Encoding]::new()优先使用模块方式运行:
python -m comic_maker.main