{/* This page is auto-generated from the skill's SKILL.md by website/scripts/generate-skill-docs.py. Edit the source SKILL.md, not this page. */}
Cloudflare Temporary Deploy
通过 wrangler --temporary 免账号部署 Worker 到线上。
Skill 元数据
| 来源 | 可选——使用 hermes skills install official/web-development/cloudflare-temporary-deploy 安装 |
| 路径 | optional-skills/web-development/cloudflare-temporary-deploy |
| 版本 | 1.0.0 |
| 作者 | Hermes Agent |
| 许可证 | MIT |
| 平台 | linux, macos, windows |
| 标签 | cloudflare, workers, wrangler, deploy, temporary, agent, serverless, web-development |
参考:完整 SKILL.md
以下是 Hermes 在触发此 skill 时加载的完整 skill 定义。这是 skill 激活时 agent 所看到的指令内容。
Cloudflare Temporary Deploy Skill
用 wrangler deploy --temporary 把一个 Cloudflare Worker 部署到线上 workers.dev URL,零账号配置。Cloudflare 会准备一个一次性账户、部署,并打印一个 60 分钟内有效的认领 URL;未认领的账户会自动删除。这给 agent 一个紧凑的 写→部署→验证 闭环,无需任何 OAuth、注册或复制粘贴 token。
本 skill 不覆盖生产部署(那些请用 wrangler login + 永久账号),也不覆盖下方临时账户限额之外的非 Worker Cloudflare 产品。
使用时机
当用户想要以下能力时加载本 skill:
- 把 agent 写的代码发布到线上 URL,而不必先创建 Cloudflare 账户——"部署这个并给我一个链接"
- 在后台/自主会话中迭代,浏览器 OAuth 步骤会成为硬阻断
- 快速原型或评估 Worker,用一个一次性、可认领的目标
- 构建自验证部署闭环——部署、
curl线上 URL、确认输出与代码一致、重新部署
不要使用的情况
- 生产或 CI/CD → 用永久账号(
wrangler login或CLOUDFLARE_API_TOKEN)。只要存在任何凭据,--temporary就会报错退出。 - Wrangler 已认证 →
--temporary按设计返回错误。仅当用户明确想要一次性部署时才先跑wrangler logout。 - 长期托管 → 临时部署在 60 分钟后删除,除非被认领。
前提条件
- Wrangler 4.102.0 或更高。 这是引入
--temporary的版本。更早版本没有它。用npx wrangler@latest --version验证。 - Node 18+ / npm(或
npx、yarn、pnpm)。无需全局安装——npx wrangler@latest即可。 - 当前没有 Cloudflare 凭据。
--temporary只在 Wrangler 未认证时工作:无 OAuth 登录、无CLOUDFLARE_API_TOKEN/CLOUDFLARE_API_KEY环境变量、无~/.wrangler/~/.config/.wrangler缓存的 OAuth。按terminal工具的环境原样使用;不要设置这些变量。 - 网络可访问
cloudflare.com和workers.dev。 - 使用
--temporary即表示接受 Cloudflare 的服务条款和隐私政策。
运行方式
每一步都用 terminal 工具。务必固定版本(wrangler@latest 或 wrangler@4.102.0 或更新),避免误跑一个缺少该标志的旧全局 wrangler。
-
脚手架化一个最小 Worker(项目已存在则跳过)。一个 Worker 需要
wrangler.toml(或wrangler.jsonc)和一个入口脚本。最小 TypeScript 示例——用write_file写:wrangler.jsonc:{ "name": "hello-agent", "main": "src/index.ts", "compatibility_date": "2025-01-01" }src/index.ts:export default { async fetch(): Promise<Response> { return new Response("hello cloudflare"); }, }; -
从项目目录用
--temporary部署:npx wrangler@latest deploy --temporary工作量证明检查会增加一段短暂的自动延迟。成功时 Wrangler 打印一行
Account: <name> (created)(或(reused))、一个Claim URL、以及线上https://<worker>.<account>.workers.devURL。 -
从输出解析 URL。用 helper 可靠地提取它们,而非肉眼看:
npx wrangler@latest deploy --temporary 2>&1 | python scripts/parse_deploy_output.py(把
scripts/parse_deploy_output.py解析为本 skill 的绝对路径。)它打印 JSON:{"live_url", "claim_url", "account", "account_state", "expires_minutes", "deployed"}。 -
验证部署真的上线了——不要只信部署日志。
curl线上 URL 并确认响应体与代码返回的一致:curl -sS <live_url> -
迭代。 改代码,用同一个
npx wrangler@latest deploy --temporary重新部署。在 60 分钟窗口内 Wrangler 会复用缓存的临时账户(Account: <name> (reused)),所以 URL 保持稳定。再次curl确认变更。 -
把认领 URL 交给用户。 告诉他们:在 60 分钟内打开它即可保留该部署和任何资源;如果不认领,一切自动删除。把认领 URL 当机密对待——它授予账户所有权。
快速参考
| 步骤 | 命令 |
|---|---|
| 查版本(需 4.102.0+) | npx wrangler@latest --version |
| 部署(无账号) | npx wrangler@latest deploy --temporary |
| 部署 + 解析 URL | npx wrangler@latest deploy --temporary 2>&1 \| python scripts/parse_deploy_output.py |
| 验证线上 | curl -sS <live_url> |
| 清除缓存的临时账户 | npx wrangler@latest logout |
临时账户产品限额
| 产品 | 临时账户上的限额 |
|---|---|
| Workers | 部署到 workers.dev |
| Static Assets | 最多 1,000 个文件,每个 5 MiB |
| KV | 允许 |
| D1 | 1 个数据库,每库 100 MB / 共 100 MB |
| Durable Objects | 允许 |
| Hyperdrive | 2 个配置,10 条连接 |
| Queues | 最多 10 |
| SSL/TLS 证书 | 允许 |
常见陷阱
--temporary不在wrangler deploy --help里,也不是全局标志。 它被有意隐藏并动态浮现:当未认证的wrangler deploy失败时,Wrangler 会打印"用--temporary重跑"。不要因为--help没列就断定标志缺失——改为查版本。- 旧的全局 wrangler。 一个过时的全局安装
wrangler(< 4.102.0)静默地没有该标志。始终调用npx wrangler@latest(或固定>=4.102.0),这样你控制版本。 - 已存在认证 → 硬错误。 如果跑过
wrangler login,或设了CLOUDFLARE_API_TOKEN/CLOUDFLARE_API_KEY,--temporary报错。要么为本 shell 取消该变量,要么wrangler logout。绝不在不告知用户的情况下清除他们的真实凭据。 - 限流。 过快创建临时账户会失败。在 60 分钟窗口内复用缓存账户(直接重新部署),而不是强行新建;若被限流,等待或用永久账户。
- 60 分钟硬过期,不可延长。 如果部署必须存活超过一小时,用户必须认领它。把这一点讲清楚。
- 重新部署后
curl可能短暂返回旧响应体。workers.dev有短暂的边缘缓存;(reused)行加上新的Current Version ID即确认部署成功,即使curl在几秒内显示陈旧内容。在断定重新部署失败之前,重新 curl 或加一个防缓存查询串。 - 不要把认领 URL 当成"只是个链接"记进共享对话记录。 它等同于凭据。
验证
npx wrangler@latest --version返回>= 4.102.0。npx wrangler@latest deploy --temporary打印一个workers.dev线上 URL 和一个claim-preview?claimToken=认领 URL。curl -sS <live_url>返回 Worker 代码产生的确切响应体。- 第二次部署报告
Account: <name> (reused),且线上 URL 不变。 - 解析脚本自检通过:
python scripts/parse_deploy_output.py --selftest。