Cloudflare Durable Objects 构建指南
帮助代理构建和审查 Cloudflare 上的有状态协调应用。
内容主要是开发指导,未见恶意行为、凭据窃取或隐蔽外传;但未规定最小权限、用户确认、数据流披露、敏感数据边界、部署回滚或外部副作用控制,且示例包含开放 CORS 和生产部署命令,因此扣分。
结构一致,覆盖 DO、SQLite、RPC、告警、WebSocket、测试和错误处理,且失败处理有基本说明;但仅为静态文档,未提供针对关键路径的已提交测试套件,部分示例和依赖版本可能随 Cloudflare API 变化,异常输入与诊断覆盖有限,按静态上限保守扣分。
受众、使用场景和若干不适用场景较清晰,包含 Workers、Wrangler 和 Vitest 环境;但没有精确的触发排除规则、输入输出契约或中文支持,核心检索依赖 Cloudflare 海外文档,未证明中国大陆网络可达,因此扣分。
采用主文档加 references 分层,包含配置、测试、限制、示例和 Apache-2.0 许可证;但缺少技能自身的版本、变更日志、维护责任人、更新路径、FAQ 和完整安装说明,发布者身份也未验证,因此扣分。
可直接指导常见 Durable Objects 实现,提供可复制的配置、代码模式、测试样例和反模式,核心任务价值明确;但没有静态可确认的真实产出或执行验证,且检索、版本适配和示例正确性仍需用户复核,按静态上限不超过 7 分。
提供 Cloudflare 文档、API、最佳实践和示例链接,并有 Semgrep CI 配置这一有限的仓库证据;但没有针对该技能关键路径的提交测试或第三方执行结果,无法独立复现结论,因此仅给有限分数。
- 执行前应核对当前 Cloudflare Durable Objects API、兼容日期、Wrangler 配置和 Vitest 依赖版本。
- 不要直接采用示例中的开放 CORS 或生产部署命令;应先确认授权、环境、数据访问范围和回滚方案。
- 核心资料检索依赖 Cloudflare 海外站点,需确认中国大陆网络可达性并准备离线或镜像资料。
这个 Skill 能做什么,适合哪些场景?
这是 cloudflare/skills 仓库中的 Durable Objects 专用 Agent Skill,面向在 Cloudflare Workers 边缘环境构建有状态应用。它覆盖 Durable Objects 类、RPC、SQLite 存储、闹钟、WebSocket、Wrangler 配置以及 Vitest 测试。该 Skill 强调优先检索 Cloudflare 官方文档,以降低 API 和配置过时的风险。它适合需要强一致性、实体级持久化或持久连接的开发场景,不适合无状态请求处理或高 fan-out 的独立请求。
指导代理创建和审查 Durable Objects 类,设计按聊天房间、游戏或用户划分的协调模型,配置 wrangler.jsonc/toml 中的绑定与迁移,编写 RPC、SQLite、KV、闹钟和 WebSocket 相关代码,并使用 @cloudflare/vitest-pool-workers 编写测试。执行任务时,它建议检索 Durable Objects 文档、API 参考、最佳实践和示例页面。它还提供存根创建、存储操作、闹钟和测试的 TypeScript 示例。
- 开发者为聊天房间、多人游戏或协作文档设计一个按实体协调的 Durable Object。
- Cloudflare Workers 项目需要通过 RPC 方法、WebSocket 或闹钟实现实时或定时逻辑。
- 团队需要配置 Durable Objects 绑定、SQLite 迁移和 Wrangler 项目设置。
- 开发者审查现有 Durable Objects 代码中的并发、持久化、分片或父子关系设计。
- 开发者使用 @cloudflare/vitest-pool-workers 为 Durable Objects 编写单元或集成测试。
这个 Skill 有哪些优点和局限?
- 覆盖从 Workers 集成、Wrangler 配置到存储、RPC、闹钟和测试的完整 Durable Objects 工作流。
- 提供可直接参考的 TypeScript 配置、实现和测试示例。
- 明确说明协调粒度、持久化优先和并发控制等关键规则与反模式。
- 采用检索优先取向,适合 API 可能变化的 Cloudflare 开发任务。
- 范围仅限 Durable Objects,不覆盖仓库中的其他 Cloudflare 技能。
- 需要访问 Cloudflare 文档以获取最新 API 和配置依据。
- 源材料没有提供独立的自动化测试结果或版本兼容矩阵。
- 示例依赖 Cloudflare Workers、Durable Objects 和 Vitest 相关开发环境,但未给出完整项目脚手架。
如何安装这个 Skill?
该仓库支持 Agent Skills 标准。使用 npx skills add https://github.com/cloudflare/skills 安装整个集合;若使用 OpenAI Codex,可将 skill 文件夹复制到 ~/.codex/skills/。也可以克隆仓库后,将 skills/durable-objects 文件夹复制到所用代理的技能目录。源材料未说明单独安装此技能的专用命令。
如何使用这个 Skill?
在代理对话中提出与 Durable Objects 相关的任务,例如:“创建一个使用 SQLite 和 RPC 的 Cloudflare Durable Object 聊天室,并为它编写 Vitest 测试。”匹配触发条件后,代理会加载该技能;实现功能时应检索相关 Cloudflare 文档页面。
这个 Skill 与同类方案有什么区别?
与普通的无状态 Cloudflare Workers 相比,该 Skill 专注于需要协调、强一致性、实体级存储、持久连接或按实体调度任务的 Durable Objects 场景;对于纯无状态请求处理,源材料建议使用普通 Workers。