@ devmotion/ cli (英语)
DevMotion本地工作室. DevMotion 编辑器、渲染器和 MCP 服务器,运行在一个 机器上的工程文件夹 。 生成(语音、图像、视频、音乐、字幕、, {\fn黑体\fs22\bord1\shad0\3aHBE\4aH00\fscx67\fscy66\2cHFFFFFF\3cH808080}DevMotion的聊天在Devmotion上进行 {\fn黑体\fs22\bord1\shad0\3aHBE\4aH00\fscx67\fscy66\2cHFFFFFF\3cH808080}我还得说 应用与您的账户; 聊天也可以 驱动您已经安装的 Claude 代码或代码 .

npx @devmotion/cli init my-video
cd my-video
npx @devmotion/cli # opens the Studio in your browser
安装
npm i -g @devmotion/cli # then: devmotion …
# or without installing
npx @devmotion/cli <command>
要求数 节点.js 20带货包的ffmpeg船(@ffmpeg-installer/ffmpeg),以及
(单位:千美元) postinstall 步骤下载 Playwright Chromium(~150 MB,一次)用于渲染. 跳过它
与 DEVMOTION_SKIP_POSTINSTALL=1· ; devmotion render 先用取来.
图标
| 命令 | 目的 |
|---|---|
devmotion | 在此文件夹中打开工程工作室( 或显示帮助) |
devmotion init [dir] [--name] [--size 1920x1080] [--fps 30] | 创建一个项目, .gitignore 和代理设置( e)--no-agent 跳过) |
devmotion studio [dir] [--port 4747] [--no-open] | 运行工作室:编辑器、渲染器和 MCP 服务器(别名) preview(中文(简体) ) |
devmotion render [dir] [-o file.mp4] [--port] | 调整到 renders/ (使用运行的工作室或启动一个) |
devmotion record <tour.mjs> [-p dir] 编号 : --check | 在一个巡回演唱时记录一个应用程序; -p 编辑它为工程 |
devmotion record init [url] | 写一个首个巡回演唱会 |
devmotion beats <script.txt> -w <words.json> [-o take.json] | 放置一个描述 {beat} 语音定时词上的标记(离线) |
devmotion skill install [--global] 编号 : skill print | 给 Claude 代码、 Codex 或 Cursor 演示技能 |
devmotion login 编号 : logout 编号 : whoami | 您的 devmotion.app账户: 世代信用和云聊天 |
devmotion doctor | 检查ffmpeg, Chromium, 登录, 服务器兼容性和本地代理 |
| devmotion render --changed [-c config] QQ 仅显示/ 丢失/ 修改目标, 更新锁定QQ
| devmotion render --all 编号 : --target a,b 编号 : --watch QQ 将每个/ 选择的目标渲染; 当目标更改后重放 QQ
| devmotion check [-c config] QQ 不渲染: 退出 1 列出 stale, 缺少或修改的目标 QQ
| devmotion lock [-c config] QQ 在锁中记录当前输出而不渲染QQ
| devmotion studio -c config [--target id] QQ 打开目标项目, 或选择一个配置项目 QQ
工作室听着 127.0.0.1:4747 默认情况下——一个端口,一个项目. 运行一秒钟
与 --port在包含几个项目(每个语言一个)的回购中
目标文件的工作室 : devmotion studio -c videos/devmotion.config.json 列出其
并询问要打开哪个项目,以及 --target intro.it 打开目标的项目
直接( 没有终端可以请求, --target (见e/cn.4/sub.2/2003/l.10。).
你的计划
在你的机器上的渲染(devmotion render 每个模式,工作室的导出,MCP
render_project (b) 遵循与CLI登录的账户计划
规则作为 devmotion.app的导出:没有出口干净的计划,视频带有
DevMotion徽章,每个计划在其出口分辨率上都封住大小. 一个更大的项目是
它的布局没有改变。 当地土地不计算,也不使用信贷.
当一个纹身带有徽章或被缩小时, devmotion render 说一次和名字
提拔它的计划驳回.申请/定价);工作室的
显示渲染器将携带的徽章.
这个计划是来自虔诚的 应用,当你在一天之内完成和记住
(单位:千美元)~/.config/devmotion/plan.json)),所以离线渲染保留了最后已知的计划. 未登录
或者没有答案 也不记得了 自由计划 在CI中,设置 DEVMOTION_API_KEY 键
计划出口干净的账户;没有这种账户,CI会携带徽章。 账户
在下面的渲染锁中不播放任何角色: devmotion check 是否给出同样的答案
钥匙.
目标与锁
宣布产出一次 devmotion.config.json (路径相对于文件). 若干目标
可共享项目; 变体是一个目标 values 或者说 range。 。 。 .
{
"version": 1,
"lock": "devmotion.lock.json",
"targets": {
"intro": {
"source": "videos/intro",
"values": { "headline": "Hello" },
"range": { "start": 0, "end": 8 },
"audio": false,
"encode": { "crf": 23, "maxCrf": 35, "maxBytes": 1572864 },
"output": "public/intro.mp4",
"poster": { "path": "public/intro.jpg", "time": 5 }
}
}
}
devmotion render --changed 摧毁每一个目标,只让那些需要它的人。 目标
sourceHash 是其项目文件上的sha256; renders/, (中文(简体) ), .devmotion/, (中文(简体) ),
node_modules/ (不包括), values, (中文(简体) ), range, (中文(简体) ), audio, (中文(简体) ), encode,海报时间和渲染器
版本(CLI major.minor). devmotion.lock.json 承诺:
{
"lockVersion": 1,
"renderer": "1.1",
"targets": {
"intro": {
"sourceHash": "<sha256>",
"outputs": { "public/intro.mp4": { "sha256": "<sha256>", "bytes": 123456 } }
}
}
}
目标在散列不同或没有被锁定时会停滞,在输出消失时会丢失,以及
当输出的校验和与锁不同时修改. devmotion check 在 CI 中运行, 无
已安装了渲染器 。 在小的 CLI 升级后运行 devmotion render --changed (或
devmotion lock 如果产出不变).
程序用途 : import { loadConfig, readLock, checkTargets, recordTarget, writeLock } from '@devmotion/cli'
(与 @devmotion/cli/lock) (中文(简体) ).
项目文件夹
my-video/
├── project.json # the project (the same JSON devmotion.app stores)
├── scenes/<layerId>/ # HTML / CSS / script sources of scripted scenes
├── assets/ # your media, referenced as /local-assets/<path>
├── renders/ # rendered MP4s
└── .devmotion/ # local state (chat history, cloud cache) — not versioned
在工作室中编辑,使用代理,或用手:当文件更改时工作室会重新加载. 场景
来源为普通文件( r)index.html, (中文(简体) ), style.css, (中文(简体) ), script-<n>.js页:1
project.json 作为 { "$file": "scenes/<layerId>/index.html" }。当
工作室保存,不管它叫什么.
共享文件夹
文件使用多个工程(一个工具箱,一个场景的逻辑,声音效果)一次直播,在任意 项目。 相对于它自己的文件夹的工程名称 :
{
"shared": { "kit": "../../kit", "scene": "../shared" },
"layers": [
{
"type": "html",
"props": {
"scripts": [
{ "src": "/local-shared/kit/world.js" },
{ "src": "/local-shared/scene/scene.js" }
]
}
},
{ "type": "audio", "props": { "src": "/local-shared/kit/sfx/tick.wav" } }
]
}
工作室为他们服务 /local-shared/<name>/<path> 当他们变换时,他们将重新加载
将文件与项目本身的:
换套装,每个使用它的项目都僵化。 每个语言一个项目,分享场景,
使每种语言都有自己的声音、时间和长度.
编辑器支持
init 点 project.json 在创建它的CLI版本的JSON Schema:
{ "$schema": "https://unpkg.com/@devmotion/cli@<version>/schema/project.schema.json" }
它来自工作室自己的计划, 层道具每类型包含, 所以一个编辑器
验证并完成文件. devmotion.config.json 还有一个:
https://unpkg.com/@devmotion/cli@<version>/schema/config.schema.json。 。 。 .
记录一个应用程序

devmotion record 在脚本驱动时记录一个真实的应用程序,即Screen Studio记录的方式
个人:网站,电子应用(VS代码,Cursor,Slack.)或桌面应用,被该软件捕获
操作系统在60英尺处有一个软物理指针,加上每个动作的音轨,点击和
键.
// my-app.tour.mjs
export default {
app: { kind: 'browser', url: 'https://example.com' },
async run(D) {
await D.click('text=Get started');
await D.click({ describe: 'The email field of the sign-up form' });
await D.type('[email protected]');
await D.key('Meta+Enter');
}
};
devmotion record --check # permissions, helpers and login on this machine
devmotion record init https://example.com # a starter tour: example.tour.mjs
devmotion record my-app.tour.mjs # recordings/my-app.mp4 + my-app.track.json
devmotion record my-app.tour.mjs -p demo # … edited into the project ./demo
record init [url] 写一个第一部作品的巡演:它等待,向下滚动
后,并单击页面头的首个链接,只有选择器. --name <name>
命名文件( r)<name>.tour.mjs,默认从站点), --app electron (VS代码由
默认)或 --app native (默认计算器)开始一个应用的巡演取而代之. 从来没有
覆盖文件,并打印记录巡演的命令.
导演: D.move, (中文(简体) ), D.click, (中文(简体) ), D.type, (中文(简体) ), D.key, (中文(简体) ), D.scroll, (中文(简体) ), D.drag, (中文(简体) ), D.show (一秒钟)
值得仔细观察, D.skip(work) (切出视频的慢步), D.at 编号 : D.wait
(拍打声). 一个目标是一个选择器,一个点,或者一个要点击的描述.
--project <dir> 在已编辑的工程中登陆所带( 文件夹的创建方式如下 )
devmotion init 当它没有项目时:一个自动相机,每点击一次就关闭,
键入字段并显示目标,然后向后拉;每次点击时取出一个环;每次取出一个芯片
键盘快捷键( e)⌘⇧P); 视频没有指针时为鼠标层. 这一切都很平淡
您可以在工作室中更改层和键框。 再次录制同样的巡回演唱会,它的拍摄是
替换到原地,其余项目没有被改变:新发行只需新买.
在巡演中说:
edit: { camera: { maxZoom: 1.6, hold: 1.2 }, ripple: true, keystrokes: 'shortcuts' }
// camera: false for the whole screen throughout; keystrokes: 'all' | 'none'
叙事: devmotion beats。 。 。 . 给一次巡回演唱会的时间 给它打个记号
脚本为 {name} 一言为定 beats 声音的定时词:工作室的
转换音频动作( T)action_transcribe_audio, (中文(简体) ), { text, language, words: [{ word, start, end }] })或(或) [word, start, end] 三发. 它在下线后写下:
devmotion beats script.txt --words transcription.json --out take.json
# script.txt: # lines are notes, [tags] and *accents* are ignored, {end} is reserved
[warm] {open}Open the *editor*. {render}Then render it.
{ "words": [["Open", 0.1, 0.4], …], "beats": { "open": 0.1, "render": 1.4, "end": 2.3 } }
每拍子是声速数秒的开始, end 最后一个词的结尾(a)
重音单词包含第四个元素, 1) (中文(简体) ). 单词对齐大小写
数字(2 编号 : two),其音译所不言出失命令而取名. 单位
参观, await D.at(take.beats.render) 等待那节拍.
macOS 14+ (Screen Recording perference; 可访问驱动桌面应用程序); Linux X11 是
实验和未经测试。 用文字描述的目标(和每个桌面应用程序)在
由 DevMotion 绘制的截图并使用您的 AI 信用值: 登录到第一个( D)devmotion login) (中文(简体) ). a 之前,一个
拿着它, record 印出价钱和余额,当您不在时停止
登录入或出入入入. 选择者和点数是免费的,不需要账号.
代理人(MCP和技能)
工作室为DevMotion MCP服务器服务 http://127.0.0.1:4747/mcp: 与
devmotion.app (英语:get_design_guide, (中文(简体) ), get_project, (中文(简体) ), upsert_layer, (中文(简体) ), write_layer_source, (中文(简体) ),
instantiate_block, (中文(简体) ), inspect_frames, (中文(简体) ), action_*,写入项目文件夹。 留着
工作室在工作时运行. devmotion init 写入 Claude 代码的 MCP 配置
(单位:千美元).mcp.json)和 Codex ((.codex/config.toml),外加减速技巧.
该技能告诉一个代理人如何使用CLI:项目文件夹,工作室及其MCP工具,
制造和制造目标, record,账户, 以及完整的文件在哪里。 装入
任何存储器,或每个项目:
devmotion skill install # this folder, for Claude Code, Codex and Cursor
devmotion skill install --global # every project of this user (your home folder)
devmotion skill install --agent cursor # one agent: claude, codex or cursor
devmotion skill print # print it, for any other agent
默认情况下它会写 .claude/skills/devmotion/SKILL.md (法规)和
.agents/skills/devmotion/SKILL.md (代码;光标同时读取); --agent cursor 独自写作
.cursor/skills/devmotion/SKILL.md。更新后再运行它。 同一文件已经送达
https://devmotion.app/skills/devmotion/SKILL.md 一个特工说要读它.
云层特征
devmotion login 打开 devmotion.app为此机器创建 API 密钥( 存储于
~/.config/devmotion/credentials.json) (中文(简体) ). 然后所有在工作室和
MCP 磁共振 action_* 工具运行于 devmotion。 应用与您的计划信用; 输入一次上传
并下载结果到 assets/generated/. . 您的项目留在本地.
环境覆盖 : DEVMOTION_API_KEY (使用此键)和 DEVMOTION_API_URL (另一个)
DevMotion 服务器).
聊天
聊天板提供 减号云 模型(需要登录)以及安装和 登录在你的机器上, 克劳德代码 财务报告和审定财务报表 代码:工作室运行他们与自己的 MCP服务器,编辑器跟随他们的编辑活性.
许可证
专有和封闭源码:使用须遵守 变动服务条件。见 LICENSE; 第三方许可证 THIRD_PARTY_LICENSES.txt。 。 。 .