Yaak - 데스크톱 API 클라이언트 치트시트
Yaak는 Tauri, Rust, React로 만들어진 현대적 오프라인 우선 데스크톱 API 클라이언트입니다. 빠르고 가벼운 앱에서 REST, GraphQL, gRPC, WebSocket, 서버 전송 이벤트 (SSE) 요청을 구성하고 실행합니다. 프라이버시 우선입니다: 텔레메트리 없음, 계정 불필요, 클라우드 종속성 없음. 워크스페이스는 일반 파일로 저장되므로 Git으로 동기화할 수 있으며, Postman/Insomnia에서 import를 지원하고 환경, 변수를 지원합니다.
설치
| 플랫폼 | 방법 |
|---|
| macOS | yaak.app에서 .dmg 다운로드 또는 brew install --cask yaak |
| Windows | yaak.app에서 설치 관리자 다운로드 |
| Linux | yaak.app에서 AppImage / .deb / .rpm |
| 검증 | 앱 실행; 도움말 → 정보에서 버전 확인 |
요청 유형
| 유형 | 사용 |
|---|
| REST / HTTP | 표준 API 요청 |
| GraphQL | 스키마 내 검사를 사용한 쿼리/변형 |
| gRPC | gRPC 서비스 호출 (반사 포함) |
| WebSocket | 양방향 소켓 연결 |
| SSE | 서버 전송 이벤트 스트림 |
핵심 개념
| 용어 | 의미 |
|---|
| Workspace | 요청/환경을 그룹화하는 프로젝트 |
| Folder | 워크스페이스 내 요청 구성 |
| Environment | 명명된 변수 세트 (dev/staging/prod) |
| Variable | ${[ name ]} 템플릿 요청 전체에서 사용 |
| Plain-file sync | 워크스페이스 데이터를 파일로 저장 → Git 친화적 |
요청 구축
| 요소 | 노트 |
|---|
| 메서드 + URL | 변수 템플릿 포함 |
| Query params | 키/값 편집기 |
| Headers | 키/값 편집기 |
| Body | JSON, form, GraphQL, binary, 기타 |
| Auth | Bearer, Basic, OAuth 2.0, API key |
환경 및 변수
| 기능 | 사용 |
|---|
| 환경 | 단계별 기본 URL/시크릿 전환 |
| 변수 | 임의 필드에서 ${[ var ]} 참조 |
| 동적 값 | 생성된 값 (타임스탬프, UUID) |
| 시크릿 | 설정된 경우 동기화된 일반 파일에서 제외 |
생산성 기능
| 기능 | 설명 |
|---|
| 응답 뷰어 | 예쁜 JSON, 헤더, 타이밍, 크기 |
| 히스토리 | 요청당 이전 응답 |
| Import | Postman, Insomnia, cURL, OpenAPI |
| 플러그인 | 플러그인 시스템을 통해 확장 |
| Git sync | 워크스페이스 파일을 버전 제어에 커밋 |
| 템플릿 | 이전 응답 참조로 체인 요청 |
gRPC 및 GraphQL 노트
| 프로토콜 | 기능 |
|---|
| gRPC | 서버 반사로 서비스/메서드 발견; 스트리밍 |
| GraphQL | 스키마 내 검사, 쿼리 빌더, 변수 |
일반적인 워크플로우
# Git 기반 동기화를 사용한 팀 워크플로우
1. 워크스페이스 생성; repo에 저장
2. 변수를 사용한 dev/staging/prod 환경 정의
3. ${[ base_url ]}를 사용하여 REST/GraphQL/gRPC 요청 구축
4. 일반 파일 커밋; 팀원이 동일한 컬렉션 획득
# 체인 요청
- 로그인 요청 전송, 응답에서 토큰 캡처
- 후속 권한 요청에서 변수로 참조
Yaak vs 다른 API 클라이언트
| 측면 | Yaak | Postman | ATAC | Bruno |
|---|
| 인터페이스 | 데스크톱 GUI | 데스크톱 GUI | 터미널 TUI | 데스크톱 GUI |
| 프로토콜 | REST/GraphQL/gRPC/WS/SSE | 광범위 | REST | REST/GraphQL |
| 텔레메트리 | 없음 | 예 | 없음 | 없음 |
| 저장소 | 일반 파일 (Git) | 클라우드/로컬 | 파일 | 파일 (Git) |
| 최고의 용도 | 프라이버시 우선 GUI, 다중 프로토콜 | 팀/클라우드 | 터미널 우선 | GUI + Git |
리소스