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 |