替代Postman,Github 38k star,这款API工具彻底火了!

开发与运维开源镜像数据库

感情来了

就好好珍惜

感情走了

就专心搞事业

在 Postman、Insomnia 等商业 API 工具主导的市场中, Bruno 作为一款开源、轻量、注重隐私与协作的 API 客户端,正迅速赢得开发者青睐。它将 API 集合以纯文本文件形式存储在本地文件系统,天然支持 Git 协作,彻底告别“黑盒式”收藏管理。本文将带你从零安装、配置到高效使用 Bruno,体验真正为开发者打造的 API 调试新范式。


为什么选择 Bruno?

传统 API 工具(如 Postman)虽功能强大,但也存在明显痛点:

  • 数据封闭

集合以私有格式存储在云端或本地数据库,难以版本控制

  • 启动慢、资源占用高

Electron 应用普遍“吃内存”

  • 协作依赖账号体系

团队共享需登录、付费、权限配置

Bruno 的核心理念

API 收藏即代码(Collections as Code)

通过以下设计,Bruno 实现了轻量、透明、可协作的 API 调试体验:

| 特性 | 说明 | | --- | --- | | ✅ 纯文本存储 | 使用 .bru 文件保存请求,支持 Git 提交、Diff、Merge | | ✅ 离线优先 | 无需登录,所有数据本地保存,隐私无忧 | | ✅ 跨平台 | Windows / macOS / Linux 全支持 | | ✅ 快速启动 | 轻量级架构,秒开不卡顿 | | ✅ 开源免费 | MIT 协议,GitHub 仓库完全开放 |


一、安装 Bruno

1. 官方下载

访问 https://www.usebruno.com,点击 Download 按钮:

picture.image

选择对应操作系统的安装包。从这里就可以看出bruno只有不到100M,和postman的500M比起来就清爽多了!
picture.image

2. 命令行安装(可选)

  
1# macOS (Homebrew)

  
2brew install--cask bruno

  
3

  
4# Linux (Snap)

  
5sudo snap install bruno


安装完成后,启动 Bruno,界面简洁清爽

picture.image


二、创建第一个 API 请求

Step 1:新建请求

点击左上角 “New Request” ,输入:

  • Name

Get User Info

  • URL

https://jsonplaceholder.typicode.com/users/1

  • Method

: GET

picture.image

Step 2:发送请求

点击 Send 按钮,右侧将显示响应:

  
1{

  
2"id":1,

  
3"name":"Leanne Graham",

  
4"email":"Sincere@april.biz",

  
5  ...

  
6}


✅ 支持自动格式化 JSON、XML、HTML 等响应体。


三、组织请求:文件夹与集合

Bruno 使用 文件系统结构 管理 API:

  • 每个项目 = 一个本地文件夹
  • 每个请求 = 一个 .bru 文件
  • 文件夹嵌套 = 请求分组

例如:

  
my-api-project/  
├── users/  
│   ├── get-user.bru  
│   └── create-user.bru  
├── posts/  
│   └── list-posts.bru  
└── bruno.json   # 项目元信息

操作方式

  • 右键侧边栏 → New Folder 创建分组
  • 拖拽 .bru 文件调整位置
  • 直接在文件系统中用 VS Code 编辑 .bru 文件(支持语法高亮)

💡 优势:Git 提交时可清晰看到哪条 API 被修改,适合 Code Review。


四、环境变量管理

开发、测试、生产环境切换是刚需。Bruno 提供内置环境管理:

1. 创建环境

点击顶部 EnvironmentsNew Environment

picture.image

填写变量:

  
1{

  
2"base\_url":"https://api.dev.example.com",

  
3"auth\_token":"dev\_abc123"

  
4}


2. 在请求中使用变量

在 URL 或 Headers 中引用:

  
{{base\_url}}/users  
Authorization: Bearer {{auth\_token}}

picture.image

🔁 切换环境时,所有变量自动更新,无需修改请求。


五、导入与导出

从 Postman 迁移

Bruno 支持导入 Postman Collection:

  1. 点击 Import
  2. 选择 Postman Collection v2.1
  3. 上传 .json 文件

picture.image

✅ 自动转换请求、变量、认证方式,无缝迁移。

导出为文件

选中集合 → Export → 生成 ZIP 或文件夹,便于备份或分享。

picture.image


六、高级功能

1. 脚本支持(Pre-request & Tests)

Bruno 支持 JavaScript 脚本:

  • Pre-request Script

:动态生成 token、签名

  • Test Script

:断言响应状态、字段值

  
1// Pre-request: 生成时间戳

  
2bru.setVar('timestamp', Date.now());


  
1// Test: 验证状态码

  
2test('Status 200',()=>{

  
3expect(res.status).toBe(200);

  
4});


2. 多协议支持

除 HTTP/HTTPS 外,还支持:

  • WebSocket(实时调试)
  • GraphQL(内置查询编辑器)
  • REST + Form-data / JSON / Raw 等 Body 类型

3. 插件生态

通过社区插件扩展功能,如:

  • 自动重试
  • 响应转 TypeScript 接口
  • OAuth2 流程辅助

七、与 Apifox 对比:何时选 Bruno?

| 场景 | 推荐工具 | | --- | --- | | 🧑‍💻 个人开发者 / 小团队 | ✅ Bruno (轻量、开源、Git 友好) | | 🏢 中大型企业 / 复杂协作 | 🔸 Apifox (支持 Mock、自动化测试、CI/CD 集成) | | 🔒 数据隐私敏感 | ✅ Bruno (完全离线,无云依赖) | | 🧪 需要 Mock 服务 | 🔸 Apifox (内置智能 Mock 规则) | | 🔄 已有 Postman 集合 | ✅ Bruno (支持一键导入) |

💡 建议

  • 用 Bruno 做日常调试 + Git 协作

  • 用 Apifox 做全流程 API 管理(设计 → 文档 → 测试 → 监控)


总结

Bruno 不是 Postman 的简单复刻,而是对 API 调试工作流的一次重构 。它将“API 收藏”从黑盒数据变为可版本控制的代码资产,真正实现:

“你的 API 集合,就是你的代码库的一部分。”

无论你是独立开发者、开源贡献者,还是注重工程规范的团队,Bruno 都值得加入你的工具链。

0
0
0
0
关于作者
关于作者

文章

0

获赞

0

收藏

0

相关资源
字节跳动云原生降本增效实践
本次分享主要介绍字节跳动如何利用云原生技术不断提升资源利用效率,降低基础设施成本;并重点分享字节跳动云原生团队在构建超大规模云原生系统过程中遇到的问题和相关解决方案,以及过程中回馈社区和客户的一系列开源项目和产品。
相关产品
评论
未登录
看完啦,登录分享一下感受吧~
暂无评论