Yaak - デスクトップ API クライアント チートシート
Yaak は Tauri、Rust、React で構築された最新の オフラインファースト デスクトップ API クライアント。REST、GraphQL、gRPC、WebSocket、Server-Sent Events (SSE) リクエストを高速、軽量アプリで整理・実行し、プライバシーファースト: テレメトリなし、アカウント不要、クラウドロックインなし。ワークスペースは平ファイルとして保存されるため Git で同期可能で、Postman/Insomnia からのインポートをサポート。
インストール
| プラットフォーム | 方法 |
|---|
| macOS | yaak.app から .dmg をダウンロード、または brew install --cask yaak |
| Windows | yaak.app からインストーラーをダウンロード |
| Linux | AppImage / .deb / .rpm from yaak.app |
| 確認 | アプリを起動; Help → About でバージョン確認 |
リクエストタイプ
| タイプ | 用途 |
|---|
| REST / HTTP | 標準 API リクエスト |
| GraphQL | スキーマ イントロスペクション付きクエリ/ミューテーション |
| gRPC | gRPC サービス呼び出し (リフレクション付き) |
| WebSocket | 双方向ソケット接続 |
| SSE | Server-Sent Events ストリーム |
コア概念
| 用語 | 意味 |
|---|
| ワークスペース | リクエスト/環境をグループするプロジェクト |
| フォルダ | ワークスペース内のリクエスト整理 |
| 環境 | 名前付き変数セット (dev/staging/prod) |
| 変数 | ${[ name ]} テンプレート リクエスト全体で使用 |
| 平ファイル同期 | ワークスペース データをファイルとして保存 → Git フレンドリー |
リクエスト構築
| エレメント | 注記 |
|---|
| メソッド + URL | 変数テンプレート付き |
| クエリパラメータ | キー/値エディタ |
| ヘッダー | キー/値エディタ |
| ボディ | JSON, フォーム, GraphQL, バイナリ、等 |
| 認証 | Bearer, Basic, OAuth 2.0, API キー |
環境と変数
| 機能 | 用途 |
|---|
| 環境 | ベース URL/シークレット をステージ間で切り替え |
| 変数 | 任意のフィールドで ${[ var ]} で参照 |
| 動的値 | 生成値 (タイムスタンプ, UUID) |
| シークレット | 同期平ファイルから除外される設定方法で保管 |
生産性機能
| 機能 | 説明 |
|---|
| レスポンス ビューアー | プリティ JSON, ヘッダー, 時刻, サイズ |
| 履歴 | リクエスト当たり前のレスポンス |
| インポート | Postman, Insomnia, cURL, OpenAPI |
| プラグイン | プラグインシステム経由で拡張 |
| Git 同期 | ワークスペース ファイルをバージョン管理にコミット |
| テンプレート | 前のレスポンス参照でリクエストをチェーン |
gRPC と GraphQL 注記
| プロトコル | 能力 |
|---|
| gRPC | サービス/メソッド検出にサーバーリフレクション; ストリーミング |
| GraphQL | スキーマ イントロスペクション、クエリビルダー, 変数 |
一般的なワークフロー
# Git ベース同期でチームワークフロー
1. ワークスペース作成; リポで保存
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 |
リソース