For AI agents: fetch the complete documentation index at /llms.txt, the full documentation corpus at /llms-full.txt, the agent skill at /skill.md, or this page as Markdown at /zh-tw/docs/web/feature-flags.md (or send Accept: text/markdown).
功能開關與公告
灰度上線、按工作區門禁、向成員廣播。
初學者演練
先決條件:閱讀下面的兩個初學者指南,完成 Web 本地設定,並在編輯器的根目錄中開啟此 monorepo。網頁設定屬於apps/web/.env.local; Next.js不讀取根.env。預設fake模式下的/dashboard是無資料庫演示; /auth 需要遷移資料庫。
簡而言之:工作區是一個團隊的單獨使用者、資料和設定。伺服器是可信後端;讓提供商金鑰遠離瀏覽器和電話程式碼。遷移是建立或更新表的版本化資料庫更改。人工智慧模型是回答的引擎;型號目錄是伺服器上可用型號 ID 和價格的列表。提供商是一種外部服務,例如人工智慧、電子郵件或計費服務。權利是允許工作區使用某項功能的授權。 Webhook 是一個服務傳送到另一個服務的 URL 的訊息。
1、以平臺管理員身份登入,開啟/admin/flags;建立或選擇一個測試標誌並將其明確設定為啟用,然後停用。
2. 重新整理讀取標誌的產品表面並確認其呈現方式更改。
3. 當啟用標誌時,角色和權利仍必須保護伺服器操作。如果 API 在停用時仍然可訪問,請在預期位置新增伺服器端標誌檢查。
對於自定義程式碼,請從提供的 prompts/README.md 開始,然後複製最接近的提示:對於應用程式螢幕為 prompts/new-app-screen.md,對於公共頁面為 prompts/new-landing-page.md。對於伺服器、資料庫或提供商工作,請為您的編碼代理提供本指南的任務,並要求其讀取 AGENTS.md、.ai/PROJECT_CONTEXT.md 和匹配的 .ai/ 映象;檢查此處指定的確切原始檔;列出檔案並在編輯前進行檢查;保留工作區所有權和僅限伺服器的機密;並向您展示差異。告訴它您想要的行為、輸入和輸出欄位、允許的角色、預期的成功和錯誤以及測試帳戶、提供程式或裝置。使用樣本值;永遠不要貼上真正的秘密。
在管理中配置標誌
/admin/flags 和 feature-flags.ts 提供套件的標誌管理/評估路徑。 Flag配置屬於平臺管理員;產品 UI 可以對允許的功能做出反應,而無需獲得更改標誌的許可權。
驗證啟用和停用的行為
測試預設值、缺少標誌、更新、角色拒絕和標誌門控伺服器操作。新增推出邏輯時保留工作區訪問檢查。
安裝與配置
feature-flag-runtime 按呼叫方上下文解析開關:未配置的開關預設關閉,按開關的覆蓋可定向到特定工作區或使用者。缺失的開關絕不會悄悄放行一個介面。
平臺公告(announcement-actions)通過成員已在看的同一通知介面廣播應用內通知 —— listActiveAnnouncements 提供橫幅內容,dismissAnnouncementAction 記錄關閉。
await isFeatureEnabled(flag, { workspaceId })
await resolveFeatureFlags(context)
listActiveAnnouncements()
dismissAnnouncementAction(formData)實現流程
暗發程式碼:先在開關後合併,給自己的工作區開啟,再逐步擴大。介面轉正後移除開關 —— 陳舊開關是第二份事實來源。
在服務端邊界和導航上同時檢查開關:藏了連結但路由還開著不算門禁。公告不要走事務郵件通道 —— 它們是產品動態,不是收據。
驗證與排障
驗證關閉的開關端到端隱藏導航、路由與操作;覆蓋只對其目標生效;清空後回到預設值。測試公告送達目標工作區且關閉狀態持久。