摘要 :在 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. 官方下载
访问 www.usebruno.com,点击 Download 按钮:

选择对应操作系统的安装包(支持 .dmg、.exe、.AppImage 等)。从这里就可以看出bruno只有不到100M,和postman的500M比起来就清爽多了! 
2. 命令行安装(可选)
            
            
              bash
              
              
            
          
          # macOS (Homebrew)
brew install --cask bruno
# Linux (Snap)
sudo snap install bruno安装完成后,启动 Bruno,界面简洁清爽:

二、创建第一个 API 请求
Step 1:新建请求
点击左上角 "New Request",输入:
- Name : Get User Info
- URL : https://jsonplaceholder.typicode.com/users/1
- Method : GET

Step 2:发送请求
点击 Send 按钮,右侧将显示响应:
            
            
              json
              
              
            
          
          {
  "id": 1,
  "name": "Leanne Graham",
  "email": "Sincere@april.biz",
  ...
}✅ 支持自动格式化 JSON、XML、HTML 等响应体。
三、组织请求:文件夹与集合
Bruno 使用 文件系统结构 管理 API:
- 每个项目 = 一个本地文件夹
- 每个请求 = 一个 .bru文件
- 文件夹嵌套 = 请求分组
例如:
            
            
              bash
              
              
            
          
          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. 创建环境
点击顶部 Environments → New Environment:

填写变量:
            
            
              json
              
              
            
          
          {
  "base_url": "https://api.dev.example.com",
  "auth_token": "dev_abc123"
}2. 在请求中使用变量
在 URL 或 Headers 中引用:
            
            
              bash
              
              
            
          
          {{base_url}}/users
Authorization: Bearer {{auth_token}}
🔁 切换环境时,所有变量自动更新,无需修改请求。
五、导入与导出
从 Postman 迁移
Bruno 支持导入 Postman Collection:
- 点击 Import
- 选择 Postman Collection v2.1
- 上传 .json文件

✅ 自动转换请求、变量、认证方式,无缝迁移。
导出为文件
选中集合 → Export → 生成 ZIP 或文件夹,便于备份或分享。

六、高级功能
1. 脚本支持(Pre-request & Tests)
Bruno 支持 JavaScript 脚本:
- Pre-request Script:动态生成 token、签名
- Test Script:断言响应状态、字段值
            
            
              js
              
              
            
          
          // Pre-request: 生成时间戳
bru.setVar('timestamp', Date.now());
            
            
              js
              
              
            
          
          // Test: 验证状态码
test('Status 200', () => {
  expect(res.status).toBe(200);
});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 都值得加入你的工具链。