Bruno 是本地优先的开源 API 客户端,把请求集合保存成项目文件,方便通过 Git 协作。本文介绍环境变量、请求调试、CLI 自动化和凭证处理,也说明免费版与付费版的选择边界。
资源档案
- 支持平台
- Windows / macOS / Linux
- 收费方式
- 开源版免费,Pro 与 Ultimate 付费
- 开源协议
- MIT
- 收录时间
- 2026-11-01
后端接口改了,代码已经提交,调试时用的请求却还留在某位同事的个人工作区里。 其他人拿到项目,还要询问请求地址、认证方式和测试参数;过一段时间,团队又很难确定哪个请求集合对应哪个版本。 Bruno 提供了一种适合开发团队的整理方式:把接口请求保存为本地文件,用 Git 管理这些文件,让请求定义和项目变更一起被查看、讨论和保留。
它是面向 API 探索与测试的桌面客户端,提供 Windows、macOS 和 Linux 安装包。 开源版可以免费使用,项目仓库采用 MIT 许可,另外还有付费版本供有进阶需求的个人和团队选择[1]。
请求集合就是可以保存和比较的项目文件
Bruno 的集合保存在本地文件夹里,官方仓库介绍使用纯文本 Bru 格式记录请求信息,当前文档也介绍了 OpenCollection YAML 格式。 文件可以交给 Git 或其他版本控制工具管理,因此你能够把请求变更放进代码评审,也能在查阅旧版本时找到对应的接口调用方式[1][2]。
这种设计比较适合已经围绕仓库协作的团队。 例如,开发者增加了一个查询参数,可以同时修改服务代码和相关请求文件;评审者能够看到参数的变化,而不用额外索取一份导出的工作区。 团队仍需要约定文件目录、命名和提交规则,请求文件才会持续保持可用。

图片来自 Bruno 官方仓库,展示 GitHub REST API 的演示请求;截图中的界面版本为 v3.0.1。
本地保存也意味着同步方式由你选择。 Bruno 官方仓库明确说明不提供云端集合同步;团队可以利用已有的 Git 服务共享请求[1]。 发送请求时,客户端仍要连接实际的 API 地址,远程接口需要相应的网络和访问权限。 如果测试目标运行在本机,也可以在本机服务可用的情况下进行调试。
用环境变量处理开发环境和测试环境
同一个接口经常会有不同的服务器地址,把完整域名写进每条请求,后续修改容易遗漏。
Bruno 的环境变量可以按环境保存值,并在请求中通过 {{变量名}} 引用。
你可以为本地开发与测试环境分别设置 baseUrl,在右上角切换所用环境,复用相同的请求定义[2]。
比如团队的接口路径约定为 /api/orders,请求地址可以写成 {{baseUrl}}/api/orders。
这个路径只是组织请求的示例,实际地址、HTTP 方法和参数需要根据你的服务文档填写。
把环境差异集中在变量里,后续检查时就能区分“接口定义改了”与“测试服务器换了”。
建立第一组请求时,可以围绕一个具体业务流程组织文件:查询订单列表、查看订单详情,或者检查服务健康状态。 选择允许访问的测试环境,填写参数和认证配置,查看返回状态、响应头与响应内容。 请求名称最好写明动作和对象,文件夹则按业务模块划分,避免留下大量难以分辨的临时请求。
共享请求时把密钥留在共享文件之外
把集合放进 Git 之前,需要检查请求头、变量和脚本是否包含真实令牌或密码。 本地文件能够被版本控制工具提交,因此安全性取决于你保存了哪些内容、忽略了哪些文件,以及谁能访问仓库。
Bruno 的 Secret Variables 可以将环境变量标记为秘密值。 官方文档说明,这些值由客户端在本机管理,实际秘密值不会写入环境文件;环境文件保留秘密变量的名称[3]。 这样同事可以获得同样的变量结构,各自在自己的设备上填写有权限使用的凭证。
建议给团队准备一份不含秘密值的环境说明,写清变量名、用途和获取渠道。 提交前查看 Git diff,确认没有令牌、个人账号或真实客户数据混进请求示例。 自动化环境的凭证则交给 CI 平台的秘密管理机制,在运行时提供,避免把它们写在公开命令或仓库文件中。
请求稳定后可以交给 CLI 批量运行
Bruno CLI 可以从命令行运行集合、文件夹或单个请求,适合把已有接口检查接入自动化流程。 官方仓库给出了 npm 安装方式,以及指定环境运行集合的示例[1][4]。
在已有 Node.js 与 npm 的环境中,可使用:
npm install -g @usebruno/cli
进入集合所在目录后,运行整个集合:
bru run
如果集合已经配置名为 Local 的环境,可以明确指定它:
bru run --env Local
批量执行前,应检查集合里是否包含创建、修改或删除数据的请求,并选择专用测试环境。 需要判断业务结果时,还应给请求配置与业务有关的断言,检查响应状态和关键字段,而不仅仅查看请求是否返回了内容。
CLI 的默认运行环境还有一个值得留意的条件:官方文档说明,从 v3.0.0 起默认使用 Safe Mode。 如果集合脚本依赖外部 npm 包或文件系统访问,需要核对 Developer Mode 的权限要求,并且只对可信集合启用对应模式[4]。 这对从他人仓库拿到请求集合、准备直接批量执行的场景尤其重要。
免费版适合起步,付费需求要看具体功能
Bruno 定价页提供免费 Open Source,以及 Pro、Ultimate 两档付费方案。 付费方案覆盖更深入的 Git 工作流、自动化、企业集成和支持等需求,具体权益以对应版本表为准[5]。
这里要区分两件事:把本地集合文件交给 Git 管理,是本文介绍的协作方法;在 Bruno 界面里使用所有 Git 操作或企业集成功能,则需要查看当前版本的授权范围。 已经熟悉命令行 Git 的团队,可以继续使用原来的提交和评审流程。 希望在客户端内完成更多操作的团队,再对照功能表决定是否需要付费。
如果你最头疼的是“请求集合与代码版本对不上”,可以挑一个正在维护的接口模块,把可共享的请求文件放进仓库,并为环境变量写好说明。 当同事能从同一个分支找到请求、填写自己的凭证并完成调试时,Bruno 的本地文件与 Git 协作方式就有了具体的使用价值。
官方入口与参考资料
- [1] Bruno 官方仓库与安装说明
- [2] 环境变量文档
- [3] Secret Variables 文档
- [4] Bruno CLI 文档
- [5] 官方定价与功能对照
- 客户端下载
获取渠道
均为官方或作者公开渠道,下载安装前请留意系统版本与权限提示。
macOS 提示“已损坏,无法打开”:确认来源可信后,在终端执行
xattr -dr com.apple.quarantine /Applications/应用名.app
相关资源
开源自托管 OpenLogi Logitech Options+ 替代工具,开源管理罗技鼠标键盘
OpenLogi 是一款面向罗技鼠标、键盘等设备的开源配置工具,主要用于替代 Logitech Options+ 的部分功能。
AI 智能工具 默读 Modu Reader 支持 OCR、AI 阅读的开源电子书阅读器
扫描版 PDF 在很多阅读器里依然不太好用。页面能打开,但文字还是图片,划词、翻译、做笔记都很麻烦。默读(Modu Reader)把电子书阅读、本地 OCR、AI 辅助和多端同步做进了同一个客户端。
开源自托管 NiubiGEO 开源自托管 AI 品牌可见度检测工具,可查看竞品与引用来源
NiubiGEO 是一款开源、支持自托管的 AI 品牌可见度检测工具。它通过模型 API 查看 AI 如何介绍你的产品、回答中还出现了哪些品牌,以及附带了哪些引用来源,方便你了解产品在 AI 回答中的呈现情况。
开源自托管 OpenSEO 可自托管的开源 SEO 工具,能替代 Ahrefs / Semrush 吗?
OpenSEO 是一个采用 MIT 协议开源、支持自托管的 SEO 工作台,提供关键词研究、排名追踪、外链分析、站点审计和 AI 可见度检测,也支持通过 MCP 接入 Claude Code、Cursor 等 AI。