
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 文檔和服務器樣板。該平台完全兼容領先的 API 規範,包括 OpenAPI、AsyncAPI、Protobuf (gRPC) 和 OpenRPC,同時還提供其自身更簡單的 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 或企業方案才能獲得進階功能
依賴外部服務進行 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 的輸入規範。