Yaak 最直白的结果就是:把 REST、GraphQL、WebSocket、SSE、gRPC 这些常见接口,都放到一个桌面客户端里能调通。安装后你可以在同一个界面里切换协议,不用再为不同接口风格跑好几个工具了。

这东西为什么会出现,得先把日常痛点交代清楚。团队里常见的场景是这样的:前端要跟后端要数据,后端有的用 REST,有的用 gRPC,实时消息靠 WebSocket 推送,接口文档又散落在 OpenAPI/Swagger,部署环境还要不停切换。大家各自用 Postman、Insomnia,一堆工具堆在手边,像是用勺子吃面条,还要拿筷子夹菜,烦得很。Mountain-Loop 团队把这些日常琐事看在眼里,做出了一个名叫 Yaak 的开源桌面应用,把这些接口调试聚合到一起。代码放在 GitHub,上面写得清楚,贡献以修 bug 为主,目标是让桌面用户能在遇到问题时自己动手解决。
这不是浏览器插件,而是一款桌面 App。它用的技术栈是 Tauri(底层 Rust,加上 Web 界面)和 React。换句话说,追求桌面程序的性能和跨平台支持,同时用 Web 做界面,扩展起来方便。实际用起来的体验就像把几个工具的优点都装进一个程序里:既要快,又要能跑在 Windows、macOS、Linux 上,还能靠插件扩展功能。

说点能直接上手的功能,细说别光看名字:
- 支持把 Postman、Insomnia、OpenAPI/Swagger、甚至 cURL 导进来,迁移门槛低。导入后可以检查路径和参数,少出错。

- 有工作区概念,工作区里能建嵌套文件夹,按模块、按项目把接口收好,团队分工更清晰。
- 支持 OAuth 2.0、JWT、Basic Auth 这些常见认证方式,能把 token 自动存起来供后续请求用。
- 环境变量能分 Dev/Test/Prod,base URL、client id、secret、token 都能用变量替换,切环境像换衣服那么简单。
- 内置模板标签,能自动插 UUID、时间戳,或者引用其他变量,构造请求少敲不少活儿。
- 响应支持用 JSONPath 或 XPath 抽字段,查数据不用翻很久的 json。
- 能把某个请求的返回当成下一个请求的输入,串成请求链。常见流程像:先登录拿 token,存变量,再去访问需要授权的接口。
- 工作区可以镜像到本地目录,支持 Git 或 Dropbox 同步,敏感字段还能加密,团队拿到的是接口定义但拿不到明文凭证。
- 有插件机制,认证、模板、脚本、代理都可以做成插件,遇到公司特殊认证流程就不用改主程序,写个插件接上就行。
- 注重本地数据安全,数据放本地并支持端到端加密,不上报遥测。
把上面这些功能放在一起,实则在日常工作里能省不少事。导入功能避免重复建接口,工作区和文件夹把接口逻辑化,环境变量和模板标签让测试流程更自动化,请求链能把原本手动串联的步骤脚本化,而把接口集合镜像到 Git,等于把接口当成代码来管理,便于回滚和审计。再加上插件机制,公司有特殊鉴权时能自己扩展,不用等官方出新版本。
讲个具体的上手流程,按真实操作顺序说清楚细节,别光看概念:
先去 Yaak 的 GitHub Releases 页面,挑对应系统的安装包(Windows、macOS、Linux 都有)。装好打开,先创建一个工作区,随意起名列如“项目A-接口集”。在工作区里建几个文件夹,按模块分,列如 Auth、User、Realtime。手里有 Postman 或 Insomnia 的集合,直接用导入菜单导进去,导完后逐条检查路径和参数,确保没有丢字段。
再建环境变量组,一组 Dev、一组 Test、一组 Prod。每组放 base URL、客户端 ID、密钥、token 之类的,接口里别写死地址,用变量占位,切环境的时候只要换变量就行。认证那儿选 OAuth2 或 JWT,按页面把回调、scope、token 存储位置填好。
新建个请求试试,GET /users,query 用变量替代,发一次看响应。用 JSONPath 快速抽出需要字段,如果要做请求链,先建登录接口,把响应里的 token 写脚本存为变量,然后后面的请求引用这个变量。整套流程跑通后,把工作区镜像到本地 Git 仓库,敏感字段选加密,这样别人拉代码能拿到接口定义但看不到明文凭证。
公司有自定义认证或模板需求,就用插件系统写个插件。插件能扩展认证流程、模版函数、脚本钩子或者代理配置。项目文档里有插件 API,按文档写上去就能接入。
谁会觉得这玩意儿划算?几类团队更容易受益:
- 之前靠 Postman 或 Insomnia,接口和文档分散,想统一工具链的人。
- 架构混杂 REST、GraphQL、gRPC、WebSocket 的项目,单一工具就能调多协议,少换工具。
- 想把接口调试从点点点改成脚本化、版本化流程的团队,请求链、环境变量和 Git 支持很实在。
- 对数据安全敏感或需要离线可用的团队,Yaak 把数据放本地、支持加密、不发遥测,符合合规需求。
当然也得说点现实问题:项目还年轻,生态不像老牌工具那样丰富,现成的插件和社区资源少一些。如果你目前的工具用得顺手、且依赖许多成熟插件,迁移得掂量成本。早期参与能把流程摆平并占点优势,但前期需要投入一些时间去配置和扩展。
许可证是 MIT,意味着企业里能放心用、改、发布,不会卡商业用途。如果想试,直接到 GitHub 拉最新 Release,导入你现有的 collection,按上面流程跑一遍登录拿 token 的场景,看看能不能顺利衔接。