大家好,我是狂师。
最近在Github上出现了一款号称要挑战Postman的霸主地位的项目- Yaak,且登上了Github 趋势榜(https://github.com/trending)首位。

它到底有何过人之处?咱们一起来瞅瞅!
1、项目介绍
Yaak 是一款现代化的、开源的 API 客户端,采用 MIT 开源许可。由 Mountain-Loop 团队开发,使用 Tauri(Rust + Web 技术)和 ReactJS 构建,是一款桌面 App,用于测试和调试各种类型的API,包括REST、GraphQL、Server-Sent Events (SSE)、WebSocket和gRPC。

2、核心亮点
1. 多协议支持
Yaak 支持多种协议,包括REST、GraphQL、gRPC、WebSocket和Server-Sent Events (SSE),满足不同开发者的需求。

以往开发者需要在多个工具之间来回切换,现在使用 Yaak,只需在一个客户端中就能完成所有协议接口的调试,大大减少了工具切换成本和熟悉不同 UI 的损耗。
2. 兼容多种工具
Yaak 可以从其他工具(如Postman、Insomnia、OpenAPI、Swagger)或直接通过Curl导入API集合,方便用户迁移和使用。

这一功能对于已经有大量接口调试文档的团队来说,具有极高的价值。假设一个团队之前一直使用 Postman 编写接口集合,积累了丰富的接口调试数据,如果要更换工具,重新创建这些接口集合将是一项巨大的工程。而有了 Yaak 的导入功能,团队可以无缝迁移这些已有资源,直接在 Yaak 中复用,无需重新从零开始创建。
3. 组织与协作
Yaak 支持把请求组织成 "工作区(workspace)" 和 "嵌套文件夹(nested folders)" 的形式。
开发者可以按照项目或模块,将 API 请求进行分组,创建清晰的项目结构。例如,在一个电商项目中,可以创建一个名为 "电商项目" 的工作区,在其中再创建 "用户模块""商品模块""订单模块" 等嵌套文件夹,将相应的 API 请求放入对应的文件夹中,这样团队成员在查找和管理接口时会更加方便,接口文档与测试逻辑也更加清晰有序。

工作区还可以镜像到文件系统,以便使用Git进行版本控制或与Dropbox等工具同步。
4. 身份验证与环境变量管理
在接口调试中,身份验证是必不可少的环节。Yaak 支持 OAuth 2.0、JWT Token、Basic Auth 等多种常见的身份验证方式,满足不同 API 的认证需求。

同时,它还支持环境变量,开发者可以方便地区分开发、测试、生产等不同环境的接口地址或凭证。通过设置环境变量,开发者可以轻松切换不同环境,而无需每次都手动修改接口地址。

5. 响应过滤、请求链支持
当接口返回大量数据时,快速定位关键信息至关重要。
Yaak 对响应体支持 JSONPath 或 XPath 查询过滤,开发者可以通过编写查询语句,快速从大量返回数据中定位到自己需要的字段。
此外,Yaak还支持 "请求链(chain multiple requests)" 功能,开发者可以把一条请求的响应值作为下一条请求的输入。在进行用户登录验证后,需要获取用户信息,就可以先发送登录请求,获取到 token 后,将 token 作为下一个获取用户信息请求的认证凭证,实现复杂的工作流。
6. 插件系统与可扩展性
不同的团队或公司可能有特殊的需求,Yaak 的插件系统很好地满足了这一点。开发者可以为身份验证、模板标签、脚本逻辑、代理配置等开发插件。
如果公司内部有独特的认证流程,无法通过现有的认证方式实现,就可以开发一个自定义认证插件来满足需求;如果需要自定义模板,以适应特定的业务场景,也可以通过插件系统来实现。

插件开发,需要安装
npm install -g @yaakapp/cli
yaakcli generate
这种可扩展性使得 Yaak 能够更好地适应各种复杂的开发环境,为开发者提供了更多的灵活性。
3、快速上手
1. 安装下载
访问快捷导航网站(https://kjdaohang.com),站内搜索Yaak,点击直达链接

下载对应操作系统(Windows、macOS、Linux)的安装包,像安装普通软件一样完成安装即可。也可以通过源码编译,适合喜欢折腾的开发者。

2. 基本使用流程
-
创建工作区:打开 Yaak,首次启动时,点击 "新建工作区",输入一个有意义的名称,比如 "我的项目 API",工作区就创建好了。
-
导入已有接口数据:如果之前使用过 Postman、Insomnia 等工具,有现成的接口集合,可以点击 "文件" - "导入",选择对应的文件格式,将接口数据导入到 Yaak 中。导入后,仔细检查每个接口的路径、参数等信息,确保准确无误。

-
发送请求:在工作区中选择一个接口,根据接口的要求填写请求 URL、请求方法(如 GET、POST 等)、请求头和请求体等信息。如果接口需要身份验证,在 "身份验证" 选项卡中选择合适的认证方式,如 OAuth 2.0、JWT Token 等,并填写相应的认证信息。点击 "发送" 按钮,即可发送请求,查看响应结果。

- 管理环境变量:点击 "环境变量" 按钮,创建不同的环境,如开发环境、测试环境、生产环境等。在每个环境中设置对应的变量,如接口地址、密钥等。在发送请求时,可以通过切换环境变量,轻松切换不同环境的接口配置。

- 使用请求链:当需要进行多个有依赖关系的请求时,比如先登录获取 token,再使用 token 访问其他接口。在第一个请求(登录请求)的响应处理中,将 token 提取出来保存为变量,在后续的请求中,通过引用该变量来设置认证信息,实现请求链的功能。

4、小结
Yaak是一款非常有态度的开源API工具。它没有盲目追求大而全的"平台化",而是回归工具本质,聚焦于为开发者提供一个快速、安全、可控且体验卓越的API调试环境。尤其适合那些重视隐私数据安全、追求极致性能、并希望用Git等现代开发流程来管理API资源的个人开发者或团队。