用途:abtesting-web 用于 Web 应用的 A/B 测试,通过功能开关(LaunchDarkly、Unleash)、Cookie 用户分群、Cloudflare Workers 或请求头路由来分流流量,实现无停机的受控实验,适合新 UI 元素测试、内容个性化与流量拆分。
主要能力:集成 LaunchDarkly 或 Unleash 切换功能开关;在 Cloudflare Workers 中解析 Cookie 进行分群;按规则路由请求实现流量拆分;读取请求头(如 X-Experiment)决定路由;使用 JSON 定义开关,例如 {"name": "new-feature", "enabled": true, "variants": ["A", "B"]}。
使用方式:先初始化,如 openclaw abtesting-web init --provider launchdarkly --key $LAUNCHDARKLY_API_KEY;在代码中查询开关,如 ldClient.variation('feature-key', false);创建开关 openclaw abtesting-web create-flag --name new-ui --provider unleash --variants A,B;列出开关 openclaw abtesting-web list --key $CLOUDFLARE_API_TOKEN;部署 openclaw abtesting-web deploy --env production。Cloudflare Worker 示例:addEventListener('fetch', event => { const variant = Math.random() < 0.5 ? 'A' : 'B'; event.respondWith(fetch(event.request, { headers: { 'X-Variant': variant } })); });。API 方面,LaunchDarkly 用 POST https://app.launchdarkly.com/api/v2/flags/{projectKey}/{featureFlagKey},Unleash 用 GET https://your-unleash-instance/api/features 并带 Authorization 头。
适用场景:企业级功能发布、成本敏感的自建方案、Cloudflare 环境下的流量实验。
限制:需配置 API 密钥与环境变量;常见错误包括无效密钥(HTTP 401)和开关未找到,需做回退与重试;具体收费、价格与平台支持范围暂未提供。