安装
[sandbox] 额外依赖项会安装 websockets,它支持实时流式传输和 timeout=0。如果没有安装,run() 会自动回退到 HTTP。对于 TypeScript,请安装可选的 ws 包以支持 WebSocket 流式传输:
创建并运行沙盒
运行命令
每次run() 调用都会返回一个 ExecutionResult,包含 stdout、stderr、exit_code 和 success。
流式输出
对于长时间运行的命令,可以使用回调函数或CommandHandle 实时流式传输输出。
使用回调函数流式传输
使用 CommandHandle 流式传输
设置wait=False 以获取 CommandHandle,从而完全控制输出流。
发送 stdin 并终止命令
重新连接到正在运行的命令
如果客户端断开连接,可以使用命令 ID 重新连接:文件操作
在沙盒中读写文件:命令生命周期和 TTL
沙盒守护进程通过两种超时机制管理命令会话的生命周期:- 会话 TTL(已完成的命令):命令完成后,其会话会在内存中保留一段 TTL 时间。在此期间,您可以重新连接以获取输出。TTL 过期后,会话会被清理。
- 空闲超时(正在运行的命令):没有客户端连接的正在运行的命令会在空闲超时(默认:5 分钟)后被终止。每次有客户端连接时,空闲计时器会重置。设置为
-1表示无空闲超时。
组合生命周期选项
kill_on_disconnect=True(Python)或 killOnDisconnect: true(TypeScript)可以在最后一个客户端断开连接时立即终止命令,而不是等待空闲超时。
TCP 隧道(Python)
像访问本地服务一样访问沙盒内运行的任何 TCP 服务。隧道会打开一个本地 TCP 端口,并通过 WebSocket 将连接转发到沙盒内的目标端口。异步支持(Python)
Python SDK 提供了完整的异步客户端:错误处理
两个 SDK 都提供了类型化的异常,用于特定的错误处理:更多详细信息,请参阅 GitHub 上的沙盒 SDK 参考文档:Python 或 TypeScript。
Connect these docs to Claude, VSCode, and more via MCP for real-time answers.

