主题
LangSmith 沙箱
使用 LangSmith 托管沙箱在隔离环境中安全执行代码并与文件系统交互。
沙箱是隔离环境,允许 agent 安全执行潜在风险操作(例如运行任意代码或与文件系统交互),而不会影响你的主要基础设施。
从 LangSmith 主页选择 Sandboxes,管理你的所有沙箱资源。

环境可用性
| 环境 | 状态 |
|---|---|
GCP US(smith.langchain.com) | 正式可用 |
GCP EU(eu.smith.langchain.com) | 正式可用 |
GCP APAC(apac.smith.langchain.com) | 正式可用 |
AWS US(aws.smith.langchain.com) | 正式可用 |
| BYOC(你的数据平面 URL) | 正式可用 |
WARNING
在 BYOC 上,请使用属于 BYOC 工作区的 API 密钥。
对于自托管 LangSmith 部署,请参阅在自托管部署上启用 Sandboxes。
网络访问
受限出口默认适用于非 Enterprise 组织以及提出请求的组织。获得批准豁免的组织可以使用不受限出口。受限沙箱使用托管允许列表来访问常见包注册表、源代码仓库和模型 API。LangSmith 会阻止允许列表之外的目标,即使你将它们添加到沙箱的代理配置中。
如果你需要不受限出口,请提交支持工单,并提供你的组织或工作区 ID、区域、所需目标和端口以及用例。有关更多信息,请参阅受限出口和访问请求。
开始使用
1. 安装 SDK
bash
# uv
uv add "langsmith[sandbox]"
# pip
pip install "langsmith[sandbox]"bash
npm install langsmith2. 设置 API 密钥
bash
export LANGSMITH_API_KEY="<your-api-key>"3. 创建并运行沙箱
python
from langsmith.sandbox import SandboxClient
client = SandboxClient()
with client.sandbox() as sb:
result = sb.run("python -c 'print(2 + 2)'")
print(result.stdout) # "4\n"ts
import { SandboxClient } from "langsmith/sandbox";
const client = new SandboxClient();
const sandbox = await client.createSandbox();
const result = await sandbox.run("node -e 'console.log(2 + 2)'");
console.log(result.stdout); // "4\n"
await sandbox.delete();TIP
更喜欢命令行?Sandbox CLI 让你无需编写任何代码即可创建沙箱、运行命令并打开交互式 shell。
4. 将沙箱与 agent 配合使用
要将沙箱接入 agent 代码,请参阅开源文档:
- Deep Agents:使用
LangSmithSandbox作为后端,涵盖安装、后端创建和清理。 - 将沙箱作为 agent 后端:将任意沙箱配置为执行后端,自动为你的 agent 提供
execute和文件系统工具。 - LangChain / LangGraph 集成:将 LangSmith 沙箱作为第一方选项使用,或连接第三方提供程序,例如 AgentCore、Daytona、E2B、Modal、Runloop 和 Vercel。
资源
Snapshots
从 Docker 镜像构建文件系统镜像,或捕获正在运行的沙箱,然后从这些镜像启动沙箱。
Service URLs
通过经过身份验证的 URL 访问沙箱内运行的 HTTP 服务。
Auth proxy
将凭据注入出站 API 请求,而无需硬编码密钥。
Mounts
将 S3 存储桶、GCS 存储桶和公共 Git 仓库附加到沙箱文件系统。
Permissions
控制沙箱创建后哪些工作区成员可以与其交互。
CLI
从命令行构建快照、管理沙箱、打开控制台并隧道 TCP 端口。
SDK usage
使用 Python 或 TypeScript SDK 以编程方式创建和管理沙箱。
Self-hosted setup
使用 Helm 或 Terraform 在自托管 LangSmith 部署上启用 Sandboxes。
Harbor
在 LangSmith 沙箱上运行 Harbor 评估和 rollout。