搜索你想找的开源项目

输入名称、用途或关键词,也可粘贴 GitHub 仓库链接

分享到微信

当前解读页的微信分享二维码

用微信扫一扫打开,点击右上角「···」分享给朋友或朋友圈。

手机上可截屏后,在微信扫一扫中从相册识别二维码。

Unleash/unleash

运维与部署

开源特性开关服务器,让团队不改部署就能开启、定向或关闭功能,适合开发与平台团队。

14,183
929
TypeScript
AGPL-3.0
创建于 12 年前

项目介绍

Unleash 是一个开源的特性管理服务器。应用通过 SDK 查询开关状态,由服务端决定某个特性在哪个环境、对哪些用户开启,因而无需重新部署就能调整发布行为。常见用途包括灰度发布与金丝雀发布、紧急开关、A/B 测试,以及区分预发和生产环境。

服务端以 API 为中心,开关状态可以程序化管理。项目提供 Go、Java、Node.js、Python、.NET、Rust,以及 Android、Flutter、iOS、JavaScript、React、Svelte、Vue 等官方前后端 SDK,另有社区 SDK,适合已经使用部署流程、希望把发布控制从部署中拆出来的开发与平台团队。

快速使用

准备好 Git 和 Docker 后执行:

git clone git@github.com:Unleash/unleash.git
cd unleash
docker compose up -d

浏览器打开 http://localhost:4242,用 admin / unleash4all 登录。接着从官方 SDK 列表选择对应语言的 SDK,连接本地实例:

  • 前端 SDK:URL 为 http://localhost:4242/api/frontend/,client key 为 default:development.unleash-insecure-frontend-api-token
  • 后端 SDK:Unleash API URL 为 http://localhost:4242/api/,token 为 default:development.unleash-insecure-api-token

检查开关状态只需一次 SDK 调用,例如 Java:

if (unleash.isEnabled("AwesomeFeature")) {
  // do new, flashy thing
} else {
  // do old, boring stuff
}

只想体验界面可以用在线演示,无需注册。若想用 Node.js 直接运行源码,按贡献指南中的步骤操作。

使用约束

  • 本地 Docker Compose 使用默认账号和不安全的开发令牌,不要把这份配置直接用于生产。
  • 生产自托管需要持久化服务器,部署与扩展方式参考自托管文档和配置说明。
  • 开源服务端采用 AGPL-3.0 许可。RBAC、变更请求、SSO、SCIM、更多环境等能力属于 Pro/Enterprise 方案。
  • 面向前端的大规模客户端请求应通过独立的 Unleash Edge 层,避免压垮主服务端。

HotRepo 点评

在 2026-11-07 的 TypeScript 日榜记录中,该项目新增 180 星,排名第 7。同周的 Hacker News 讨论「We've built an open-source feature flag server for 11 years」获得 156 分和 104 条评论,讨论焦点更多在产品定位而非实现:一位评论者从「我自己也能做」转向理解付费价值 sgt, 2026-11-06;另一位长期使用者认为它按预期工作、不添麻烦 Rant423, 2026-11-07。

讨论中提出的核心分歧是特性开关是否需要独立平台,还是留在部署流程的环境状态里就足够 kalcode, 2026-11-06。这也是该项目实际的采用门槛:当非工程人员需要操作开关,或需要按用户定向发布时,自托管服务端的运维成本才更值得付出。

本文由 AI 根据项目 README 生成,更新于 ,以项目官方文档为准。

Hacker News 讨论

We've built an open-source feature flag server for 11 years
▲ 163 · 111 条评论 · 2026年11月6日
Show HN: Unleash Open-Source feature flag solution
▲ 3 · 0 条评论 · 2021年6月23日
Unleash – an open source feature toggle service
▲ 3 · 0 条评论 · 2020年12月4日