Cloudflare发布代理专用CLI「cf」:3000余项操作全开放,JSON默认输出

Cloudflare发布代理专用CLI「cf」:3000余项操作全开放,JSON默认输出

代理用掉了Wrangler近一半调用量,但只覆盖280个操作

9月28日,Cloudflare正式推出新命令行工具cf,定位是面向整个Cloudflare API的代理CLI,由Matt Taylor与Samuel Macleod署名发布。动机来自一组内部数据:2026年3月,代理已经承担了Wrangler调用量的四分之一,而去年同期还是个位数;到上周这个比例升到48%。代理还是更高频的用户——日均使用的不同命令数接近人类用户的两倍,单日使用六个以上命令的概率约为四倍。

问题在于能力上限。Wrangler是各产品团队各自贡献、逐步堆出来的,全工具只有约280条命令路径,术语与交互在团队之间并不统一,比如d1 info、hyperdrive get、workflows describe的命名习惯各成一套;而Cloudflare平台提供的能力数以千计。Cloudflare决定换一条路:用名为Forge的统一API生成管线,直接从驱动官方文档与SDK生成的OpenAPI schema里长出CLI命令。

JSON默认、自然语言搜命令,配置文件改为TypeScript

cf因此一举把可操作面从约280条扩展到覆盖全部3000余项Cloudflare API操作。为代理做的设计不止于多:输出层面,JSON成为默认格式——对人美化排版,对代理压缩输出,省下token与过滤成本;代理过去用Wrangler时得给每条命令追加json参数并用jq过滤,而不少命令压根不支持,只能返回给人看的Unicode表格。命令发现层面,cf cli search允许代理用自然语言描述意图,内置的小型搜索索引会按API描述与参数返回候选命令,首次运行帮助命令时自动告知代理这条入口。

配置格式也一并换代。新的cloudflare.config.ts基于TypeScript,Cloudflare称代理在没有先验背景的情况下也能直接读懂并编辑配置;使用LSP插件的代理工具(文中点名Claude Code与Codex)能借类型信息给出更准确的建议,相比没有可访问schema的TOML、或代理很少真正去查schema的JSONC是明显改进。Cloudflare内部一些Wrangler配置文件因此从五千多行压缩了约40%,写法上改为从通用基座程序化派生各环境,而不是复制粘贴环境变量块。

开发体验方面,cf把Vite变成默认构建与本地开发基座,带来HMR热替换与基于Rust的Rolldown摇树优化;仍依赖esbuild的JavaScript Worker以及Rust、Python Worker会继续委托给Wrangler构建。迁移路径也给了明确说法:现有项目跑cf migrate即可,Vite构建的项目会自动转成新配置;公开测试结束后Wrangler会发布最后一个大版本并引导用户切换,之后还有18个月维护支持。新项目可用cf init与cf deploy直接初始化并部署,静态站点仍然不需要配置文件。

Hacker News上132点赞的帖子里,讨论并没有围着功能转,而是很快分成了工具链语言选择两派。反对者认为命令行工具用TypeScript是错误选择——用户被迫管理依赖、承担npm供应链风险,且V8启动开销对只跑一次就退出的进程几乎全是浪费;支持者则反驳,在Cloudflare既有工具生态里TypeScript是顺理成章的选项,打包成单文件即可安装。也有评论指出1.0尚未正式发布且持续集成还是红的,认为这篇官方博文可以再等几天再发。