📌 项目:https://github.com/usebruno/bruno | 星数:47852 | 语言:JavaScript | 协议:MIT | 更新:2026-10-26
Bruno是usebruno开源的API测试IDE,47.9k颗星,JavaScript编写。定位是"开源的Postman/Insomnia替代"——发送HTTP请求测试API,管理集合/环境变量/断言,但数据存本地、Git版本控制、完全离线、免费。Postman的问题是:云端账号强制(数据在Postman服务器)、团队协作付费、越来越重(Mock/监控/CI功能堆砌偏离纯API测试)、强制登录惹争议(2023年强制账号导致用户流失)。Bruno把这些痛点全解决——集合存本地文件系统(可Git版本控制)、无需账号、完全离线、跨平台桌面App、断言测试、开源免费。4.8万星说明"本地优先的API测试工具"是刚需。
相关工具与方向,可参考Ai Consumer Devices Guide 2026;Deepseek V4 Official Gray Test;Ai Agent Platforms For Developers 2026。
集合与环境变量:Bruno用集合组织请求——一个集合含多个请求(GET/POST/PUT/DELETE),请求可分组。环境变量(base URL/token/账号密码)按环境切换(dev/staging/prod),变量可在URL/请求头/body/断言里引用。请求body支持JSON/form-data/multipart/GraphQL/XML/原始。认证支持Basic/Bearer/API Key/OAuth。这些覆盖Postman的核心功能,组织方式和体验接近,迁移成本低。
断言测试与脚本:Bruno支持断言——用JavaScript写测试脚本验证响应(状态码/响应体字段/响应时间),一个请求可多个断言。测试可在集合级Runner批量运行(回归测试API)。前后置脚本(pre/post request)支持动态变量/请求链(提取token给下个请求)。这让Bruno不只手动测试,还能做API自动化测试套件。脚本用JavaScript(不是Postman的受限沙箱),更灵活。测试结果可视化通过/失败。
Git版本控制与离线:Bruno的杀手锏是本地存储——集合存为文件系统里的文件夹+文件(.bru格式,文本),可放进Git仓库版本控制。团队协作靠Git(分支/PR/review),不依赖云端账号。这解决了Postman的协作痛点(要么付费云端同步要么手动导出)。完全离线运行——无需登录账号、无需联网、数据永远在本地。跨平台桌面App(Mac/Win/Linux)。开源版功能完整,付费版(Collection Bruno Cloud)加团队协作但非必需。数据导出/导入格式开放,无锁定。
| ✅ 优势 | ❌ 劣势 |
|---|---|
| 数据本地Git版本控制 | 无云端协作(需Git) |
| 完全离线无需账号 | 团队同步靠Git不如云端 |
| 断言测试+Runner批量 | Mock/监控功能不如Postman |
| 跨平台桌面App | 插件生态较小 |
| 开源免费无云端强制 | .bru格式非通用标准 |
功能上Bruno覆盖Postman核心——请求/集合/环境变量/断言/Runner。优势是本地存储(Git版本控制)、完全离线(无需账号)、免费开源、轻量快。劣势是无云端协作(团队靠Git不如Postman云同步)、Mock/监控/CI集成不如Postman、社区生态小。建议:本地优先/隐私/Git协作→Bruno;云端协作/团队付费/丰富功能→Postman。
数据存本地文件系统——集合是文件夹,每个请求一个.bru文件(文本格式)。直接把集合文件夹放进Git仓库,团队用Git协作(分支/PR/review),无需云端账号。这是Bruno相对Postman最大优势——Postman要么付费云端同步要么手动导出/导入。Bruno的.bru文件可读可diff,code review友好。也可用Bruno Cloud(付费)做云端同步但非必需。导出/导入支持Postman格式迁移成本低。
支持。请求body类型选GraphQL,写query/variables,支持变量引用。也支持gRPC/WebSocket/SSE/MQTT。断言用JavaScript写:res.status===200、res.body.data.id>0、res.responseTime<500。一个请求多个断言。集合Runner批量运行所有请求的断言做回归测试。前后置脚本(pre/post)支持请求链(提取token给下个请求)。脚本是标准JavaScript(非受限沙箱),可引入库。测试结果可视化通过/失败,适合API回归套件。