返回

文章详情

Cf: Cloudflare API 的代理 CLI

Hacker News2026年9月28日 15:28

在过去的一年中,代理使用 Wrangler 的频率激增。到 2026 年 3 月,代理负责了四分之一的 Wrangler 使用,而上一年这一比例仅为个位数。上周,代理的使用率达到了 48%。代理是更频繁的用户,每天使用几乎两倍的独特命令,并且使用六个或更多命令的可能性几乎是普通用户的四倍。代理喜欢 CLI。可是,Wrangler 只提供约 280 个操作的命令,而 Cloudflare 提供数千个。年初时,我们透露了我们计划如何解决这个问题,而今天,我们通过引入一个新的 CLI —— cf,来使代理能够使用每个 Cloudflare 产品。cf 是一个为下一代软件开发构建的 CLI:代理可以通过定制搜索和引导,找到他们需要的命令以完成任何想做的事情。JSON 是默认接口,为人类提供漂亮的打印格式,并为代理进行了压缩以节省上下文。cloudflare.config.ts 是整个 Cloudflare 的新配置格式,从 Workers 开始,将 TypeScript 的安全性和准确性引入到您的代理语言服务器协议 (LSP) 中,Vite 成为默认,带来了最佳的本地开发服务器和开发者及框架作者的插件套件。今天在全球范围内安装公开测试版,并可以在任何地方运行:npm i -g cf cf 使您的代理可以访问整个 Cloudflare API。如果您的代理可以做 Cloudflare 能做的一切呢?这是我们今年早些时候激发兴趣的问题:代理正变得越来越强大,但他们通过 Cloudflare CLI 能做的仍然有限。Wrangler 是手工构建的,每个产品团队都为其命令开发体验做出了贡献并采取了自己的方法。跨团队强制执行模式几乎是不可能的,即使在我们 ~280 个命令路径之间。每个团队在不同的时间期采用不同的做法,导致 d1 info 、 hyperdrive get 和 workflows describe 等术语的不一致。一些团队跨越成千上万行代码构建了完全自定义的体验,实际上使用的频率极低,而一些团队则采用不同的方法解决相同的问题。我们想要同时标准化现有内容并进行大规模扩展。Forge——Cloudflare 的新统一 API 生成管道——使我们能够做到这一点,基于直接从支持我们 API 文档和 SDK 生成的 API 架构生成 CLI 命令的理念。我们提供的所有内容都具有 OpenAPI 架构,如果我们为其注释更多信息,我们可以将其作为 Forge 生成 CLI 的源。这使我们能够将 cf 从 Wrangler 随时间构建的 ~280 个函数扩展到覆盖 Cloudflare API 表面的 3000 多个操作。现在,您只需将 cf 提供给代理,让它去设置一个工作器,部署、监控和观察它,用 Cloudflare Access 保护它,购买一个域名,并用 Cloudflare WAF 前置它,所有操作均可通过同一个工具完成。为从未使用过 cf 的代理构建 cf 是为软件工程的轨迹而构建的,代理开发正在改变软件的构建和部署方式。今年,我们专注于提供支持这一转变的工具, culminating in cf。cf 从一开始就是为代理设计的,包含了我们认为在不久的将来将成为更多 CLI 标准的新颖代理命令发现工具。Wrangler 的优势在于,数年的文档、博客和第三方指南已被吸收到 LLM 的训练过程中。它也带来了相同的劣势:改变 Wrangler 的工作方式将与学习的行为相悖,并且鉴于我们希望进行的改进规模,重大变化是不可避免的。引入一个代理从未见过的新 CLI 听起来像是一个重大的破坏性变化——但实际上这是我们能做的最清晰的事情。由于我们所做的设计决策、可以进行的上下文注入,以及可以附加的 AGENTS.md 文件,以这种方式进行转换实际上比让代理对熟悉的工具的两个版本之间的主要差异进行上下文化要少困惑。我们带着几个内置的以代理为中心的功能推出,还有更多功能即将到来。代理需要过滤 JSON,而不是查看表格当代理使用 Wrangler 时,他们在每个运行的命令后追加 --json ,然后通常使用 jq 过滤输出以提取字段的子集。但是,Wrangler 中只有一些命令支持 --json;许多命令返回 unicode 表,设计用于人类在他们的终端上查看输出。代理可以弄明白这些,但这比使用 jq 过滤器需要更多的时间和代币。在 cf 中,我们采取了相反的立场:代理只需要 JSON,如果代理是这个工具未来的主要用户,那么它应该是默认的。对于绝大多数人类将很少访问的命令,

赞助内容

NordVPN Next-gen Antivirus

本站免费、广告极少。如果觉得有帮助,可以请我们喝杯咖啡 —— 任何金额都对持续运营有实际帮助。

☕请我喝杯咖啡