All-in-One 沙箱应用是腾讯云推出的高度集成云端开发与执行环境解决方案。该产品通过将开发与交互所需的核心工具(如 VSCode 编辑器、 Python 和 Node.js 运行时、浏览器环境、Shell 终端、文件系统)封装在单个沙箱环境中,为 AI Agent、自动化任务、云端开发和安全代码执行提供开箱即用的标准化开发平台。解决了传统分离式工具链中环境不一致、文件传输繁琐、组件间交互困难等痛点,实现了真正意义上的一体化和无缝操作。
本文介绍如何在 Agent 执行引擎一键部署和使用 All-in-One 沙箱应用。
说明:
该功能处于内测阶段,如需使用,请提交 内测申请。
该功能目前仅支持在中国北京及香港,和新加坡地域使用。
All-in-One 沙箱应用镜像来源于社区开源软件镜像 AIO Sandbox,本平台不参与维护。若您使用此镜像:
您有义务遵守相应的第三方规则,包括但不限于任何可能附随的开源软件许可协议。
在用于生产环境之前,您应当进行充分的验证和测试,并主动修复可能存在的缺陷。
如果使用过程中对 AIO Sandbox 项目有更多需求,需要 提交 Issue 由社区支持。
前置依赖
操作步骤
部署应用
1. 登录 Serverless 控制台,单击左侧导航栏的 Agent。
2. 在 Agent 应用引擎页面,选择沙箱工具,单击创建应用,进入应用创建流程。

3. 填写基础配置:
配置项 | 说明 |
应用类型 | 选择 All-in-One 沙箱。 |
应用名称 | 应用的唯一标识,只能包含字母、数字、下划线、连字符,以字母开头,以数字或字母结尾,2~60个字符。 应用名称创建后不可修改。 |
地域 | 选择资源归属地域。 |
4. 填写环境配置:
5. 填写网络配置:
配置项 | 说明 |
公网访问 | 启用后,则可以访问公网资源。默认未启用。 |
私有网络 |
6. 填写日志配置:启用日志投递,可将函数运行日志实时投递到指定位置。详情请参见 日志投递配置。默认启用。
注意:
7. 填写隔离、并发配置:
实例安全隔离:
如果启用,保证一个沙箱独占一个实例,沙箱销毁时,实例也销毁。
如果不启用,多个沙箱可能共享一个实例。
配置基于会话单实例并发模式,该配置主要用于标记客户端请求以哪种方式携带沙箱 ID、配置沙箱生命周期、底层实例支持的沙箱并发数和请求,其中本应用中“会话”的配置对应的是“沙箱”的配置。具体配置项说明如下:
配置项 | 说明 | 示例 |
会话 Key 来源 | 标记客户端请求以哪种方式携带沙箱 ID,系统根据此标记来决定要调度到某个沙箱上。可选项:Http Header、Cookie、Query String,三选一。不同选项支持场景说明如下: Http Header 通过 HTTP 请求头传递客户端会话标识,后台确保相同标识的请求被路由到同一个沙箱。适用于 WebSocket 协议、gRPC 协议、HTTP 协议。支持客户端自定义沙箱 ID,也支持服务端生成。 Cookie 将携带相同 Cookie 信息的请求路由到同一个沙箱。支持客户端生成沙箱 ID,也支持服务端生成。 Query String 将携带相同 Query String 信息的请求路由到同一个沙箱,需要客户端生成沙箱 ID。 | Http Header |
会话 Key 名称 | Key 用途及命名规则: 用途:沙箱的唯一标识名称。 命名要求:必须以字母开头;非首字母可包含数字、字母、下划线(_)、中划线(-);长度限制5-40 个字符(含边界值)。 Key 对应 Value(沙箱 ID )生成逻辑及字符要求: 生成逻辑: 来源为 Http Header、Cookie:支持客户端在首次调用时自主生成 Value;若客户端未生成,系统将自动生成。 来源为 QueryString:首次 Value 需由客户端生成。 字符要求:含数字、字母、下划线(_)、中划线(-)长度限制128个字节。 | x-sandbox-id |
会话最长生命周期 | 从沙箱创建、使用到最终销毁的全过程,单位秒。超过生命周期后,服务端将自动销毁沙箱。最长可设置7天,默认21600秒。 | 21600秒 |
会话最长空闲时间 | 用户在一段时间内没有进行任何操作,导致沙箱进入空闲状态,单位秒。最长不得超过会话最长生命周期,默认1800秒。超过最长空闲(Idle)时间后,服务端将按照“会话空闲超时处理策略”处理沙箱。 | 1800秒 |
会话空闲超时处理策略 | 如果您开启了“实例安全隔离”,会话空闲超时处理策略可选自动销毁或者自动暂停。 如果您没有开启“实例安全隔离”,会话空闲超时处理策略默认自动销毁。 | 自动销毁 |
单实例最大并发会话数 | 单实例在同一时间内支持的最大沙箱数,默认值为20,最大支持100。 | 20 |
单实例最大并发请求数 | 单实例在同一时间内支持的最大请求数,默认为10,最大支持100。 | 10 |
8. 单击提交,开始部署应用。可点击应用构建详情,查看应用构建日志。


获取应用访问地址
应用部署完成后,单击应用名称,进入应用详情页面,即可获取应用访问地址。

集成示例
Langchain Deepagents 集成 AIO 沙箱
import asynciofrom langchain_mcp_adapters.client import MultiServerMCPClientfrom deepagents import create_deep_agentfrom langchain.chat_models.base import init_chat_modelimport os# Ensure localhost bypasses proxyos.environ['NO_PROXY'] = 'localhost,127.0.0.1'async def main():# Collect MCP toolsmcp_client = MultiServerMCPClient({"sandbox": {"url": "https://******-******.ap-hongkong.tencentscf.com/mcp/", # 替换成沙箱应用的访问地址"transport": "streamable_http","headers": {"x-sandbox-id": "my123456"}},})mcp_tools = await mcp_client.get_tools()# Create agentagent = create_deep_agent(tools=mcp_tools,system_prompt="You are a deepResearch agent that can use the sandbox to answer questions.",model=init_chat_model(model="deepseek-chat",base_url=os.getenv("DEEPSEEK_BASEURL"),api_key=os.getenv("DEEPSEEK_API_KEY"),),)# Stream the agentasync for chunk in agent.astream({"messages": [{"role": "user", "content": "打开百度网站查询深圳天气"}]},stream_mode="values"):if "messages" in chunk:chunk["messages"][-1].pretty_print()if __name__ == "__main__":from dotenv import load_dotenv# 环境变量要配置 DEEPSEEK_BASEURL、DEEPSEEK_API_KEYload_dotenv()asyncio.run(main())
调用 AIO 沙箱执行代码
import osfrom agent_sandbox import Sandboxdef main():client = Sandbox(base_url="https://******-******.ap-hongkong.tencentscf.com",headers={"x-sandbox-id": "my123456"})session = client.jupyter.create_session(kernel_name="python3",)client.jupyter.execute_code(code="foo=1",kernel_name="python3",session_id=session.data.session_id)result = client.jupyter.execute_code(code="print(foo)",session_id=session.data.session_id,kernel_name="python3",)print("Code execution result:", result.data.outputs[0].text)client.shell.exec_command(command="pip3.12 install agent-sandbox")result = client.jupyter.execute_code(code="""from agent_sandbox import Sandboxsandbox = Sandbox(base_url= "https://******-******.ap-hongkong.tencentscf.com",headers={"x-sandbox-id": "my123456"})context = sandbox.sandbox.get_context()print(context)""",kernel_name="python3.12",)print("After installed code result:", result.data.outputs[0].text)if __name__ == "__main__":main()
沙箱实例接口
MCP
1. 查看 MCP 工具列表(可选)。
1.1 在终端输入如下命令,输入后自动跳转至 Inspector 页面。
npx @modelcontextprotocol/inspector
1.2 填写配置后,点击连接。
配置项 | 说明 |
Transport Type | 下拉选择 Streamable HTTP。 |
URL | 沙箱应用访问地址增加 /mcp 后缀,例如:https://******-******.ap-hongkong.tencentscf.com/mcp |
Authentication | 在 Custom Header 增加会话 ID(沙箱 ID) 的配置,例如配置为 x-sandbox-id。 |

2. 在服务中配置 MCP 客户端。
{"mcpServers": {"sandbox": {"url": "https://******-******.ap-hongkong.tencentscf.com/mcp/","transport": "streamable_http","headers": {"x-sandbox-id": "******"}}}}
API
SDK
from agent_sandbox import Sandboxclient = Sandbox(base_url="https://******-******.ap-hongkong.tencentscf.com",headers={"x-sandbox-id": "my123456"})ctx = client.sandbox.get_context()print(ctx)result = client.shell.exec_command(command="ls -la")print(result)
沙箱实例管理
1. 在沙箱应用详情页面,单击函数名称,进入函数管理页面。

2. 选择会话管理页签,即可查看会话状态。
