icon of dif.sh

dif.sh

Git 原生的功能开关与实验框架,将开关以 Markdown 文件形式存储在代码仓库中,服务于开发者和编码 Agent。

社区:

产品概览

什么是dif.sh?

dif.sh preview

dif.sh 是一款面向开发者的功能开关(feature flag)与 A/B 测试工具,直接在源代码仓库内管理实验配置。团队无需在外部 SaaS 面板中管理开关,而是将开关、渐进发布策略和实验以带结构化 frontmatter 的版本控制 Markdown 文件形式定义。该平台在构建期将配置编译为轻量、类型安全的客户端,在 CI 中捕获测试冲突,并生成机器可读的上下文文件,让编码 Agent 能够跨会话保留历史实验记忆。


主要功能

  • Git 原生 Markdown 架构

    将功能开关(flags)、A/B 测试和 holdouts 作为版本控制的 Markdown 文件保存在代码仓库中,让 Pull Request 成为唯一的审批机制。

  • 编码 Agent 上下文生成

    将当前生效的实验和已积累的经验汇编成结构化 JSON 文件,供 AI 编程助手在会话启动时读取以维持上下文。

  • 编译期冲突检测

    在构建阶段校验互斥分组和定向规则,若多个并行实验会在同一用户上发生冲突,则使 CI 流水线失败。

  • 零延迟客户端生成

    直接在应用代码中生成一个极小体积、强类型的客户端,本地解析变体,无需外部运行时网络调用。

  • 基于界面的知识留存

    为每个应用界面维护独立的 Markdown 日志,已结束实验的结论会自动为后续测试草案提供参考。


使用场景

  • 智能体化软件工程 : 让 Cursor、Claude 或 Copilot 中的编码 Agent 在修改面向用户的代码前,理解当前生效的功能开关和过往测试结论。
  • 渐进式功能发布 : 工程师可以按阶段百分比安全地发布新功能,并针对特定用户属性定向,而无需提交客户名单。
  • 隔离式前端 A/B 测试 : 产品和增长团队可以在保证互斥性的前提下运行转化率测试,避免相互冲突的 UI 变体同时出现。
  • 自动化 CI/CD 验证 : DevOps 流水线在合并代码前自动检查 frontmatter 完整性、缺失的测试声明以及功能开关冲突。

常见问题

dif.sh网站分析