[ PROMPT_NODE_24450 ]
Workers For Platforms 说明文档
[ SKILL_DOCUMENTATION ]
# Cloudflare Workers for Platforms
支持大规模隔离客户代码执行的多租户平台。
## 使用场景
- 运行客户代码的多租户 SaaS
- 在安全沙箱中执行 AI 生成的代码
- 具有隔离计算能力的编程平台
- 边缘函数/无服务器平台
- 包含静态 + 动态内容的网站构建器
- 大规模无限应用部署
**不适用于通用 Workers** - 仅适用于 Workers for Platforms 架构。
## 快速开始
**一键部署:** [Platform Starter Kit](https://github.com/cloudflare/workers-for-platforms-example) 可部署完整的 WfP 设置,包含调度命名空间、调度智能体和用户智能体示例。
[](https://deploy.workers.cloudflare.com/?url=https://github.com/cloudflare/workers-for-platforms-example)
**手动设置:** 请参阅 [configuration.md](./configuration.md) 了解命名空间创建和调度智能体配置。
## 核心功能
- 每个命名空间支持无限个智能体 (无脚本限制)
- 自动租户隔离
- 每个客户自定义 CPU/子请求限制
- 主机名路由 (子域名/自定义域名)
- 出站/入站控制
- 静态资源支持
- 用于批量操作的标签
## 架构
**4 个组件:**
1. **调度命名空间 (Dispatch Namespace)** - 容纳无限客户智能体的容器,自动隔离 (默认非受信任模式 - 无 request.cf 访问权限,无共享缓存)
2. **动态调度智能体 (Dynamic Dispatch Worker)** - 入口点,路由请求,强制执行平台逻辑 (鉴权、限制、验证)
3. **用户智能体 (User Workers)** - 隔离沙箱中的客户代码,通过 API 部署,可选绑定 (KV/D1/R2/DO)
4. **出站智能体 (Outbound Worker)** (可选) - 拦截外部 fetch,控制出站流量,记录子请求 (阻止 TCP socket connect() API)
**请求流:**
请求 → 调度智能体 → 确定用户智能体 → env.DISPATCHER.get("customer")
→ 用户智能体执行 (出站智能体用于外部 fetch) → 响应 → 调度智能体 → 客户端
## 决策树
### 何时使用 Workers for Platforms
需要运行代码?
├─ 仅运行你的代码 → 常规 Workers
├─ 运行客户/AI 代码 → Workers for Platforms
└─ 在沙箱中运行不受信任的代码 → Workers for Platforms 或 Sandbox API
### 路由策略选择
需要主机名路由?
├─ 仅子域名 (*.saas.com) → `*.saas.com/*` 路由 + 子域名提取
├─ 自定义域名 → `*/*` 通配符 + Cloudflare for SaaS + KV/元数据路由
└─ 基于路径 (/customer/app) → 任意路由 + 路径解析