构建与创建
快照与分叉
把一台正在运行的机器的完整状态——磁盘和智能体的记忆——冻结成一份快照,然后从中分叉出一台全新的、隔离的机器。对于一台计算机 VM 和一个 3D 机器人仿真来说,这是同一个动作,它让任何一次运行都因构造而天然可复现。
快照
在任意时刻捕获一台设备。快照保存了整台机器——已安装的工具、文件,以及智能体当时所处的位置——因此它是一个可直接启动的起点,而不仅仅是一份备份。
shell
# Freeze a machine's full state (disk + agent memory).
curl https://api.commandagi.com/threads/$THREAD_ID/embodiments/$EMBODIMENT_ID/snapshot \
-H "Authorization: Bearer $COMMANDAGI_API_KEY"
# → { "snapshotId": "snap_…" }分叉
从一份快照启动一台新机器,你会得到一份独立的副本:为一个实验开一个分支,从同一套配置运行十种变体,或者把一个可用的环境交给别人。分叉只是用一个 fromSnapshotId 附加一台机器而已。
shell
# Fork a brand-new machine seeded from that snapshot.
curl https://api.commandagi.com/threads/$NEW_THREAD/computers \
-H "Authorization: Bearer $COMMANDAGI_API_KEY" \
-d '{ "fromSnapshotId": "snap_…" }'为什么这很重要
- 可复现性——每一次分叉都从完全相同的状态开始,因此结果具有可比性。
- 低成本并行——按实验分支分叉,而不是每次都重新搭建环境。
- 永不丢失进度——空闲的机器会自动生成快照并免费关闭,之后再分叉回来即可恢复。
- 可分享的配置——将一份快照发布为可启动的模板,供他人分叉使用。
面向开发者的接口
POST
/app/threads/:id/embodiments/:embodimentId/snapshot捕获磁盘 + 智能体记忆。POST
/app/threads/:id/computers附加一台机器(传入 fromSnapshotId 即可分叉)。GET
/app/snapshots可启动的快照——官方基础镜像、你自己的,以及已发布的。同样的操作也是智能体工具(snapshot_device、list_snapshots、publish_snapshot、merge_snapshots),而分叉就是带上一个 snapshotId 的 create_thread。