原生 SDK
A3S Box 提供一方 Rust、Go、Python 和 TypeScript SDK。它们与 CLI 管理相同的本地 镜像、Sandbox、卷、网络、快照、日志和运行时状态。
选择语言
每种语言都有独立指南和完整可运行程序,不需要把 Python 片段自行翻译成 Go,也不会在 同一个工作流中途切换语言。
共享契约
所有 SDK 都是本地优先:
- 在同一主机安装
a3s-box运行时。 - 不配置远程端点、域名、账户或 API 密钥。
- SDK 与运行时使用同一 A3S Box 发布线。
- 隔离属于请求数据:默认是 MicroVM,共享内核 Sandbox 仅在 Linux 上显式选择。
- 不支持的主机与后端组合在产生副作用前失败。
Rust 直接调用类型化运行时组件。Go、Python 和 TypeScript 使用已安装运行时的版本化 机器桥接,从不解析人类可读 CLI 输出。
通用对象模型
SDK 不拥有独立守护进程,也不建立平行状态模型。一个 SDK 启动的盒子可被 CLI 和其他 SDK 看到。
生命周期规则
Sandbox 生命周期使用代际围栏。陈旧句柄不能修改同一个盒子的更新实例。stop 保留
持久盒子,restart 推进代,终态删除会移除运行时记录,高级清理方法组合停止和删除。
重启结果未知时,应保存并复用同一个操作身份,直到原始结果得到确认。这可以防止网络 或进程故障造成第二次生命周期转换。
二进制与文本数据
命令输出和文件原语支持任意二进制。语言特定的字符串帮助方法只适合文本,不应用于 归档、镜像或任意生成数据。
完整示例
底层隔离模型见架构与隔离。