三本风格 playbook 控制什么:排版、配色、动效、音频与质量规则

2026-08-09

接手一个 OpenMontage 项目时,最容易被跳过的一层是风格。流水线挑好了、脚本写完了,视觉长什么样往往被默认成「agent 看着办」。但仓库把这件事单列了一节 Style System,还给了三本内置 playbook——这说明作者不打算让风格漂在半空中。

麻烦在于,README 给的是「playbook 控制什么」的清单,不是「playbook 里有哪些字段」的清单。这两件事差得很远,本文先把这条边界划清楚。

README 那句职责清单,逐字读

Style System 一节的原文说法是:风格 playbook 定义制作的视觉语言,控制排版、配色、动效风格、音频档案和质量规则;agent 读 playbook,并在所有生成的素材上一致地应用它。

五个维度拆开就是:排版、配色、动效风格、音频档案、质量规则。这句职责清单本身就是 README 的原话口径,下面每一维我们都只按这句话去找对应,不替它补任何仓库里没写的含义。

需要立刻说明的是我们的阅读边界。这份 playbook 落在仓库的三个地方——根目录的 styles/(README 架构图里标注为 “Visual style playbooks (YAML)”)、schemas/styles/playbook.schema.json(实读存在)、以及 lib/playbook_generator.py这三处的内部我们一行都没读过,所以本文不会告诉你 playbook 的 YAML 里该写哪些键、字号怎么定义、色板用什么结构。任何一篇声称能给你 playbook 字段表的文章,如果没有引到这三个文件的具体内容,都请你自己去仓库里核。

本文能做的只有一件事:把这五个维度分别对回仓库里可以核查的位置,看看哪几维在别处露过头、哪几维目前只有 README 的一句话。

三本内置 playbook

PlaybookREADME 给的适合场景
Clean Professional企业、教育、SaaS
Flat Motion Graphics社交媒体、TikTok、创业公司
Minimalist Diagram技术深度内容、架构讲解

这三行照抄自 README 的 Style System 一节,是仓库自己写的适配说明,不是我们的推荐。README 没有给这三本之间任何可比的定量差异——没有字体清单、没有色值、没有动效时长,我们也读不到 styles/ 里的实际内容,所以本文不做「你该选哪本」的结论。名字对得上你的片子,就先按名字选;对不上,往下看自定义那一节。

五个维度里,哪几维在 manifest 上有回声

流水线 manifest 是另一份可以逐字段引用的文本。我们读了 pipeline_defs/documentary-montage.yaml 的前 70 行,在里面能找到两处和 playbook 职责清单直接对得上的地方。

配色这一维有一次明确露头。 idea 阶段的 success_criteria 里有一条要求 end_tag_plan 出现在 metadata 里,括号里列的四项是 text, palette, duration, mode——palette 就在成功标准里,而且只有在用户显式选择退出并留下说明时才能为 null。也就是说,片尾这一处的色板不是「渲染时随手定」,它是阶段能不能过闸的判定项之一。

音频这一维露头更明显。 同一个阶段的 review_focus 里,music plan 标了 MANDATORY,只有用户显式选择退出才能是静音;end-tag plan 同样标 MANDATORY;而 narration plan 那一条写得很有意思,原文的意思是旁白本身是 OPTIONAL——如果音乐、视觉加 end-tag 撑得住调性,没有旁白也行。这条流水线对「必须有音乐计划、可以没有旁白」的态度,是写死在 manifest 里的。

排版和动效这两维,在我们读到的这 70 行里没有直接对应的字段。 这句话请按字面理解:我们只读了前 70 行,scene_plan 之后的阶段内容和其余 12 份 manifest 都没读过,所以这不是「后面没有」,只是「我们没读到」。

质量规则这一维要小心。 README 说 playbook 管质量规则,而 manifest 自己也带着 review_focussuccess_criteria 两套合格标准。两边都在管「这个阶段过不过」,我们没有读到把这两套东西接起来的代码,所以不推断谁覆盖谁、谁优先级更高。你要改质量口径的时候,这两处都得看一眼——这是本文能给的最靠谱的一句。

最硬的一处锚点:四个扩展开关里唯一的 false

如果三本内置 playbook 都不对路,能不能自己写一本?documentary-montage.yaml 里有两处直接回答了这件事。

extensions:
  custom_scripts: true
  custom_playbooks: true
  custom_skills: true
  custom_tools: false
compatible_playbooks:
  custom_allowed: true

四个扩展开关里,只有 custom_toolsfalse。这条流水线允许你自定义脚本、自定义 playbook、自定义 skill,唯独不允许自定义工具;compatible_playbooks.custom_allowed 又单独把「可以带自定义 playbook」写了一遍。

这是本篇最值得记住的具体值:在这条流水线上,风格是开放扩展点,工具不是。 边界也要跟着说清楚——这两段来自单独一份 manifest 的前 70 行,其余 12 份我们没有读过,别把这四个开关当成全局默认,你自己那条流水线的 manifest 里是什么值,打开对应的 pipeline_defs/<pipeline>.yaml 看一眼就知道。

顺带把同一份 manifest 里另外几个硬数字摆在这里,因为它们和「反复调风格」这件事直接相关:orchestration 段的编排模式是 executive-producerbudget_default_usd: 1.00(低于 config.yaml 的全局 total_usd: 10.00,说明流水线可以自带更紧的预算),max_revisions_per_stage: 3max_send_backs: 2max_wall_time_minutes: 60。顶层还写着 stability: beta。这几个字段名的字面语义是每阶段最多三次修订、最多两次打回、墙钟时间上限六十分钟——具体怎么计数、超了之后发生什么,以仓库代码为准,我们没有跑过。之所以在讲 playbook 的文章里提它们:调视觉这件事天然要来回改,而改的次数在这条流水线上是有配额的。

别把平台输出档位算进 playbook

README 另有一张平台输出档位表,8 个档位实际只用了 5 组分辨率:1920x1080 由 YouTube Landscape 和 LinkedIn 共用,1080x1920 由 YouTube Shorts、Instagram Reels、TikTok 三家共用,剩下三组是 3840x21601080x10802560x1080config.yamldefault_resolution"1920x1080",和横屏那一档一致。仓库里另有 lib/media_profiles.py 这个文件(内部未读,这里只提名字)。

把它单独拎出来说,是因为这张表很容易被当成风格设置的一部分。但 README 把它写在另一节,playbook 那句职责清单里也没有分辨率、帧率、画幅这几项。这两层各管各的:画幅档位在一处,排版配色动效音频质量规则在另一处。真要问「换了竖屏档位之后排版会不会自动跟着变」,我们没有读到任何能回答这个问题的代码,不猜。

手绘涂鸦那条支线,挂在风格这一节下

AGENT_GUIDE.md 的 Style Playbooks 一节下面有一个子标题:“Hand-drawn ‘doodle’ animation → Ink Theater / Ink Puppet”,对应仓库根目录的 ink-theater/skills/creative/ink-theater.md

这个对应关系本身是可核查的,三处的正文我们都没读过,所以到此为止,不描述它怎么实现、能做出什么效果。唯一值得记一笔的位置信息是:它被放在 Style Playbooks 这一节下面,而不是 Pipelines 那一节。你要找手绘路线的时候,先去风格这一层翻,别去流水线列表里找。

「一致地应用」是一句指令,不是一道保障

最后回到 README 那句话:agent 读 playbook,并在所有生成的素材上一致地应用它。

这句描述的性质,和 AGENT_GUIDE.md 里 Rule Zero 那些 MUST 是一样的——它是写给模型看的指令文本,不是自动生效的工程约束。文档写了「一致应用」,不等于装好之后每一个镜头的字体色板都会自动对齐;能不能落地,取决于你用的那个 agent 和它当时的上下文。

真正在结构上拦住风格漂移的,是阶段闸而不是那句话。idea 阶段的 checkpoint_requiredhuman_approval_default 都是 truetools_available 是空数组 []——第一个阶段不调任何工具,纯粹产出 brief,然后就要人批。你想让整片的风格统一,最有效的动作是在这道闸上把 palette、music plan、end-tag plan 这几项看清楚,而不是指望后面的阶段自己收敛。

写自定义 playbook 之前,把上面这几处打开核一遍:你那条流水线的 extensionscustom_playbooks 是不是 truecompatible_playbooks.custom_allowed 是不是 true、修订配额有几次。这些都是文本里明写的值,两分钟能确认完,比事后返工便宜得多。


本文依据 OpenMontage 官方仓库(github.com/calesthio/OpenMontage)的 README、 AGENT_GUIDE.mdconfig.yamlpipeline_defs/lib/ 下的治理模块整理,核对日 2026-08-09。 本文内容为仓库源码与文档口径,我们没有安装或运行过该系统,也没有调用过其中任何一个 provider API, 文中出现的成本数字均为项目方在 README 中自行标注的金额,非我们的实测结果。 该项目以 AGPL-3.0 发布,部分流水线在 manifest 中自标 stability: beta,请以仓库最新内容为准。

想系统学会用 AI?报名体系课或加入会员,照着学、照着用。