shuohao-pipeline(烁皓 AI 短剧总编排)
你是这条流水线的调度者。六个底层 skill 已经各自部署好(用户级,位于 E:/WorkBuddyConfig/skills/),本 skill 不重写它们的逻辑,只负责按正确顺序调用它们、在步与步之间接好数据、每步跑完质量门再放行。
何时用
- 用户给一本小说 / 短故事,想做成 AI 短剧(拆角色、排大纲、出美术设定、写剧本、切分镜、出角色图)。
- 用户点名「跑 shuohao」「小说转短剧」「AI 短剧流水线」「烁皓流水线」。
- 只做其中一段也行:直接跳到那一段,但先确认上游 json 是否齐(见下方数据契约)。
底层六个 skill(用 Skill 工具按名调用)
| 顺序 | skill | 产出 | 出图? |
|---|---|---|---|
| 1 | novel-outline |
outline.json(改编说明 / 人物表 / 爽点表 / 分集梗概 / 资产清单) |
否 |
| 2 | novel-characters |
cast.json(角色设定集 + 形象/音色提示词 + 设定图版面指令) |
否(只出提示词) |
| 3 | novel-art |
art.json(场景 + 叙事道具美术设定) |
否(只出提示词) |
| 4 | novel-script |
script.json(场次 + 节拍流 + 台词,逐句带说话人/语气) |
否 |
| 5 | novel-storyboard |
storyboard.json(段→分镜→分镜图提示词,每段一条 H3 视频提示词) |
否(只出提示词 + 挂图清单) |
| 6 | character-refs |
角色参考图 PNG(唯一真出图层:锚点 + 大头照 + 侧面 + 背面 + 细节) | 是 |
- 前五个是 prompt 层:零依赖、零 API key,用当前会话额度。
- 只有
character-refs真出图,需要先在 Step 0 选模型。 - 每个 skill 的精确调用(seed / validate / render 命令与参数)见
references/pipeline.md,不要凭记忆拼命令。
数据契约(步与步之间传什么)
novel-outline → outline.json
novel-characters → cast.json (seed 吃 outline.json)
novel-art → art.json (seed 吃 outline.json;--cast 吃 cast.json 查重名)
novel-script → script.json (seed 吃 outline.json;validate/render 用 --outline --art)
novel-storyboard → storyboard.json (seed 吃 script.json;validate 用 --script --outline --cast --art)
character-refs → <角色>/asset.json + PNG(独立,给任意角色出图,不依赖上面五个)
- 不要跳过
seed:每个 skill 的seed子命令把上游已拍板的事实(角色清单、场景清单、分集秒数、爽点落点)确定性搬过来,模型不要重想一遍。 - 每步必须跑 validate / selftest 的质量门,有违规逐条改到通过再进下一步——这是六个 skill 共同的铁律,也是本编排的核心价值。
工作目录约定
把整条流水线产物归档到一个 <demo>/ 下,每段一个目录,一眼对应五段(参考 shuohao-skills README 的端到端约定):
<demo>/
├── outline/ ← novel-outline : <剧>-outline.json/.md/-report.html
├── characters/ ← novel-characters : <剧>-cast.json/.md/report.html
├── art/ ← novel-art : <剧>-art.json/.md/art-report.html
├── script/ ← novel-script : <剧>-script.json/.md/script-report.html
└── storyboard/ ← novel-storyboard: <剧>-storyboard.json/.md/storyboard-report.html + manifest.json + E01-0x/ 投产包
- 分镜的
E01-0x/段文件夹不要再往里收一层(如segments/):分镜报告里的图走相对路径<段号>/f<切序>.png,多套一层又不指路径,报告里的图会静默全变「未生成」占位。 - 五个 skill 的报告都能合成一张单页(shuohao-skills 仓库根的
scripts/report.mjs),但那是组装器、不是本流水线的一部分。
出图这一层(character-refs)
- 它是仓库里唯一真出图的 skill。给一段角色描述就出一组参考图,不依赖上游五段。
- 跑之前先
config --show选模型:qwen(ComfyUI Qwen Image) /codex(吃 ChatGPT 订阅额度) /openai(GPT Image 2,需 key) /custom:<名>。 - 同一部剧的所有角色用同一画风(默认动漫,可选写实)。
- 它产出的角色参考 PNG 是下游分镜「分镜图出图」的参考图来源——分镜 skill 的
render --frames会去<段号>/f<切序>.png找图;这些 PNG 由你的图像模型用 character-refs 的图 + art.json 的提示词生成。 - 场景/道具的设定图(novel-art 的 sheet)同理:用 art.json 的提示词 + 你的图像模型生成,放到 art.json 同级的
images/<slug>-sheet.png,再render嵌进报告。
Windows 环境必读(本机已部署,但升级后会丢)
本机已对 shuohao-skills 打过 Windows 补丁、接好出图配置。两点必须知道,否则升级后出错:
- 升级要重打补丁:上游是 git 仓库(junction 软链到
WorkBuddyConfig/skills/)。升级用
python E:/Workbuddy/shuohao-sync.py --selftest(pull + 校验 junction + 重打补丁 + 跑自检)。
只校验不拉取用--no-pull。补丁脚本E:/Workbuddy/shuohao-win32-patch.py(幂等,--revert还原)。 - 出图配置:
character-refs的config.local.json已指向零依赖白图生成器E:/Workbuddy/shuohao-tools/mk-white.mjs(custom.white.cmd),所以不接真模型也能跑通自检。要出真图就config --model四选一。
验证
- 单个 skill 自检:
node E:/WorkBuddyConfig/skills/<name>/scripts/selftest.mjs(不调模型、不花额度)。 - 整条流水线跑完,每个
<demo>/.../report.html双击即开,质量门面板全绿才算交付。
边界
- 本 skill 不改写六个底层 skill 的逻辑;只编排。要改某段行为去改那个 skill。
- 用户只要其中某几段,直接跳到对应段,但先核对上游 json 是否齐(缺就先跑上游或问用户)。
- 1.x 老数据不能直接喂 2.0(frame 改中文、分镜补
blocking/soundscape/shot和六个构图字段),旧 JSON 会卡质量门。