OpenMontage 到底是什么:没有代码编排器的视频制作系统

2026-08-09

第一次点开 OpenMontage 的仓库,最容易犯的错是按「AI 视频生成工具」的心智去找入口:找主程序、找 Web 界面、找那个 main.py。找不到,然后怀疑自己 clone 错了分支。

其实没错。这个仓库的设计前提就是它自己不负责跑流程

一句话身份,以及必须带上的锚点

calesthio/OpenMontage,README 主标题下的定位原文是 “The first open-source, agentic video production system.”。截至 2026-08-09,仓库 star 46362、fork 5758、open issues 218,创建于 2026-03-29,主语言 Python,许可是 AGPL-3.0

先把两件事说在前面。star 数只说明这个仓库被收藏过多少次,不说明代码好不好用、稳不稳定、适不适合你,本文不会拿它推导任何结论。许可这一条更要注意:AGPL-3.0 和常见的 MIT、Apache-2.0 不是一类东西,你要拿它做什么、能做到哪一步,请以官方 LICENSE 原文为准,我们没有读过 LICENSE 正文,这里只指路,不做任何解读。

README 里还贴了一枚 “#1 Repository of the Day on GitHub Trending” 的徽章,那是仓库自己贴的图片,我们没有核实过它的真实性;Sponsors 区块列了 Bloome 和 Atlas Cloud 两家,那是赞助内容,不是技术推荐。README 结尾还有一句作者自述:OpenMontage is built nights and weekends,业余时间做出来的。

题眼:There is no code orchestrator

README 的 How It Works 一节里有一句原文,是理解整个项目的钥匙:

There is no code orchestrator. Your AI coding assistant IS the orchestrator.

没有代码编排器,你的 AI 编码助手就是编排器。

配套的职责划分原文写得同样直白:Python provides tools and persistence. 所有创意决策、编排逻辑、评审标准和质量标准,都活在可读的指令文件里,也就是 YAML manifest 加 Markdown skill,你可以检查它们、改它们。AGENT_GUIDE.md 里那句更狠:Python 代码里没有编排逻辑、创意决策、评审逻辑或 checkpoint 策略。

README 给的完整流程图是这样一条链:agent 读流水线 manifest(YAML,里面有阶段、工具、评审标准、成功闸)→ 读阶段导演 skill(Markdown,讲每个阶段怎么执行)→ 调 Python 工具(provider 选择会在 7 个维度上给每个工具打分)→ 用 reviewer skill 自审 → 把状态 checkpoint 成 JSON(可恢复,带决策日志和成本快照)→ 交给你批准 → 合成前的校验闸(交付承诺、幻灯片风险、渲染器治理)→ 用 Remotion 或 FFmpeg 渲染 → 渲染后再自审(ffprobe、抽帧、音频分析、承诺核验)→ 只有自审通过才出成片。

这条链上,Python 只出现在「调工具」「checkpoint」「渲染」这几处。判断「该走哪条流水线」「这个 take 行不行」「要不要换 provider」的地方,全是 agent 读文本自己做的。

落到可核查的地方:config.yaml

架构主张听起来都很漂亮,所以看这类项目我习惯先翻配置文件——配置里的默认值是跑不掉的硬事实。仓库根目录的 config.yaml 很短,五段:

# OpenMontage - Global Configuration

llm:
  provider: anthropic            # anthropic | openai | gemini | openrouter | ollama | mistral | minimax
  model: null                    # null = use provider default
  temperature: 0.7
  max_tokens: 4096

budget:
  mode: warn                     # observe | warn | cap
  total_usd: 10.00
  reserve_pct: 0.10              # holdback for retries / cleanup
  single_action_approval_usd: 0.50
  require_approval_for_new_paid_tool: true

checkpoint:
  policy: guided                 # guided | manual_all | auto_noncreative
  storage_dir: pipeline          # relative to project root

output:
  default_format: mp4
  default_codec: libx264
  default_audio_codec: aac
  default_resolution: "1920x1080"
  default_fps: 30
  default_crf: 23

paths:
  pipeline_dir: pipeline
  library_dir: library
  styles_dir: styles
  skills_dir: skills
  output_dir: output

几个值得记住的默认值:LLM 默认 provider 是 anthropic,注释里列了全部 7 个可选值;预算默认走 warn 模式(另两个模式是 observecap),总额 total_usd: 10.00,留 10% 给重试和收尾,单次动作超过 $0.50 要审批,新的付费工具默认需要审批;checkpoint 策略默认 guided(另两个是 manual_allauto_noncreative),状态写在项目根下的 pipeline 目录;输出默认 mp4 容器、libx264 视频编码、aac 音频编码、1920x1080、30 fps、CRF 23;最后一段 pathspipeline_dir / library_dir / styles_dir / skills_dir / output_dir 五个目录名摆在配置里。

预算这几行要特别看清楚一点:默认是 warn 不是 cap,别一看到 total_usd: 10.00 就当成一道硬性支出上限。三种模式各自具体怎么执行,请以仓库代码和官方文档为准,把这几行配好也不等于不会超支——真正拦住花销的是你在每个创意闸上的批准动作。

这里有一处可以核实的前后差异:config.yaml 的 provider 注释里已经列了 ollama,而 README 明写通过 Ollama 和 LM Studio 支持本地 LLM 是 “Coming soon”。两处口径不一致,以仓库当前状态为准;我不打算推断哪个是准的,也不建议你据此认为本地 LLM 已经能用——README 把它写成计划,那它现在就是计划。

三层知识:这个仓库的体积在文本里

README 把知识分成三层:Layer 1 是 tools/pipeline_defs/,回答「有什么」;Layer 2 是 skills/,回答「OpenMontage 希望你怎么用」;Layer 3 是 .agents/skills/,回答「这项外部技术本身是怎么回事」。每个工具会声明它依赖哪些 Layer 3 skill。

体积上,我们实读目录数出来:skills/ 下有 156 个 .md.agents/ 下有 567 个 .md,相加 723 个,和 README 自称的 “700+ agent skill and production-knowledge files” 对得上;全仓库 .md 文件共 1084 个。skills/ 内部分四类:core/ 6 个,README 架构图标为 Core tool skills,文件名是 ffmpeg.mdremotion.mdhyperframes.mdwhisperx.mdcolor-grading.mdsubtitle-sync.mdmeta/ 11 个,README 标注的是 reviewer 与 checkpoint protocol,文件名里确实有 reviewer.mdcheckpoint-protocol.mdcreative-intake.mdcreative/ 实读列出 29 个 .md 加一个 prompting/ 子目录(storytelling.mdtypography.mdvideo-gen-prompting.md 之类的创意技法),pipelines/ 下则是 12 个子目录,一条流水线一个:animationavatar-spokespersoncharacter-animationcinematicclip-factorydocumentary-montageexplainerhybridlocalization-dubpodcast-repurposescreen-demotalking-head;另有一份 skills/INDEX.md

这份目录清单本身就是选型信息:你想做的东西如果在这 12 条流水线里找不到对应的名字,那就不是「配一下就能跑」的路径。需要说明的是,除了下面明确引用的几节,这些 skill 文件的正文我们都没有读过,这里只按文件名说明它覆盖了哪些主题。

换句话说,这个项目的「智能」确实主要以 Markdown 的形式存在。AGENT_GUIDE.md 里 Rule Zero 那一节的收尾金句就是这个意思:The intelligence is in the skills, not in improvised code.

Rule Zero:不许即兴发挥

AGENT_GUIDE.md 是一份 714 行的 agent 契约,最硬的一节叫 Rule Zero — All Production Goes Through a Pipeline,加粗原文是:Every video production request MUST go through the pipeline system. No exceptions.

它要求 agent 在任何视频制作请求上依次做五件事:确定流水线(不清楚就问用户)、读 pipeline_defs/<pipeline>.yaml 这份 manifest、跑 preflight 通过 registry 发现可用工具并展示能力菜单、逐阶段执行且在做任何工作之前先读 skills/pipelines/<pipeline>/<stage>-director.md、调任何带 agent_skills 字段的工具前先读 .agents/skills/ 里被引用的 skill。

对应的 Do NOT 也写得很具体:不许写临时 Python 脚本直接调工具、不许跳过流水线直奔 API 调用、不许没读阶段导演 skill 就开始生成素材、不许绕过 preflight / checkpoint / review。契约最后那节 What Not To Do 还有几条更像是产品原则:不要隐藏降级路径,替换和被阻断的选项要明确记录;不要孤立地呈现单个不可用工具,要永远展示完整能力图景,用 “X of Y providers configured for this capability.” 这种说法;不要在没告知用户的情况下更换 provider、模型或渲染路径。

需要提醒一句:这些都是写给模型看的约束文本,是指令而不是工程保障。契约里写了「必须先读 skill」,不等于装好之后模型一定会读;能不能真的落地,取决于你用的 agent 和它当时的上下文。

README 的架构图和实际目录对不上的几处

README 里有一张目录树,写着 tools/ # 100+ Python tools,下挂 video / audio / graphics / enhancement / analysis / avatar / subtitle 七个子目录。我们实读 tools/,除这七个之外还有 capture/character/publishers/_comfyui/_kling/;非 __init__.py 的 Python 文件实读为 130 个。README 的架构图是简化过的。

同一张图里 schemas/ 那行标的是 “15 JSON Schemas”,和我们实读目录数出来的数量对不上。这类差异本批另有专篇细说,这里只陈述事实:两处写的不一样,以仓库当前状态为准,我不推断原因,也不拿它评价项目。

另外两个 README 架构图里没写、但仓库根目录确实存在的目录是 backlot/ink-theater/。前者是那块本地看板(README 说 agent 会在制作启动时自动为你打开,故事板是一道真正的审批闸),后者对应 README 的 Style Playbooks 一节里提到的手绘涂鸦动画路线。这两个目录里的实现我们没有读过,不展开。

那么,什么人适合上手

顺着上面的架构往回推,判断标准其实很清楚。

先看你有没有 agent。 Quick Start 的四个前置条件里,除了 Python 3.10+、FFmpeg、Node.js 18+,第四项是「一个 AI 编码助手」:Claude Code、Cursor、Copilot、Windsurf 或 Codex。仓库为它们各准备了配置文件(CLAUDE.mdCURSOR.md.cursor/rules/COPILOT.md.github/copilot-instructions.mdCODEX.md.windsurfrules),全部指向共享的 AGENT_GUIDE.mdPROJECT_CONTEXT.md。如果你想要的是一个点几下就出片的桌面软件,这个项目从架构上就不是那个东西。

再看你在什么系统上装。 README 给的标准路径是 git clone 之后 cd OpenMontagemake setup,然后在 AI 编码助手里打开这个项目、直接用自然语言说你要什么。没有 make 的话,README 另给了手动串,两个系统写法不同:macOS/Linux 是 python3 -m venv .venv && source .venv/bin/activate && python -m pip install -r requirements.txt && cd remotion-composer && npm install && cd .. && python -m pip install piper-tts && cp .env.example .env;Windows PowerShell 是 py -3 -m venv .venv; .\.venv\Scripts\Activate.ps1; python -m pip install -r requirements.txt; cd remotion-composer; npm install; cd ..; python -m pip install piper-tts; Copy-Item .env.example .env。README 还单独记了一条 Windows 已知问题:如果 npm installERR_INVALID_ARG_TYPE,改用 npx --yes npm install。这条值得先记下来——报错出现在 remotion-composer/ 那一步,而 README 把这个目录标为 React/Remotion 的视频合成引擎。以上安装串照抄自 README,我们没有执行过,实际以你本地的报错为准。

再看你介不介意付费 API。 README 有一节 “What You Get With Zero API Keys”,开篇原话是你不需要付费 API 密钥就能做出真视频,make setup 开箱给的是 Piper TTS 做旁白、Archive.org / NASA / Wikimedia Commons 的开放素材、Remotion 与 HyperFrames 两套合成运行时、FFmpeg 做后期、内置带词级时间戳的字幕。README 里 .env 段的每一个密钥都标了 optional。这条零密钥路径值得单独讲,本批另有一篇专门逐行拆那张能力表。

最后看你能不能接受它现在的状态。 README 列的 5 段演示视频各自标了项目方自己给出的总成本,示例 prompt 那节也标了几档价格区间——这些都是项目方标注的数字,不是我们验证过的报价,也不能拿来推算你自己做一条要花多少钱。仓库里有流水线的 manifest 自标 stability: beta,本地 LLM 支持写着 Coming soon,作者自述这是业余时间做的项目。上手之前,把这些如实计入预期。

想验证它到底能干什么,README 给的办法是不看文档看 registry,跑这两条命令:

python -c "from tools.tool_registry import registry; import json; registry.discover(); print(json.dumps(registry.support_envelope(), indent=2))"
python -c "from tools.tool_registry import registry; import json; registry.discover(); print(json.dumps(registry.provider_menu(), indent=2))"

以及不需要 API 密钥的契约测试:

make test-contracts

以上命令均照抄自仓库文档,我们没有运行过,实际输出以你本地跑出来的为准。


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

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