Cloudflare 开源了 cf,一个面向 agentic 开发的命令行工具,命令从 OpenAPI schema 自动生成,覆盖 Cloudflare API 全量三千多个操作。它默认输出 JSON,对人做格式化打印,对 agent 做压缩以省上下文。npm 上直接装,需要 Node 22 以上,代码双许可。已经在用 wrangler 的团队可以并行跑一段时间,迁移成本主要在配置文件格式上。
它和 wrangler 的分工很清楚。wrangler 是手工维护的,约 280 个命令,各产品团队自己定术语,于是有 d1 info、hyperdrive get、workflows describe 这种不一致。cf 的形态统一成产品名加分组的操作路径,命令面由生成管线从 schema 拉出来,新 API 上线就能用。配置从 TOML 换成 TypeScript 的 cloudflare.config.ts,能借 LSP 做类型检查,构建默认走 Vite,仍依赖 esbuild 的 JS Workers 和 Rust、Python Workers 会委托 wrangler。存量项目用 cf migrate 转,wrangler 发完最后一个 major 版本后还会维护 18 个月。
哪些设计是冲着 agent 来的
cf cli search 允许用自然语言描述任务,它靠 API 描述和参数建的小索引返回匹配命令,agent 第一次跑 --help 时会被告知有这个命令。cf tools 能导出 MCP 工具定义,喂给 MCP 客户端。输出默认 JSON,同一个命令给人看和给 agent 看在压缩策略上分开。
破坏性操作有确认环节。所有 DELETE 和被标记为需要确认的操作,执行前会停下来问,--force 可以绕过,非交互环境则给一个对 CI 友好的错误。参数链复杂的命令会拆成带校验的交互式输入。
上手步骤
npm i -g cf全局安装,Node 版本先确认。cf auth login走 OAuth,或者用CLOUDFLARE_API_TOKEN环境变量,token 方式有对应参数。- 新项目用
cf init生成脚手架,cf dev起本地开发。 - 找命令用
cf cli search加自然语言描述,也可以cf --help浏览,补全脚本一行装上。 - 绑定和触发器写进
cloudflare.config.ts,KV、D1、R2、队列、AI、向量库、Worker 都在 bindings 里声明。 - 调试加
--local路由到临时 Miniflare 实例,cf build、cf deploy构建部署。 - 接 agent 生态时用
cf tools导出 MCP 工具定义。
几个值得单独说的细节
补全一行装上,之后参数能补全出来。参数链长的命令会被拆成带校验的交互式输入,买域名这种一连串确认的动作不用背参数。cf workers versions create 只上传版本不部署,灰度时能和 cf deploy 分开走。凭据还支持从 wrangler 的配置文件回退读取,老环境不用立刻重新登录。
风险要先想清楚
它还是 beta。命令面会跟着钉住的 schema 版本变,已经有命令整个被移除的先例,CLI 脚本里的调用要固定版本验证。agent 的权限就是 token 的权限,没有细粒度的 dry-run,权限也收不了窄,误操作的影响面等于 token 本身。--force 会跳过确认,无人值守的流水线等于没有人工卡点。
凭据解析有顺位,环境变量之后是 OAuth profile,多 profile 和目录绑定并存时,用 cf auth whoami 核对当前生效身份。--local 只支持 KV、D1、R2 的部分冷状态操作,本地没有等价的命令会直接报错。Node 低于 22 拒绝运行,老镜像要留意。
常见问题
agent 调用占比真有那么大吗。官方公布的数字是,2026 年 3 月 agent 约占 wrangler 用量四分之一,发布前一周接近一半,日均命令数接近人类两倍。这是官方口径,只说明它做这件事的动机。
wrangler 要停吗。短期不会,cf 目前是 open beta,wrangler 发最后一个 major 后继续维护 18 个月,存量项目可以按迁移窗口排期。
什么场景先别迁。CI 里写死了 wrangler 命令、依赖 esbuild 特殊配置、或者对输出格式有解析的,先在分支里跑一遍再切换。
让 agent 跑高风险操作怎么收权限。单独签一个权限最小的 token,把 zone 范围和账号范围划小,比事后补救省事。cf 本身不提供细粒度的 dry-run,权限只能在上游收。