dif.sh icon

dif.sh

dif.sh 將功能旗標、A/B 測試、保留組與分階段發布以 Markdown 檔案管理於程式碼庫,並透過 CLI 建立、驗證、建置及結束實驗;Dif Cloud 提供共享指標與決策檢視。

dif.sh

在程式碼庫中管理功能旗標與實驗

Dif.sh 是一款開發者工具,用於管理功能旗標、A/B 測試、保留組與分階段發布;這些內容會以 Markdown 檔案形式存在於程式碼庫中。其核心工作流程圍繞著精簡的 CLI、納入 git 版本控制的 `dif/` 資料夾,以及應用程式可匯入的產生執行階段產物。

此產品是為希望讓實驗定義、發布規則與實驗歷史貼近程式碼檢閱的團隊而設計。本機工作流程從終端機執行,而 Dif Cloud 則為希望集中分析、但不將真實來源移出程式碼庫的團隊,增加指標、信賴區間與決策建議的共享即時檢視。

核心功能

Markdown 優先的實驗檔案

每個功能旗標、保留組、分階段發布或 A/B 測試都以 `dif/` 中的單一 `.md` 檔案表示,讓設定易於閱讀、比較差異,並方便在提取要求中檢閱。

以程式碼庫為基礎的 CLI 工作流程

`dif init`、`dif new`、`dif validate`、`dif build`、`dif qa` 和 `dif conclude` 涵蓋從建立初始架構到清理的完整生命週期,無需離開終端機。

產生的執行階段產物

`dif build` 會將進行中的實驗編譯為具型別的用戶端與 `dif/context.json`,讓應用程式可在本機呈現變體,同時由代理程式在工作階段開始時讀取共享的實驗內容脈絡。

執行階段受眾定位

受眾規則會在設定檔中宣告,並在執行階段根據國家/地區、方案或 returning_visitor 等使用者屬性解析,而不是依據已提交的客戶清單。

驗證與衝突偵測

建置時檢查會在變更進入正式環境前,捕捉衝突、缺少測試、無效的 frontmatter 及排除群組衝突。

Cloud 分析與檢閱流程

Dif Cloud 增加面向團隊的指標、提升幅度計算、信賴區間及以提取要求為基礎的決策建議流程,同時維持 git 作為真實來源。

團隊使用 dif.sh 的實際方式

  • 讓實驗定義貼近程式碼

    將進行中的實驗儲存在 `dif/experiments/active/`,於提取要求中檢閱,並將已結束的工作保留在程式碼庫中以供日後參考。

  • 在發布前捕捉發布錯誤

    在發布前擬定、驗證並編譯實驗,讓衝突、缺少測試及無效的 frontmatter 在 CI 中失敗,而不是在正式環境中才發現。

  • 使用執行階段屬性定位變體

    使用國家/地區、方案或 returning_visitor 等受眾屬性來定位變體,而不必將客戶清單提交至程式碼庫。

  • 與代理程式共享實驗內容脈絡

    產生 `dif/context.json`,讓程式碼代理程式在工作階段開始時讀取目前的實驗狀態,使先前的學習成果能延續到下一次變更。

  • 協調團隊間的決策

    當團隊需要曝光次數、隨時間變化的提升幅度、信賴區間及以提取要求寫入的建議決策時,使用 Dif Cloud。

Pros and Cons

Pros

  • 實驗定義以 Markdown 保留在 git 中,因此可在 PR 中檢閱,也能與程式碼一併輕鬆進行版本管理。
  • CLI 支援完整生命週期:設定、撰寫草稿、驗證、建置、QA 預覽及結束實驗。
  • `dif build` 會在部署前檢查衝突與排除群組衝突,有助於在 CI 中捕捉不安全的組合。
  • 執行階段用戶端由程式碼庫產生,因此正式環境不需要呼叫獨立服務來選擇變體。
  • Dif Cloud 可在保留程式碼庫作為系統記錄的同時,為更廣泛的團隊彙整提升幅度、信賴區間、曝光資料與決策。

Cons

  • 所收集來源中的定價頁面內容未提供完整的方案細目,因此根據現有證據,確切的付費方案詳細資訊並不明確。
  • Cloud 專屬的分析與團隊檢視似乎與核心的程式碼庫/CLI 工作流程分開,因此需要提升幅度計算或共享指標的團隊必須使用 Dif Cloud。
  • Shell 安裝程式僅限 macOS 和 Linux,且框架套件需要 Node 20.6+。

FAQ

如何開始使用 dif.sh?

Dif.sh 透過 CLI 從程式碼庫根目錄進行設定。文件顯示,`dif init` 會建立 `dif/` 工作區,接著以 `dif new`、`dif validate`、`dif build` 和 `dif qa` 作為主要工作流程。CLI 設計為在程式碼庫中執行,核心本機工作流程不會開啟瀏覽器,也不需要登入。

Dif Cloud 的費用是多少?

來源頁面描述了兩個層次:CLI 和 SDK 持續免費,而 Dif Cloud 是提供共享指標、提升幅度計算與團隊實驗檢視的付費服務。所收集文字中的定價頁面未包含方案詳細資訊,但 Cloud 頁面指出每月 50 美元包含 100 萬個事件與所有席次。

dif.sh 將實驗儲存在哪裡?

Dif.sh 會將實驗儲存為已納入 git 版本控制的 `dif/` 資料夾中的 Markdown 檔案。進行中的實驗位於 `dif/experiments/active/`,已結束的實驗會移至 `dif/experiments/concluded/`,而介面與內容脈絡也會在程式碼庫中與其一併追蹤。

除了僅使用程式碼庫的工作流程外,Dif Cloud 還增加了什麼?

Dif Cloud 會讀取程式碼庫,並將每個 Markdown 實驗轉換為包含曝光次數、提升幅度、信賴區間及可結束標記的即時檢視。它也會將建議的決策以提取要求寫回,讓程式碼庫持續作為真實來源。

dif.sh 支援哪些平台?

文件指出支援 npm wrapper,只要能執行 Node 18+ 的環境即可使用;而 SDK 與框架套件則需要 Node 20.6+。Shell 安裝程式適用於 macOS 和 Linux,Homebrew 在 macOS 和 Linux 上也受支援。

Quick Facts

類別
開發者工具
核心模型
以 Markdown 儲存在 git 中的功能旗標與 A/B 測試
主要介面
CLI 加上產生的 SDK/執行階段用戶端
程式碼庫結構
包含實驗、介面、受眾、設定、內容脈絡與產生檔案的 `dif/` 資料夾
支援的安裝方式
Shell 安裝程式、Homebrew 與 npm wrapper
平台備註
Shell 安裝程式:macOS/Linux;npm wrapper:Node 18+;SDK/框架套件:Node 20.6+