Unleash/unleash
运维与部署开源特性开关服务器,让团队不改部署就能开启、定向或关闭功能,适合开发与平台团队。
项目介绍
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 生成,更新于 ,以项目官方文档为准。