跳转到内容
本站为社区维护的非官方中文翻译,与 Cloudflare, Inc. 无关联。本站不提供账户登录,请勿在任何非官方站点输入您的 Cloudflare 账户信息。官方文档:developers.cloudflare.com

在 sandbox 中运行 Claude Managed Agents

最后更新 查看 MarkdownAgent 设置

Claude Managed Agents ↗ 在 Anthropic 平台上运行其 Agent 循环。自管理环境则在你的 Cloudflare 账户中运行 Agent 的操作。Cloudflare 为该环境发布了开源模板。请 fork 它、部署到你的账户,并按需修改。

获取模板

工作原理

当 Agent session 开始或结束时,Anthropic 会向模板在你账户中部署的 Worker 发送 webhook。该 Worker 为每个 session 提供独立 sandbox,对其出站流量应用 egress 策略,在 session 休眠期间保存 sandbox 状态,并在 session 结束时关闭 sandbox。

每个 Agent 运行在两种 sandbox 类型之一中:

  • Containers 上的 Linux sandbox 为 Agent 提供 shell 以及它需要运行的任何进程。模板使用 Sandbox SDK 0.x 构建这些 sandbox。
  • Dynamic Worker 可在毫秒级启动,成本低于 container session,但在 Workers 运行时中运行代码,没有 Linux shell 或进程。

关于取舍的更多信息,请参阅 选择 sandbox 环境。

模板还提供什么

模板还会让 Agent 访问其他 Cloudflare 产品:

  • Agent 可通过 Workers VPC 和 Cloudflare Mesh 访问私有服务,而无需将这些服务暴露到互联网。
  • 出站流量会经过你配置的代理。代理可以在 Agent 看不到凭据的情况下向请求添加凭据、限制 Agent 可访问的域名,或对每个请求运行你自己的代码。
  • 每个 session 都可以拥有自己的电子邮件地址,通过 Email Service 发送和接收邮件。
  • Agent 可以使用 Browser Run 的无头浏览器来获取页面、截图,并通过 Chrome DevTools Protocol 控制浏览器。
  • Agent 可以使用 Workers AI 生成图像。
  • 通过向一个文件添加函数即可添加工具。工具在 Worker 中运行,并可访问其全部绑定。
  • 仪表板会列出 Agent 和 session、显示日志,并在正在运行的 Linux sandbox 中打开 shell。

何时使用

在需要以下能力时使用自管理的 Cloudflare 环境:

  • 控制 Agent 运行所在的 sandbox 基础设施
  • 安全连接到私有内部服务
  • 用于注入凭据和限制域名的自定义 egress 策略
  • 使用 Cloudflare 绑定的自定义工具,例如 R2、D1、KV 和 Vectorize
  • 为每个 Agent 在 Linux sandbox 与 Dynamic Workers 之间进行选择

部署模板

请按照仓库中的 onboarding 指南 ↗ 操作。它涵盖 Anthropic 环境与 webhook、secrets、D1 迁移、用于 snapshot 的 R2 凭据,以及仪表板安全。使用 Deploy to Cloudflare 按钮部署(会在 Workers Builds 中构建模板),或在终端中运行 npm run deploy。

模板文档

仓库记录了每项能力:

主题 内容
连接到私有服务 ↗ 使用 Workers VPC 绑定访问其他云、本地机房或笔记本电脑上的服务
应用 egress 策略 ↗ 允许和拒绝列表、header 注入、自定义 Worker 代理以及 VPC 路由
选择 sandbox 类型 ↗ 何时在 Dynamic Worker 或 Linux sandbox 中运行 Agent
Agent 电子邮件 ↗ Agent 的电子邮件地址与发送
浏览器工具 ↗ 供 Agent 使用的 Browser Run 工具
添加自定义工具 ↗ 在 src/tools/custom-tools.ts ↗ 中声明新工具
自定义 sandbox ↗ Linux sandbox 的 Dockerfile 和 instance_type
Snapshot 与状态持久化 ↗ 两种 sandbox 类型如何在 session 休眠期间保留状态
架构 ↗ 从 webhook 到 sandbox 的请求路径,以及 Worker 使用的每个绑定
保护访问 ↗ 保护仪表板和 API

这篇文档对您有帮助吗?