
Fern
Fern 是一种工具包,可在几分钟内将 API 定义转换为可用于生产的 SDK 和精美的文档,支持多种语言和 API 规范,同时提供企业级功能。
https://buildwithfern.com/?ref=producthunt&utm_source=aipure

产品信息
更新于:2025年09月30日
什么是 Fern
Fern 是一家 Y Combinator 支持的 (W23) 开发者工具公司,成立于 2022 年,旨在帮助公司交付高质量的 SDK 和 API 文档。它充当 API 优先开发的综合平台,允许团队从单一事实来源生成和维护客户端库、API 文档和服务器样板。该平台与包括 OpenAPI、AsyncAPI、Protobuf (gRPC) 和 OpenRPC 在内的领先 API 规范完全兼容,同时还提供其自身更简单的 Fern 定义格式。
Fern 的主要功能
Fern是一个全面的API开发平台,可将API定义转换为可用于生产的SDK和交互式文档。它支持多种API规范格式(OpenAPI、AsyncAPI、gRPC等),以各种编程语言(TypeScript、Python、Java、Go、Ruby、PHP、C#)生成类型安全的SDK,并创建美观的交互式API文档。该平台包括自动SDK更新、OAuth 2.0支持、服务器发送事件和企业级迁移支持等功能。
多语言SDK生成: 自动生成和发布多种编程语言的惯用SDK,其中内置了OAuth 2.0、分页和类型安全等功能
交互式文档: 创建美观的交互式API文档,其中包含AI驱动的搜索、内容迁移工具和API密钥注入等功能
CI/CD集成: 与CI/CD管道无缝集成,以便在API发生更改时自动生成和发布更新的SDK
企业支持: 为企业客户提供专门的迁移支持、自定义主题和安全合规性功能
Fern 的使用场景
API优先开发: 团队可以维护其API规范的单一来源,并自动生成一致的SDK和文档
旧版API迁移: 公司可以通过专业的迁移支持和改进的开发者体验来现代化其现有API
多协议API支持: 组织可以使用统一的SDK生成来处理使用多种协议(REST、gRPC、WebSocket)的复杂API
优点
生成高质量、语言惯用的SDK,开发者更喜欢它而不是其他替代方案
提供全面的企业支持和迁移帮助
提供与现有开发工作流程和CI/CD管道的无缝集成
缺点
可能需要订阅Pro或Enterprise计划才能获得高级功能
依赖外部服务进行SDK生成和文档托管
如何使用 Fern
安装 Fern CLI: 使用 npm 安装 Fern CLI 工具。需要 Node 18+。运行:npm install -g fern-api
导入 API 规范: 从您现有的 API 规范开始 - 可以是 OpenAPI、AsyncAPI、OpenRPC、gRPC,或者使用 Fern 定义格式创建一个新的规范
初始化 Fern 项目: 创建一个新的 Fern 项目,该项目将生成一个 fern/ 文件夹,其中包含:fern.config.json(根配置)、generators.yml(生成器设置)和 definition/ 文件夹(用于 API 规范)
配置文档设置: 使用您的文档设置和组织详细信息更新 fern 文件夹中的 docs.yml 文件
选择 SDK 语言: 选择您要为其生成 SDK 的编程语言。Fern 支持 TypeScript、Python、Go、Java、Ruby、C# 和 PHP
生成 SDK 和文档: 运行 'fern generate' 命令以创建 SDK 和文档。仅使用 --docs 标志获取文档,或使用 --preview 预览更改
发布包: Fern 将自动对生成的 SDK 包进行版本控制并将其发布到相应的注册表(npm、PyPI、Maven 等)
与 CI/CD 集成: 将 Fern 生成命令添加到您的 CI/CD 管道,以便在您的 API 更改时自动更新 SDK 和文档
预览和部署: 使用 'fern docs dev' 在端口 3000 上本地预览文档。准备就绪后将更改部署到生产环境
Fern 常见问题
Fern 支持 OpenAPI、AsyncAPI、OpenRPC、gRPC 及其自身更简单的 Fern Definition 格式作为生成 SDK 的输入规范。