数据截至 (上游 commit 415259e527d2)
协议契约与沙箱生命周期状态机
30 秒导读: OpenSandbox 是给 AI agent 跑「不可信代码」的沙箱平台。它先不谈实现,而是用 四份 OpenAPI 规范 把系统切成几个界面清楚的面:控制面(建/删/暂停沙箱)、数据面(在沙箱里跑命令/文件)、出站面(改网络策略)、诊断面(捞日志)。这四份契约共同围着一个东西转——沙箱的八态生命周期状态机(Pending → Running → …→ Terminated,外加 Failed)。本章讲这层「地基」:契约怎么分、状态怎么流转、请求/响应长什么样、怎么鉴权。后面 02–06 章讲的每一个后端、每一条数据路径,都是在把这层契约翻译成真实容器行为。
本章是全组的地基章。你可以把它当成一张「坐标系」:后面每章讲某个子系统时,都会回来引用这里定义的状态名、模型名、鉴权头。本章只讲契约与数据模型,不讲某个后端(Docker/K8s)具体怎么把契约变成容器(那是 02 / 03),也不讲 execd 在沙箱里内部怎么执行(那是 04)。