Yaak - Cliente API de Escritorio
Yaak es un cliente API de escritorio sin conexión moderno construido con Tauri, Rust y React. Organiza y ejecuta solicitudes REST, GraphQL, gRPC, WebSocket y Server-Sent Events (SSE) en una aplicación rápida y ligera que es prioritaria de privacidad: sin telemetría, sin cuenta requerida, y sin bloqueo en la nube. Los espacios de trabajo se almacenan como archivos planos, así que puedes sincronizarlos con Git, y soporta ambientes, variables, e importación de Postman/Insomnia.
Instalación
| Plataforma | Método |
|---|
| macOS | Descargar el .dmg de yaak.app, o brew install --cask yaak |
| Windows | Descargar el instalador de yaak.app |
| Linux | AppImage / .deb / .rpm de yaak.app |
| Verificar | Lanzar la aplicación; comprobar Ayuda → Acerca de para versión |
Tipos de Solicitud
| Tipo | Uso |
|---|
| REST / HTTP | Solicitudes de API estándar |
| GraphQL | Consultas/mutaciones con introspección de esquema |
| gRPC | Llamar servicios gRPC (con reflexión) |
| WebSocket | Conexiones de socket bidireccionales |
| SSE | Flujos de Server-Sent Events |
Conceptos Principales
| Término | Significado |
|---|
| Espacio de trabajo | Un agrupamiento de proyecto de solicitudes/ambientes |
| Carpeta | Organiza solicitudes dentro de un espacio de trabajo |
| Ambiente | Conjunto nombrado de variables (dev/staging/prod) |
| Variable | Plantilla ${[ name ]} usada a través de solicitudes |
| Sincronización de archivos planos | Datos de espacio de trabajo almacenados como archivos → Compatible con Git |
Construyendo Solicitudes
| Elemento | Notas |
|---|
| Método + URL | Con templating de variables |
| Parámetros de consulta | Editor de clave/valor |
| Encabezados | Editor de clave/valor |
| Cuerpo | JSON, formulario, GraphQL, binario, etc. |
| Autenticación | Bearer, Basic, OAuth 2.0, Clave API |
Ambientes y Variables
| Característica | Uso |
|---|
| Ambientes | Cambiar URLs base/secretos por etapa |
| Variables | Referencia con ${[ var ]} en cualquier campo |
| Valores dinámicos | Valores generados (marcas de tiempo, UUIDs) |
| Secretos | Mantenidos fuera de archivos planos sincronizados cuando está configurado |
Características de Productividad
| Característica | Descripción |
|---|
| Visor de respuesta | JSON bonito, encabezados, tiempo, tamaño |
| Historial | Respuestas previas por solicitud |
| Importar | Postman, Insomnia, cURL, OpenAPI |
| Plugins | Extender a través de un sistema de plugins |
| Sincronización Git | Confirmar los archivos del espacio de trabajo al control de versiones |
| Templating | Encadenar solicitudes referenciando respuestas previas |
Notas de gRPC y GraphQL
| Protocolo | Capacidad |
|---|
| gRPC | Reflexión del servidor para descubrir servicios/métodos; streaming |
| GraphQL | Introspección de esquema, constructor de consultas, variables |
Flujos de Trabajo Comunes
# Flujo de trabajo de equipo con sincronización basada en Git
1. Crear un espacio de trabajo; almacenarlo en tu repo
2. Definir ambientes dev/staging/prod con variables
3. Construir solicitudes REST/GraphQL/gRPC usando ${[ base_url ]}
4. Confirmar los archivos planos; los compañeros pullan y obtienen la misma colección
# Encadenar solicitudes
- Enviar una solicitud de inicio de sesión, capturar el token de la respuesta
- Referenciarla como una variable en solicitudes autorizadas posteriores
Yaak vs Otros Clientes API
| Aspecto | Yaak | Postman | ATAC | Bruno |
|---|
| Interfaz | GUI Escritorio | GUI Escritorio | TUI Terminal | GUI Escritorio |
| Protocolos | REST/GraphQL/gRPC/WS/SSE | Amplio | REST | REST/GraphQL |
| Telemetría | Ninguna | Sí | Ninguna | Ninguna |
| Almacenamiento | Archivos planos (Git) | Nube/local | Archivos | Archivos (Git) |
| Mejor para | GUI prioritaria de privacidad, multi-protocolo | Equipos/nube | Terminal-first | GUI + Git |
Recursos