Cloudflare Sandbox 构建助手
帮助代理在 Cloudflare Workers 上构建安全的隔离代码执行环境。
文档明确定位为隔离执行不受信任代码,并提示按用户或会话隔离 sandbox、清理临时资源;但未说明网络隔离、凭据/环境变量处理、敏感数据流、端口预览访问控制、用户确认或可恢复机制。对 destroy() 的不可逆影响也未充分警示,因此扣分。
安装要求、配置、核心 API、错误处理和异常结果检查均有说明,正常路径基本连贯;但 quick reference 将 readFile() 描述为返回对象,而前文示例直接将结果作为文件内容使用,且没有本地测试套件、版本兼容矩阵或完整失败诊断覆盖。静态校准下不超过10分。
目标场景、触发描述和主要 API 用途较清楚,覆盖 AI 代码执行、CI/CD 和交互式开发;但非适用范围、权限边界、网络要求、输入输出约束及中文支持未充分声明,并依赖外部 Cloudflare 文档检索,环境适配证据有限。
文档有安装步骤、分层参考、示例索引、反模式、生命周期说明和 Apache-2.0 许可证;但缺少明确维护负责人、更新路径、变更日志、SDK 版本策略、已知限制和系统化 FAQ,且“exact - do not modify structure”可能隐藏配置假设。
提供了可直接复制的配置、Worker 导出、命令、解释器、文件和端口示例,对核心搭建任务有明显帮助;但示例未在文件中得到执行验证,关键生产安全配置不完整,部分 API 细节存在不一致,因此只能保守评价为基本完成核心任务。
包含固定文档、API、示例仓库链接以及 API 返回类型和错误结构,具备一定追溯性;但证据主要是作者整理的文档,未提供提交测试、CI 覆盖 Sandbox 关键路径或独立复现记录。静态校准下不超过5分。
- 不要将文档中的“secure”或“isolated”视为已验证的安全边界;部署前应单独审查网络、凭据、资源配额、租户隔离和预览 URL 鉴权。
- 核对 readFile() 的真实返回类型及 SDK 版本,避免直接复制不一致示例。
- 执行用户或模型生成代码前,应明确数据访问、外部网络和资源销毁的确认与回滚策略。
- 核心检索依赖 Cloudflare 海外文档与 GitHub 示例;在中国大陆网络环境中应预先确认可达性并准备离线版本。
这个 Skill 能做什么,适合哪些场景?
该技能用于在 Cloudflare Workers 上构建安全、隔离的代码执行环境。它覆盖 Sandbox SDK 的生命周期、命令执行、文件操作、代码解释器和预览 URL。技能要求本地开发环境安装 `@cloudflare/sandbox` 并具备 Docker。处理 Sandbox SDK 任务时,它优先检索 Cloudflare 官方文档和示例。
指导代理安装 @cloudflare/sandbox,配置 wrangler.jsonc 和 Worker 的 Sandbox 导出;使用 getSandbox() 获取沙箱,调用 exec() 执行命令,调用 runCode() 运行 Python、JavaScript 或 TypeScript 代码;创建代码上下文并保持状态;读写文件、创建目录、列出文件、暴露端口和销毁沙箱;还说明 Dockerfile 扩展、预览 URL 及 OpenAI Agents SDK 集成方式。
- 需要在 Cloudflare Workers 中执行不受信任代码的开发者,可用它搭建隔离执行环境。
- 正在开发 AI 代码执行或代码解释器的团队,可用 `runCode()` 运行带状态的生成代码。
- 构建 CI/CD 或构建测试流水线的工程师,可用 `exec()` 获取退出码和标准错误。
- 开发交互式开发环境的团队,可用文件操作、端口暴露和预览 URL 组织工作区。
- 需要在沙箱中进行数据分析的开发者,可使用 Python、pandas 以及图表和表格输出。
这个 Skill 有哪些优点和局限?
- 覆盖沙箱获取、命令、代码解释器、文件、端口和生命周期管理。
- 提供可直接参考的 TypeScript 调用模式和配置示例。
- 明确要求优先检索 Cloudflare 文档,降低 SDK 知识过时风险。
- 包含 Dockerfile 扩展、预览 URL 和 OpenAI Agents SDK 集成提示。
- 本地开发明确依赖 Docker。
- 生产环境的预览 URL 需要自定义域名和通配符 DNS;`workers.dev` 不支持预览 URL 子域名。
- SKILL.md 未提供测试套件或自动验证流程。
- 关于具体 API 选项和返回类型的完整内容位于引用文件中,当前材料未展开。
如何安装这个 Skill?
先安装依赖并确认本地 Docker 可用:npm install @cloudflare/sandbox,然后执行 docker info。将仓库中的 skills/sandbox-sdk 文件夹放入所用 Agent Skills 客户端的技能目录;README 给出的目录包括 Claude Code 的 ~/.claude/skills/、Cursor 的 ~/.cursor/skills/、OpenCode 的 ~/.config/opencode/skills/、OpenAI Codex 的 ~/.codex/skills/ 和 Pi 的 ~/.pi/agent/skills/。
如何使用这个 Skill?
在支持 Agent Skills 的客户端中提出明确的 Sandbox SDK 开发请求,例如:“在 Cloudflare Workers 中创建一个 Sandbox,执行 Python 代码并读取结果”。实现前先检索 https://developers.cloudflare.com/sandbox/、API 参考或示例;配置中保留 Sandbox 容器、Durable Object 绑定、迁移和 Worker 的 export { Sandbox }。