设计#动效

synthetic-screen-recording:不录屏,让智能体用 Remotion 合成终端演示

OpenMontage 自带的 Agent Skill:命令输出可预知的终端演示不录屏,改用 Remotion 的 TerminalScene 合成,对齐旁白。

Skill 资料

安装命令
npx skills add calesthio/OpenMontage --skill synthetic-screen-recording

OpenMontage 的 Backlot 看板:顶部是研究到发布的阶段时间线,脚本阶段停在等待审批,下方是分段剧本和决策记录

做安装教程或 CLI 演示视频,最容易卡在录屏上:窗口位置对不齐,焦点被别的程序抢走,任务栏里还躺着不想让人看到的东西。synthetic-screen-recording 是开源视频制作系统 OpenMontage(calesthio 的仓库,AGPL-3.0)自带的一份 Agent Skill,它只回答一个问题:终端演示该录真屏,还是用 Remotion 的 TerminalScene 组件画一个假终端、把命令逐字打出来。按作者在 SKILL.md 里的说法,这条路线是 2026 年 4 月 16 日做 OpenMontage 展示片第三版时,因为 Windows-MCP 驱动 Git Bash 录屏太不稳而改出来的。

它怎么做判断

这份 SKILL.md 的核心是一条启发式:智能体如果能事先写出完整的命令和输出序列,就合成;只有行为不可预测、必须露出真实应用界面,或者用户明确要录自己的屏幕,才去录真屏。

合成路线下,智能体在构建合成脚本里写一串 steps,TerminalScene 负责渲染,步骤只有四种:

  • cmd:打出提示符,再按 typeSpeed 逐字敲命令,默认每字 0.035 秒,敲完停 holdSeconds,默认 0.3 秒。
  • out:一行程序输出,淡入出现。
  • pause:空等,用来对齐旁白。
  • pill:右上角弹出的浮层徽标,不占用时间线,下一步并行执行。

这份 skill 反复强调的一条规矩是别跑在旁白前面。作者记下的失败案例是:步骤一口气跑完,场景前 40% 就把内容用光,终端冻在最后一帧,能力菜单在第 80 秒出现,旁白第 92 秒才讲到。所以它要求先写下每段旁白的起始时间,场景开头先停顿到第一个旁白点,每条命令在旁白念到它时才开始敲,结尾留一段停顿让最终画面读得完。配套的 lib/verify_scene_pacing.py 可以在渲染前把各步骤累计时间打出来,对照旁白时间点检查。

它约束什么

  • 开场留白:每个终端场景至少 2 秒空终端加闪烁光标,再开始输入。
  • 命令停顿:每条 cmd 的 holdSeconds 不低于 0.3 秒,观众看清命令再出输出。
  • 输出节奏:输出行的停顿控制在 0.4 到 1.0 秒之间,太快像故障,太慢像拖戏。
  • 徽标时机:pill 必须在它说的事件完成的那一刻弹出,比如最后一行 Receiving objects 之后才出现「repo cloned」。
  • 浏览器演示另走:网页流程用 playwright-recording,真实桌面用仓库里的 screen_recorder 或 cap_recorder,这份 skill 只管能提前写好脚本的终端场景。

SKILL.md 末尾还给了扩展办法:想伪造 Claude Code 对话气泡、GitHub PR diff 或 Slack 消息,就复制 TerminalScene.tsx 当模板,定义自己的 steps,再在 Explainer.tsx 里接一个新的 cut.type。

适合谁

给开源工具或 CLI 做安装教程、解说视频的人,且旁白和命令要卡点对齐,用它最合适:合成出来每次渲染像素一致,也不会拍进私人窗口。已经在跑 OpenMontage 的人也不必多想,它本来就是那套流水线的一部分,另见 OpenMontage 的完整介绍。

有三点要先说清。第一,这份 skill 不能单独用:TerminalScene.tsx、Explainer.tsx 和 build_composition.py 都在 OpenMontage 仓库的 remotion-composer 下,只装 skill 进别的项目,拿到的是思路和步骤格式,组件得自己搬。第二,OpenMontage 的整套工作规则放在根目录的 AGENT_GUIDE.md 和 skills/ 下的纯 Markdown 里,没有对应的 SKILL.md,所以 npx skills add calesthio/OpenMontage 装到的是 .agents/skills 下约 91 个文件夹,大多是 GSAP、Three.js、ElevenLabs 这类第三方技术说明,它自己写的只有少数几个。第三,仓库整体是 AGPL-3.0,这份 skill 的头部声明了 MIT,商用前两处许可都要读。截至 2026-10-08,仓库约 65.0k 星,最近一次推送在 2026-10-03。