编程与软件开发

Cloudflare 推出开源 Forge,用于从 API 定义生成 SDK 包、CLI 工具和文档

Cloudflare 宣布推出 Forge,这是一个在 CI 中运行、可扩展且开源的流水线,可直接从 API 定义生成 SDK 包、CLI 工具和文档。该项目支持为每项更改创建预览版本、串联多个输出,并降低 API 与依赖这些 API 的工具之间出现不兼容的风险。

2026-09-28
2 分钟阅读
4 浏览量
certi.news Editorial Team
Cloudflare 推出开源 Forge,用于从 API 定义生成 SDK 包、CLI 工具和文档

Cloudflare 宣布推出 Forge,这是一个可扩展的开源流水线,可直接从 API 定义生成 SDK 包、命令行工具、文档和库。Forge 在持续集成 CI 环境中运行,可以免费以自托管方式运行,而不必依赖托管的 SaaS 服务。

该项目源于 Cloudflare 管理一个包含超过 3,500 个操作、由数百项服务支持的 API 的需求,这些服务使用 Rust、Go、TypeScript 和 Python 等语言编写。公司表示,Forge 目前会生成 cf CLI 所需的输出,未来几个月还将扩展到 Cloudflare 文档、SDK 包等。

为每项更改提供预览

Forge 在产品团队的代码仓库中运行,检查每项更改,然后创建 CLI 工具、文档和 SDK 包的预览版本,并突出显示由此产生的修改。团队可以在合并 API 更改或向客户发布之前安装并测试这些版本。

这种机制针对的是 API 分布在数百项服务和代码仓库中的环境里存在的实际问题:一次更改可能导致生成过程失败,而受影响的团队直到发布时才发现问题。相较之下,在 CI 中更早运行生成过程,可以将验证移至更接近更改源头的阶段,并减少团队之间所需的协调。

生成相互关联的输出

Forge 并不局限于传统的语言目标。该项目可以获取 OpenAPI 定义并生成 Cap’n Web 等输出。Cap’n Web 是 Cloudflare 的一种 RPC 系统,可以用类似调用本地函数的方式调用远程 TypeScript API。公司还指出,同样的方法可以用于创建 TanStack Query 绑定、Zod 或 Valibot 模式以及 MCP 服务器。

Forge 依赖可串联的转换器,因此可以使用一个输出生成另一个输出。目前它支持 OpenAPI 作为输入类型,同时其设计允许未来加入 AsyncAPI、GraphQL、Cap’n Proto 和 Protobuf。用户还可以指定生成链,而不是被迫采用固定路径;当 CLI 工具使用不同于 SDK 包的语言构建,或工具包含手写命令时,这一点十分重要。

实际会发生什么变化?

Forge 提供了一种模型,使 API 使用工具成为 API 本身开发周期的一部分,而不是之后再单独更新的产品。这对需要保持 SDK、文档和 CLI 同步的团队很有帮助,但并不会消除审查生成输出的必要性,尤其是在工具同时包含生成代码以及手写命令或手写行为时。

Cloudflare 还将该项目与其 API 版本管理计划联系起来。在使用主版本 v4 达十年后,公司表示正在研究一种方法,使其能够发布新的主版本,同时不破坏客户或旧版 SDK 包。公司没有在该材料中公布这一方法的细节或实施时间表。

开放许可证与当前阶段的限制

Forge 现已根据 Apache 2.0 许可证提供,可以免费运行、修改,并在内部或私有环境中使用。Cloudflare 将该项目描述为仍处于早期阶段,尽管它已被用于生成 cf CLI 的输出;公司还承诺稍后提供有关 TypeScript、Rust、Python、Go、PHP 和 Terraform SDK 的更多细节,并特别提到 Terraform 提供商的迁移要求。

新闻来源
Cloudflare Blog
查看原始来源 ↗
c
作者

certi.news Editorial Team

同一分类

你可能还喜欢

查看所有新闻