Remocn Studio 交接
Remocn Studio (https://remocn.studio) 是一款适用于 macOS 和 Linux 的桌面应用。它可以实时预览 Remotion 项目,让用户通过手动调整元素,并导出 mp4。它只打开自己能够识别的文件夹,因此项目需要先通过 Prepare 步骤(只需一次),之后便可随时 Open。
助手脚本位于 ${CLAUDE_SKILL_DIR}/scripts/studio.mjs(在 Claude Code 外部:与此文件同目录下的 scripts/studio.mjs)。脚本仅需 Node 环境,每个命令输出一个 JSON 对象。请在 Remotion 项目根目录下运行,或通过第一个参数传入项目根目录。
Prepare
node "${CLAUDE_SKILL_DIR}/scripts/studio.mjs" init <project-root> --name "<视频或产品名称>"
它做了什么以及需要告知用户的内容:
- 如果
.remocn/project.json(Studio 的项目清单:包含一个全新的projectId、revision: 0,无品牌信息)不存在,则写入该文件。已存在的清单不会被修改:其projectId是项目在 Studio 中的身份标识。 - 如果不存在,则在
src/videos/registry.tsx处放置 Studio 的扫描入口,并在入口点中将根组件包裹为registerRoot(withVideos(Root))。此后,每个在src/videos/<slug>/index.tsx中导出meta的文件都会成为一个 id 为<slug>的 composition,无论在 Remotion Studio 还是 Remocn Studio 中都是如此。用户原先在Root.tsx中的自有 composition 仍能正常工作。
对于用户已有项目,请在运行前征得同意:它会修改入口点(添加一个 import、一个包裹语句)并新增两个文件。
如果结果返回 ok: false 并附带了入口点相关的原因,说明入口点没有在 import 之后恰好调用一次 registerRoot(Root)。请手动进行包裹:根据结果中的 specifier(相对于入口点的路径,例如对于 remotion/index.ts 来说是 ../src/videos/registry)添加 import { withVideos } from "<registry.specifier>";,并将调用修改为 registerRoot(withVideos(Root))。如果无法实现,请向用户解释原因。
然后检查 npx remotion compositions 是否列出了每个视频的 slug。
Open
仅在用户同意在 Studio 中打开项目之后执行:
node "${CLAUDE_SKILL_DIR}/scripts/studio.mjs" open <project-root>
根据结果中的 action 字段,将 message 转发给用户:
deep-link:Studio 正在打开项目并显示确认对话框。无需其他操作。launched:Studio 已启动,但还无法自动打开指定文件夹。告知用户选择 打开文件夹(macOS 使用 ⌘O,Linux 使用 Ctrl+O),然后选取项目根目录,并提供路径。not-installed:给出下载链接 (https://remocn.studio) 以及安装后同样的打开文件夹步骤。unsupported-platform:当前操作系统不支持 Studio。视频仍然可以通过npx remotion studio预览,并通过npx remotion render <slug>渲染。
如果结果提示清单缺失,请先运行 Prepare。
如需在不打开任何内容的情况下检查 Studio 是否已安装,可运行 detect 命令。
注意事项
- 不要手动创建
.remocn/project.json或从其他项目复制。两个具有相同projectId的项目会在 Studio 中发生冲突,Studio 会拒绝打开第二个。 - 不要将视频移出
src/videos/<slug>/目录。Studio 通过文件夹名称来识别视频。 - 在 claude.ai 或 ChatGPT 中,没有本地项目可以交接。请引导用户使用带有此插件的编码代理(如 Claude Code、Codex),或者使用 Remocn Studio 自带的模板。