Bruno

Postman 的开源替代:每个请求是一个纯文本文件,跟着代码一起版本管理,离线可用、不上云


项目速览

项目 内容
仓库 usebruno/bruno
协议 MIT
星标 约 4.8 万(2026 年口径)
形态 桌面应用(轻量、离线)
存储 本地文件夹,可 Git 管理

它想解决什么问题

Postman 把集合存在云端,团队协作方便,但带来两个问题:API 定义与代码分离(改接口要两边同步),以及敏感信息过云(token、内网地址)。

Bruno 的反向选择是:集合就是你项目里的一个文件夹,每个请求一个 .bru 文本文件,跟代码一起 commit、一起 review、一起回滚。

核心机制拆解

1. 纯文本即格式。 请求方法、URL、头、体、断言都写在可读的文本里,diff 清晰,冲突可手工解决。

2. 离线优先。 不需要账号,不联网也能用;敏感环境变量有 secret 机制,可只存本地。

3. 环境与脚本。 支持多环境变量、前后置脚本与断言,测试链路能自动化。

4. CLI 可跑。 提供命令行工具,把集合塞进 CI 做接口回归,而不只是手工点击。

安装与上手

从官网下载桌面端,新建 collection 指向项目里的目录:

1
2
3
4
5
6
api/
users/
get-user.bru
create-user.bru
environments/
dev.bru

之后这个目录就和代码一起进入版本管理。

点评

亮点是”API 定义与代码同仓”这个选择:它把接口文档从第三方平台搬回工程实践,review 时能看到接口变更,回滚时接口也跟着回滚。对内部服务多的团队,这是结构性的改善。

局限:生态与插件不如 Postman 丰富,Mock 服务、监控告警这类平台能力缺位;团队协作靠 Git,非技术成员上手门槛比云端账号高;界面功能更新较快,偶有稳定性问题;大型集合的检索与组织仍需手工整理。

适合人群:坚持”接口即代码”的后端与测试团队;对密钥与内网地址敏感的团队;以及不想再为 API 工具付订阅费的开发者。