Bruno:快速且适合 Git 的开源 API 客户端(Postman 替代品)

整体情绪

  • 大家对 Bruno 充满强烈热情,认为它是一个快速、简单、“以文件为先”、离线优先的 Postman/Insomnia 替代品。
  • 对 Postman 和 Insomnia 的强烈不满主要来自强制登录、以云为中心的工作流、数据丢失、臃肿,以及由 VC 资金推动的“enshittification”。
  • 也有一些用户仍然满意于基于 CLI/IDE 的方案,并认为对 GUI API 客户端的需求有限。

人们为什么在切换

  • Postman/Insomnia 现在往往需要账户,推动云同步,而且迁移过程曾经很糟糕,导致集合/环境被清空或隐藏。
  • 由于合规和安全原因,很多组织不能使用会把密钥同步到外部云端的工具。
  • Postman 的 UI 被广泛描述为缓慢、复杂,并且对“只是调用一个 API”这种场景来说功能过多。
  • 用户看重 Bruno 的:
    • 集合只保存在本地。
    • 适合 Git 的、可读性强的 Bru 文件。
    • 通过把集合提交到仓库来轻松协作。
    • 可从 Postman 集合导入。

功能、缺口与对比

  • Bruno 因以下特点受到称赞:
    • 简单、快速的 GUI + CLI。
    • 环境、预请求脚本、OAuth2 支持,以及类似 Postman 的测试流程。
    • Git 原生工作流和“everything as code”的理念。
  • 缺失或较弱的部分(有些在改进中/需付费):
    • WebSockets、SSE/流式传输、gRPC、MQTT、cookies、mTLS,以及一些环境/变量脚本边缘情况。
    • OpenAPI 导入不如 Postman/Insomnia 可靠,尤其是在服务器变量方面。
  • 对比:
    • 更偏 CLI/文本的工具(curl、httpie、Hurl、JetBrains/VS Code 的 .http、Emacs/Vim/IDE 插件)更受喜欢脚本化、复用和 CI 集成的高级用户青睐。
    • GUI 工具(Postman、Insomnia、Paw、Thunder Client、Yaak、HTTPie GUI、Hoppscotch、Restfox 等)依然流行,但云锁定和臃肿是反复出现的抱怨。

商业模式与许可证讨论

  • Bruno 提供免费的开源核心,以及一个付费的“Golden Edition”,包含专有功能(例如 gRPC/WebSockets、负载测试)。
  • 定价是一次性支付,但更新年限有限;因此有人讨论这是否真的是“终身”,以及相关表述是否具有误导性。
  • 许多人认可其不依赖 VC、永久且非订阅式的模式;也有人对双重许可和长期开放性持保留态度。

元讨论与理念

  • 大家强烈支持:
    • “文件优先”以及把 Git 作为事实来源。
    • 不需要账户、遥测或自动更新的工具。
  • 关于 GUI 与 shell 的争论仍在继续:GUI 被认为对不太熟悉 CLI 的开发者/测试人员更容易上手;而 shell 和 notebook 则被认为对熟悉它们的人来说更强大、更灵活。