用途:该技能回答一个决策问题——当用户想要终端、CLI 工具或编码流程的“录屏感”演示时,是采集真实桌面(screen_recorder、Windows-MCP、Cap、Playwright),还是用 Remotion 的 TerminalScene 组件合成。启发式规则:如果命令与输出序列可以提前编写,就合成;只有当真实行为不可预测、需要真实应用 UI,或用户明确要求真实录制时才实拍。浏览器演示应使用 playwright-recording 技能,真实桌面使用 screen_recorder 或 cap_recorder。
主要能力:TerminalScene 位于 remotion-composer/src/components/TerminalScene.tsx,从 components/index.ts 导出,在 Explainer.tsx 中按 cut.type === "terminal_scene" 分发。属性包括 title、steps、prompt、accentColor、backgroundColor。步骤类型有 cmd(逐字打印命令,typeSpeed 默认 0.035 秒/字符,holdSeconds 默认 0.3)、out(输出行,快速淡入)、pause(停顿,用于与旁白同步)、pill(右上角浮动徽章,非阻塞,不推进光标)。ProviderChip 是配套组件,按固定节奏轮播提供方名称,在 Explainer.tsx 中按 overlay.type === "provider_chip" 分发。
使用方式:在 build_composition.py 等属性构建器中添加 cut,例如 type 为 terminal_scene,并给出 terminalTitle、prompt、accentColor、steps、in_seconds、out_seconds。核心规则是按旁白节奏推进,绝不提前:先写清每段旁白的视频时间,以 pause 等到首个旁白提示,再让命令在旁白念到该行时开始输入,命令组之间用 pause 衔接,结尾留足够长的停顿。渲染前用脚本累加各步骤时长,核对是否等于场景时长;可参考 lib/verify_scene_pacing.py。
设计规则:每个终端场景开头至少 2 秒空终端加闪烁光标;pill 应在对应事件完成时触发;cmd 的 holdSeconds 保持不小于 0.3;输出行 holdSeconds 建议 0.4 到 1.0;终端保留最近 18 行并自动滚动;光标只在最新命令行输入时及完成后约 0.2 秒内闪烁。
适用场景:命令与输出可预测的安装演示、环境配置、API key 配置、make 目标、git clone 流程,以及需要与旁白逐帧对齐、可重复渲染、隐私安全的教程。限制:不适合无法伪造的真实应用 UI、用户明确要求真实屏幕、依赖不可脚本化时序(如流式 LLM 输出、真实网络延迟)或仅存在于真实环境的视觉细节。新增合成 UI 组件时可复制 TerminalScene.tsx 作为模板,定义步骤接口,按累计起止时间插值渲染,接入 Explainer.tsx 分发,并更新 SCENE_TYPES.md。该技能于 OpenMontage showcase v3 渲染(2026-04-16)引入,参考实现见 projects/openmontage-showcase/build_composition.py。