DEV Community

Cover image for Yaak là gì?
Sebastian Petrus
Sebastian Petrus

Posted on • Originally published at apidog.com

Yaak là gì?

Yaak là một ứng dụng khách API máy tính để bàn mã nguồn mở, ưu tiên cục bộ, dùng để kiểm thử và xây dựng API. Nó hỗ trợ REST, GraphQL, gRPC, WebSocket và Server-Sent Events. Dự án được tạo bởi Gregory Schier, nhà phát triển đã xây dựng Insomnia ban đầu, với một triết lý rõ ràng: request của bạn nằm trên máy tính của bạn, trong các tệp văn bản thuần túy, không bắt buộc tài khoản và không bị khóa vào cloud.

Dùng thử Apidog ngay hôm nay

Nếu bạn tìm kiếm “Yaak” và thấy bản đồ vùng nông thôn Montana, đó là một kết quả khác. Yaak, Montana là một cộng đồng chưa hợp nhất gần biên giới Canada. Bài viết này nói về Yaak, ứng dụng khách API tại yaak.app.

Bài viết này tập trung vào cách dùng Yaak trong workflow thực tế: lưu request theo file, quản lý bằng Git, kiểm thử nhiều giao thức, chạy request ngoài GUI và xác định khi nào nên dùng Yaak cùng một nền tảng thiết kế API như Apidog.

Câu chuyện nguồn gốc: được xây dựng bởi người tạo ra Insomnia

Gregory Schier đã xây dựng Insomnia ban đầu, một trong những ứng dụng khách API phổ biến trong thập niên 2010. Sau đó, Kong mua lại Insomnia. Theo thời gian, công cụ này chuyển dần sang mô hình “làm mọi thứ” và yêu cầu tài khoản, điều mà nhiều người dùng lâu năm không thích.

Yaak là nỗ lực thứ hai của Schier, được xây dựng với cách tiếp cận khác:

  • độc lập;
  • mã nguồn mở theo giấy phép MIT;
  • ưu tiên lưu trữ cục bộ;
  • không yêu cầu tài khoản để gửi request;
  • không ép người dùng vào đồng bộ cloud.

Điểm quan trọng: Yaak không cố trở thành một nền tảng vòng đời API đầy đủ. Nó tập trung vào việc trở thành một API client nhanh, riêng tư và dễ quản lý bằng file.

Ưu tiên cục bộ và hỗ trợ Git theo thiết kế

Khác biệt lớn nhất của Yaak nằm ở cách nó lưu dữ liệu. Workspace, environment và request nằm trên hệ thống tệp của bạn. Ứng dụng có thể hoạt động ngoại tuyến, không cần đăng nhập và không bắt buộc đồng bộ cloud.

Trong thực tế, điều này giúp bạn quản lý request giống như mã nguồn.

Ví dụ, một repo có thể tổ chức như sau:

my-service/
├── src/
├── tests/
├── yaak/
│   ├── workspace/
│   ├── environments/
│   └── requests/
└── README.md
Enter fullscreen mode Exit fullscreen mode

Bạn có thể commit các file request vào Git:

git add yaak/
git commit -m "Add API requests for user service"
Enter fullscreen mode Exit fullscreen mode

Khi một developer thay đổi endpoint, header hoặc body, thay đổi đó có thể được review trong pull request như các thay đổi code khác.

Một workflow thực tế:

  1. Tạo hoặc import request trong Yaak.
  2. Lưu workspace trong thư mục dự án.
  3. Commit các file request vào Git.
  4. Review thay đổi request trong pull request.
  5. Chạy lại request sau khi merge để xác nhận API vẫn hoạt động.

Cách này phù hợp với các nhóm đã dùng Git hằng ngày. Bạn không cần một dịch vụ đồng bộ riêng chỉ để chia sẻ request. API request có thể được version cùng với phần code gọi API đó.

Nếu muốn so sánh cách tiếp cận này với các công cụ tương tự, xem thêm bài tổng quan về các ứng dụng khách API hỗ trợ Git.

Yaak cũng được xây dựng bằng Tauri, Rust và React, giúp ứng dụng máy tính để bàn gọn và phản hồi nhanh. Các thao tác cơ bản không phụ thuộc vào vòng lặp request tới server từ xa.

Các giao thức mà Yaak hỗ trợ

Yaak không chỉ dùng cho REST. Nó hỗ trợ các giao thức phổ biến trong backend hiện đại:

  • REST và HTTP: tạo request, đặt header, body, query parameter và đọc response.
  • GraphQL: viết query có nhận thức về schema thay vì chỉ gửi payload thô.
  • gRPC: gọi trực tiếp service gRPC, hữu ích trong microservice và hệ thống nội bộ.
  • WebSocket: mở kết nối và trao đổi message cho tính năng thời gian thực.
  • Server-Sent Events (SSE): nhận event stream từ server qua một kết nối HTTP.

Ví dụ một request REST đơn giản có thể bắt đầu từ curl:

curl -X POST https://api.example.com/users \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer <token>" \
  -d '{
    "name": "An",
    "email": "an@example.com"
  }'
Enter fullscreen mode Exit fullscreen mode

Bạn có thể import các request kiểu này vào Yaak thay vì tạo lại thủ công.

Yaak cũng hỗ trợ các cơ chế xác thực thường gặp:

  • OAuth 2.0;
  • AWS Signature v4;
  • JWT;
  • các thiết lập xác thực tùy chỉnh.

Ngoài ra, Yaak có thể import từ Postman, Insomnia, OpenAPI, Swagger và curl. Điều này giúp bạn chuyển workflow hiện có sang Yaak mà không phải bắt đầu lại từ đầu.

Phạm vi giao thức này đặt Yaak vào cùng nhóm với các ứng dụng khách API REST đầy đủ tính năng, với lợi thế là chạy ngoại tuyến theo mặc định.

CLI đi kèm cho tự động hóa và các tác nhân

GUI hữu ích khi bạn đang khám phá API, nhưng nhiều workflow cần chạy request ngoài ứng dụng desktop. Yaak có CLI đồng hành để chạy các request đã lưu.

Các trường hợp dùng chính:

  1. CI/CD

    Chạy request trong pipeline để kiểm tra API sau mỗi thay đổi.

  2. Script nội bộ

    Dùng request đã lưu trong script thay vì copy lại curl command rời rạc.

  3. Workflow có AI agent

    CLI giúp agent gọi các request đã lưu theo cách lập trình được.

Ví dụ pipeline có thể được tổ chức theo hướng sau:

name: API checks

on:
  pull_request:
  push:
    branches:
      - main

jobs:
  api-checks:
    runs-on: ubuntu-latest

    steps:
      - uses: actions/checkout@v4

      - name: Install Yaak CLI
        run: |
          # Cài đặt theo hướng dẫn chính thức của Yaak
          yaak --help

      - name: Run saved API requests
        run: |
          # Chạy request đã lưu bằng Yaak CLI
          # Xem cú pháp hiện tại bằng: yaak --help
          yaak --help
Enter fullscreen mode Exit fullscreen mode

Đây là mẫu triển khai, không phải cú pháp cố định cho mọi phiên bản. Khi áp dụng thực tế, hãy kiểm tra lệnh hiện tại bằng:

yaak --help
Enter fullscreen mode Exit fullscreen mode

Trước đây, Yaak từng phát hành một plugin máy chủ MCP thử nghiệm để các trợ lý như Claude và Cursor có thể kiểm tra và gửi request. Nhóm Yaak đã ngừng hỗ trợ plugin MCP đó và hiện khuyến nghị dùng CLI cho workflow do agent điều khiển.

Điểm cần nhớ: request bạn xây dựng trong GUI không bị khóa trong GUI. Chúng có thể được dùng trong script, pipeline hoặc vòng lặp tự động hóa.

Giá cả và cấp phép

Yaak có sự phân tách rõ giữa mã nguồn mở, sử dụng cá nhân và sử dụng thương mại.

  • Mã nguồn được cấp phép MIT.
  • Bạn có thể xem, sửa đổi, build và chạy mã nguồn.
  • Điều khoản cấp phép áp dụng cho binary dựng sẵn, không phải chính mã nguồn.
  • Yaak miễn phí cho mục đích sử dụng cá nhân.
  • Cần giấy phép trả phí khi dùng trong công việc thương mại hoặc môi trường tạo doanh thu.
  • Ứng dụng cung cấp bản dùng thử 30 ngày khi khởi chạy lần đầu mà không yêu cầu thẻ tín dụng.

Giá có thể thay đổi, vì vậy hãy kiểm tra yaak.app/pricing trước khi quyết định dùng cho nhóm hoặc doanh nghiệp.

Mô hình này phù hợp với developer độc lập, sinh viên và người dùng cá nhân cần một API client ngoại tuyến đầy đủ tính năng.

Yaak dành cho ai

Yaak phù hợp nếu bạn muốn:

  • API client desktop nhanh;
  • chạy được ngoại tuyến;
  • không bắt buộc tạo tài khoản;
  • lưu request dưới dạng file;
  • quản lý request bằng Git;
  • tránh đồng bộ cloud bắt buộc;
  • dùng REST, GraphQL, gRPC, WebSocket hoặc SSE trong cùng một công cụ.

Nó đặc biệt phù hợp khi quyền riêng tư là yêu cầu quan trọng. Vì không có đồng bộ cloud bắt buộc và không thu thập dữ liệu từ xa, request của bạn không rời khỏi máy tính theo mặc định.

Một quy trình thực tế với Yaak có thể là:

Developer tạo request trong Yaak
        ↓
Commit file request vào Git
        ↓
Team review thay đổi trong pull request
        ↓
CI chạy request bằng CLI
        ↓
Merge khi API hoạt động đúng
Enter fullscreen mode Exit fullscreen mode

Nếu bạn đang đánh giá các công cụ trong nhóm này, Yaak xứng đáng nằm trong danh sách các lựa chọn thay thế Postmancác ứng dụng khách API ngoại tuyến. Nó cũng là điểm so sánh tự nhiên với Insomnia gốc, được đề cập trong bài Apidog vs Insomnia, và với Bruno, một API client ưu tiên cục bộ, hỗ trợ Git khác trong bài Apidog vs Bruno.

Nơi một nền tảng thiết kế ưu tiên phù hợp với Yaak

Yaak mạnh ở vai trò API client cục bộ, gọn, nhanh và thân thiện với Git. Nó không cố trở thành một nền tảng vòng đời API đầy đủ.

Nếu workflow của bạn chỉ là gửi request, debug response và lưu collection bằng file, Yaak là lựa chọn hợp lý.

Nếu workflow bao gồm thêm các bước sau, bạn có thể cần một nền tảng khác:

  • thiết kế API trước khi implement;
  • quản lý hợp đồng OpenAPI;
  • mocking API cho frontend hoặc QA;
  • viết và chạy kịch bản kiểm thử;
  • xuất bản tài liệu tương tác;
  • cộng tác nhóm trong workspace dùng chung;
  • chạy test API trong CI.

Apidog là một nền tảng API tất cả trong một cho lớp chất lượng API: thiết kế, kiểm thử, mocking và tài liệu hóa hợp đồng. Bạn có thể thiết kế API trong trình chỉnh sửa OpenAPI trực quan với hỗ trợ phân nhánh, chạy kịch bản kiểm thử tự động với xác nhận trực quan, tạo mock server động không cần code và xuất bản tài liệu tương tác. Apidog CLI cũng có thể chạy các kịch bản kiểm thử đã lưu trong CI.

Apidog chạy dưới dạng ứng dụng desktop trên Windows, Mac và Linux, cùng với ứng dụng web. Nó hỗ trợ REST, GraphQL, gRPC, WebSocket, SOAP và Socket.IO. Nó không phải CMS, API gateway hoặc công cụ tạo tải; trọng tâm của nó là chất lượng API.

Cách chọn thực tế:

Nhu cầu Công cụ phù hợp
API client nhanh, offline, lưu bằng file Yaak
Quản lý request bằng Git Yaak
Thiết kế API theo OpenAPI Apidog
Mock server không cần code Apidog
Tài liệu API tương tác Apidog
Kiểm thử API trong CI Yaak CLI hoặc Apidog CLI, tùy workflow
Cộng tác nhóm theo workspace Apidog

Hai công cụ này có thể cùng tồn tại trong một tổ chức kỹ thuật. Ví dụ, một nhóm có thể dùng Apidog để thiết kế, mock, test và xuất bản tài liệu API, trong khi một số developer dùng Yaak như API client cục bộ hằng ngày.

Câu hỏi thường gặp

Yaak có miễn phí không?

Có, cho mục đích sử dụng cá nhân. Yaak miễn phí cho người dùng cá nhân và mã nguồn mở theo giấy phép MIT. Cần giấy phép trả phí khi dùng cho mục đích thương mại tại nơi làm việc. Hãy kiểm tra yaak.app/pricing để biết gói hiện tại.

Yaak có phải là mã nguồn mở không?

Có. Yaak là mã nguồn mở theo giấy phép MIT. Bạn có thể xem, sửa đổi, build và tự chạy mã nguồn. Các điều khoản cấp phép áp dụng cho binary thương mại dựng sẵn, không phải chính mã nguồn.

Ai đã tạo ra Yaak?

Gregory Schier đã tạo ra Yaak. Ông là nhà phát triển đã xây dựng Insomnia ban đầu trước khi Kong mua lại. Yaak là nỗ lực độc lập tiếp theo của ông để xây dựng một API client nhanh, riêng tư và ưu tiên cục bộ.

Yaak hỗ trợ những giao thức nào?

Yaak hỗ trợ REST và HTTP, GraphQL, gRPC, WebSocket và Server-Sent Events. Nó cũng xử lý các cơ chế xác thực phổ biến như OAuth 2.0, AWS Signature v4 và JWT, đồng thời có thể import từ Postman, Insomnia, OpenAPI, Swagger và curl.

Yaak có hoạt động ngoại tuyến không?

Có. Yaak ưu tiên cục bộ và có thể hoạt động hoàn toàn ngoại tuyến. Request của bạn nằm trên hệ thống tệp của bạn, không có tài khoản bắt buộc và không đồng bộ cloud bắt buộc. Để xem thêm lựa chọn, tham khảo danh sách ứng dụng khách API miễn phí.

Yaak có liên quan đến Yaak, Montana không?

Không. Yaak, Montana là một địa điểm gần biên giới Canada. Yaak, ứng dụng khách API, là phần mềm tại yaak.app. Chúng chỉ trùng tên.

Top comments (0)