OpenFlags
OpenFlags 是開源、可自架設的功能旗標系統,支援逐步交付;App SDK 可本地評估,控制平面提供安全、精準的發佈。
OpenFlags 是什麼?
OpenFlags 是一個開源、可自架設的功能旗標系統,設計用來幫助團隊以逐步交付的方式推出變更,並實現更安全的發佈。它提供控制平面和 SDK,讓應用程式程式碼能夠本地評估旗標,並在每次變更時無需重新部署即可啟用功能行為。
OpenFlags 的核心目的是支援發佈工作流程,例如百分比發佈、精準啟用和受控啟動,同時保持旗標評估低延遲,並將執行期擁有權保留在團隊基礎設施內。
主要功能
- 自架設旗標基礎設施:將旗標儲存、目標邏輯和執行期擁有權保留在自家基礎設施中,而非依賴託管平台。
- 透過類型化 SDK 進行本地評估:在 App 中使用 TypeScript 套件評估旗標,透過在程式碼中本地執行評估,實現快速、可預測的檢查。
- 逐步交付控制:將功能發佈至受控區段(包含百分比發佈),而非一次對所有人啟用變更。
- 精細目標定位:根據特定使用者目標啟用旗標,讓不同群組獲得不同的功能行為。
- 專注表面的 REST 控制平面:使用簡單的 REST API 管理旗標控制平面,設計為單一儲存庫的一部分,包含伺服器、儀表板、SDK 和文件專屬角色。
- 切換與發佈管理的儀表板:基於 React 的管理 UI,協助團隊切換發佈並管理發佈設定。
如何使用 OpenFlags
- 從文件與快速入門開始:使用提供的文件在您的環境中設定伺服器、儀表板和 SDK。
- 在 App 中建立 SDK 用戶端:使用您的 API URL、專案識別碼和使用者識別碼初始化用戶端。
- 在應用程式程式碼中本地評估旗標:使用 SDK 檢查旗標是否啟用(例如呼叫
flags.isEnabled("flag_name")),並條件式呈現行為。 - 從控制平面管理發佈設定:使用儀表板和/或 REST API 定義發佈行為,例如百分比啟用或精準啟用。
使用案例
- 逐步啟用新使用者體驗:將 UI 或工作流程置於功能旗標後方,並僅對受控使用者子集啟用,而非一次對所有流量。
- 針對特定使用者執行 Beta 測試:透過目標使用者識別碼為特定群組啟用功能,讓您比較群組間行為,同時不影響其餘使用者。
- 以百分比發佈縮小發佈影響範圍:逐步發佈變更(例如 35% 使用者),並調整發佈行為,無需重建或重新部署應用程式。
- 在效能敏感 App 中保持旗標檢查快速:在 App 中使用本地評估,讓功能檢查在執行期維持低延遲且一致。
- 維持基礎設施內的擁有權:使用自架設控制平面,將營運和稽核表面保持在自家技術堆疊中。
常見問題
-
OpenFlags 是自架設還是雲端託管? OpenFlags Cloud 描述為即將推出,目前產品定位為開源且自架設。
-
功能評估如何運作? OpenFlags 支援使用其 SDK 進行 本地評估,因此旗標檢查發生在您的 App 程式碼內,而非每次評估都需要遠端呼叫。
-
支援哪些發佈模式? 網站提及支援逐步交付,包括百分比發佈、精細目標定位和受控啟用。
-
OpenFlags 包含哪些元件? 單一儲存庫包含伺服器(Bun 驅動的控制平面 API)、基於 React 的儀表板、TypeScript SDK 套件,以及文件。
-
SDK 適用於哪些語言/框架? 網站強調 JavaScript 優先的 SDK 使用,並提及支援 Bun、React、Next.js、Vite 和 Node 應用程式。
替代方案
- 託管功能旗標平台 (SaaS):這些通常將旗標管理集中於託管服務中。相較於 OpenFlags 的自架設控制平面,評估與營運主導權可能更依賴供應商平台。
- 基於基礎設施即程式碼的發佈 (無專用旗標評估):團隊可利用部署、路由或設定開關來近似逐步交付。這與 OpenFlags 不同之處在於未提供專為本地評估設計的功能旗標 SDK 工作流程。
- 架構不同的開源功能旗標服務:其他開源系統可能提供類似概念 (旗標、目標對象、儀表板),但在 SDK 方法、控制平面 API 設計或本地評估處理上存在不同取捨。
替代品
Rectify
Rectify 是一站式 SaaS 作業平台,整合監控、分析、支援、路線圖/更新日誌與代理管理,透過對話介面統一操作。
GitBoard
GitBoard 是原生 macOS 選單列 App,讓你在不離開工作流程下查看 GitHub Projects 看板,按狀態篩選並搜尋議題。
Studio CLI
用終端機控制 Studio 的 WordPress 相關功能;管理本機 Studio 站點、建立/更新/刪除 WordPress.com 預覽網站並進行認證。
PingPulse
PingPulse 透過即時交接追蹤與工作流視覺化監控 AI agent 生產流程,支援可設定警示,協助偵測失敗、卡住與順序錯誤。
KIT.domains
KIT.domains 自動化網域監測與 SSL 追蹤,提醒網域到期與 DNS(含 MX/NS)變更,集中儀表板與續約行事曆可一覽。
Sleek Analytics
Sleek Analytics 提供輕量、重視隱私的即時訪客追蹤,顯示訪客來源、瀏覽內容與停留時間,掌握站點現況互動。