ネイティブで軽快
GPU でレンダリングされるネイティブウィンドウです。Electron でも Tauri でも WebView でもありません。macOS・Linux・Windows で同じ画面、ダウンロードは約 16 MB。

オープンソース · Apache-2.0
Rust + GPUI で作られた、ネイティブなクロスプラットフォーム HTTP API クライアント
GPU レンダリング · 軽量 · アカウント不要 · データはすべて手元に · No Electron, No Tauri, No WebView
macOS · Windows · Linux

ここに書いてあるのは、GetCat が今できることだけです。ロードマップを機能として並べてはいません。
GPU でレンダリングされるネイティブウィンドウです。Electron でも Tauri でも WebView でもありません。macOS・Linux・Windows で同じ画面、ダウンロードは約 16 MB。
ストリーミング受信、進捗表示、いつでもキャンセル。メインスレッドが O(n) の処理をしないため、数百 MB の JSON でもウィンドウが固まりません。
7 つのメソッド、説明欄つきの Path / Query / ヘッダーの各テーブル、raw JSON からストリーミングのファイルアップロードまでのボディ形式。
履歴を残さず、レスポンスも保存せず、どこにもアップロードしません。保存したリクエストや設定は、手で編集でき Git でも管理できる整形済み JSON ファイルです。
各タブの下書きは自動でディスクに書かれ、再起動後に復元されます。タブの順序、分割方向、テーマの設定も記憶します。
テーマと言語は OS に追従し、固定もできます。タイトルバーは自前描画なので 3 つのプラットフォームで見た目が揃います。すべてのコントロールにアクセシブル名があり、スクリーンリーダーで使えます。
アプリの表示言語は English と简体中文 です。
リクエストを形づくるのに必要なものが一通りと、GetCat が実際に送信する内容とぴったり一致するワンクリック書き出し。
URL のどこかに {name} と書けば、自動的に Path パラメータの表に現れます。
{name} プレースホルダから自動生成されます。cURL、cURL (Windows)、Python requests をワンクリックでコピー。生成器はリクエスト送信と同じ組み立てロジックを使うので、コピーしたコードは GetCat が送るはずだったリクエストそのものです。
curl -X POST 'https://api.anthropic.com/v1/messages' \
-H 'x-api-key: YOUR_API_KEY' \
-H 'anthropic-version: 2023-06-01' \
-H 'Content-Type: application/json' \
-d '{"model":"claude-opus-5","max_tokens":1024,"messages":[{"role":"user","content":"Hello"}]}'import requests
url = "https://api.anthropic.com/v1/messages"
payload = "{\"model\":\"claude-opus-5\",\"max_tokens\":1024,\"messages\":[{\"role\":\"user\",\"content\":\"Hello\"}]}"
headers = {
"x-api-key": "YOUR_API_KEY",
"anthropic-version": "2023-06-01",
"Content-Type": "application/json"
}
response = requests.request("POST", url, data=payload, headers=headers)
print(response.text)TLS・リダイレクト・タイムアウトの指定は意図的に出力しません。あれらは GetCat の設定であって、リクエストそのものではないからです。
レスポンスの見せ方はサイズによって変わります。メインスレッドが O(n) の処理を求められることは決してありません。
| 段階 | 条件 | 表示方法 |
|---|---|---|
| ハイライト付きエディタ | 5 MB 以下かつ 200,000 行以下 | 完全なシンタックスハイライト、行番号、折りたたみ、レスポンス内検索。 |
| 行単位の仮想化 | 64 MB 以下 | プレーンテキストを行ごとに描画し、画面に見える範囲だけレイアウトします。 |
| ディスクへ退避 | 64 MB 超 | 一時ファイルに書き出し、先頭 1 MiB と要約だけをプレビュー。ワンクリックで保存も外部アプリで開くこともできます。 |
受信中: 受信済みバイト数と全体サイズを約 33 ms ごとに更新して表示し、どの時点でもキャンセルできます。
Body とヘッダーの隣に「証明書」タブがあります。GetCat は相手側のリーフ証明書をオフラインで解析し、読み取った内容を表示します。
TLS 検証は既定でオフです。自己署名証明書のローカル環境に手間なくつなげるようにするためです。リクエストはそのまま送信され、GetCat は証明書をオフラインで解析して上の 4 つを警告します。設定で検証を有効にすると、不正な証明書ではハンドシェイクが中断されます。
ワンクリックで URL・認証ヘッダー・本文が入ったタブができます。本当の価値は下のマルチモーダルの形にあります。3 つの API は互いに互換性がありません。
OpenAI Chat Completions、OpenAI Responses、Anthropic Messages。それぞれテキストのみと画像つきの 2 種類。
送信前に YOUR_API_KEY を置き換えてください。GetCat には変数や環境の仕組みがありません。
POST https://api.openai.com/v1/chat/completions
{
"model": "gpt-5.6",
"messages": [
{
"role": "user",
"content": [
{ "type": "text", "text": "What is in this image?" },
{
"type": "image_url",
"image_url": {
"url": "https://example.com/cat.jpg",
"detail": "auto"
}
}
]
}
],
"max_completion_tokens": 1024
}画像ブロックは image_url で、image_url は url と detail を持つオブジェクトです。トークン上限のフィールドは max_tokens ではなく max_completion_tokens。
POST https://api.openai.com/v1/responses
{
"model": "gpt-5.6",
"input": [
{
"role": "user",
"content": [
{ "type": "input_text", "text": "What is in this image?" },
{
"type": "input_image",
"image_url": "https://example.com/cat.jpg"
}
]
}
],
"max_output_tokens": 1024
}Responses ではコンテンツブロックが input_text と input_image に改名され、image_url はオブジェクトではなく文字列そのものになります。上限は max_output_tokens。
POST https://api.anthropic.com/v1/messages
{
"model": "claude-opus-5",
"max_tokens": 1024,
"messages": [
{
"role": "user",
"content": [
{
"type": "image",
"source": {
"type": "url",
"url": "https://example.com/cat.jpg"
}
},
{ "type": "text", "text": "What is in this image?" }
]
}
]
}Anthropic は image と source オブジェクトを使います。max_tokens は必須で、公式の推奨どおり画像ブロックをテキストブロックより前に置きます。
データベースもクラウドもアカウントもありません。GetCat が覚えていることは、すべて開いて編集してコミットできる JSON ファイルです。
| プラットフォーム | ディレクトリ |
|---|---|
| macOS | ~/Library/Application Support/GetCat/ |
| Linux | $XDG_DATA_HOME/getcat/ |
| Windows | %APPDATA%\GetCat\data\ |
| 操作 | macOS | Windows / Linux |
|---|---|---|
| 送信 | ⌘ Enter | Ctrl Enter |
| 新しいタブ | ⌘ T | Ctrl T |
| タブを閉じる | ⌘ W | Ctrl W |
| サイドバーの開閉 | ⌘ B | Ctrl B |
| リクエストを保存 | ⌘ S | Ctrl S |
| レスポンス内を検索 | ⌘ F | Ctrl F |
| 設定 | ⌘ , | Ctrl , |
書き込みはアトミックです。一時ファイルを作って置き換えるので、クラッシュしても半端なファイルは残りません。解析に失敗したファイルは .corrupt-<時刻> に改名されスキップされます。Authorization などのヘッダーは平文で保存されます。Postman や Insomnia のローカル DB と同じ扱いで、Unix では 0600 のパーミッションです。
ダウンロードする前に分かるように、そして他のツールから類推して誤解しないように、ここに挙げておきます。
リクエスト履歴 · 環境変数と変数展開 · スクリプトとテストアサーション · 専用の認証パネル · Cookie 管理 · フォルダツリー · GraphQL・WebSocket・gRPC · チーム同期とクラウドアカウント
すべてのビルドは GitHub Releases にあります。リンクは常に最新版を指します。
macOS · Apple Silicon
GetCat-macos-arm64.dmg
macOS · Intel
GetCat-macos-x64.dmg
Windows · x64 · インストーラー
GetCat-windows-x64.msi
Windows · x64 · ポータブル
GetCat-windows-x64.exe
Linux · x64
GetCat-linux-x64.tar.gz
署名・公証済みです。「アプリケーション」にドラッグしてください。
MSI はユーザー単位でインストールされ、管理者権限は不要、スタートメニューから起動できます。ポータブル版 exe はどこに置いても動き、レジストリには何も書きません。
展開してバイナリを PATH に置いてください。.desktop ファイルを 1 つ足せばランチャーにも並びます。コマンドは下記のとおりです。
tar -xzf GetCat-linux-x64.tar.gz
install -Dm755 getcat ~/.local/bin/getcat
mkdir -p ~/.local/share/applications
cat > ~/.local/share/applications/getcat.desktop <<EOF
[Desktop Entry]
Type=Application
Name=GetCat
Exec=$HOME/.local/bin/getcat
Categories=Development;
EOFWindows 版はまだコード署名されていないため、初回起動時に SmartScreen が止めます。「詳細情報」→「実行」を選んでください。
GetCat は起動 5 秒後に GitHub Releases を 1 回だけ確認し、自分から何かをダウンロードすることはありません。更新を選ぶと、SHA-256 と minisign 署名の両方で検証してからインストールします。
すべてのバージョンとリリースノートGetCat は GPU で描画するので、CPU よりグラフィックス周りが重要です。
Apple Silicon と Intel の両方に対応。ディスクイメージは署名・公証済みです。
Windows 10 バージョン 1803(2018 年 4 月更新)以降、または Windows 11。描画は Direct3D 11 の feature level 10.1 で、おおよそ 2010 年以降の GPU なら動きます。DirectX 12 は不要です。
2022 年以降の主要なデスクトップディストリビューション:Ubuntu 22.04+、Debian 12+、Fedora 36+、Linux Mint 21+、openSUSE Leap 15.6+、および Arch などのローリングリリース。下限は glibc 2.35 なので、Ubuntu 20.04、Debian 11、RHEL 9 系では動きません。
画面は Vulkan で描画されます。ウィンドウが真っ黒なら、まず vulkaninfo --summary でドライバを確認し、GPU に応じたパッケージを入れてください。
| GPU | パッケージ |
|---|---|
| Mesa | mesa-vulkan-drivers |
| Intel | vulkan-intel |
| AMD | vulkan-radeon |
| NVIDIA | nvidia-driver |
nouveau は Vulkan に対応していないため、NVIDIA では専有ドライバが必要です。仮想マシン内では lavapipe のソフトウェアレンダリングにフォールバックします。動きますが低速です。
GetCat は絞り込んだサブセットです。アカウント、クラウド同期、コレクション、環境変数、スクリプトはいずれもありません。代わりに、すぐ起動して、すべてのバイトが手元に残り、非常に大きなレスポンスでも詰まらない 16 MB のネイティブアプリが手に入ります。チーム連携やテストスイートが必要なら、Postman や Insomnia のほうが適しています。
GetCat は Rust で書かれ、Zed エディタと同じ UI フレームワークである GPUI の上に構築されています。ウィンドウはブラウザエンジンではなく GPU が直接描画します。それがダウンロードサイズを約 16 MB に保ち、数百 MB が流れ込んでいる最中でもレスポンス欄を操作できる理由です。通信は Tokio ランタイムで動き、結果はチャネル経由で UI スレッドに戻るため、メインスレッドが O(n) の処理をすることはありません。
アップロードされません。テレメトリも、アカウントも、同期もありません。保存されたリクエスト・下書き・設定は、プラットフォームのデータディレクトリにある整形済み JSON ファイルで、手で編集しても Git に入れても構いません。Authorization などのヘッダー値は平文で保存されます。Postman や Insomnia のローカル DB と同じ扱いで、Unix では 0600 のパーミッションです。
開発中によくある「自己署名証明書のローカル環境を叩く」がそのまま動くようにするためです。リクエストは通常どおり送信され、GetCat は相手の証明書をオフラインで解析して、期限切れ・まだ有効でない・ホスト名不一致・信頼チェーンのない自己署名を警告します。設定で検証を有効にすれば厳格な動作に戻り、不正な証明書ではハンドシェイクが中断されます。
いずれも未対応で、現在の路線では予定もありません。変数展開、リクエスト前後のスクリプト、アサーションの実行、Cookie の保管、フォルダツリー、共有ワークスペースはありません。繰り返しのリクエストはテンプレートでカバーし、それ以外はアプリを小さく予測可能に保つために意図的に省いています。
画面は Vulkan で描画されるので、真っ黒な場合はほぼ Vulkan ドライバの不足です。vulkaninfo --summary で確認し、GPU に応じて mesa-vulkan-drivers、vulkan-intel、vulkan-radeon のいずれかを入れてください。NVIDIA では専有ドライバが必要です(nouveau は Vulkan 非対応)。仮想マシンでは lavapipe のソフトウェアレンダリングにフォールバックします。
対応していません。GetCat が話すのは HTTP だけです。GraphQL のクエリを JSON ボディとして POST することはもちろんできますが、スキーマのイントロスペクションもサブスクリプションも、プロトコル専用の画面もありません。
無料でオープンソース、Apache-2.0 です。有料プランもアカウントも、登録が必要なものは何もありません。ソースコード、issue、すべてのビルドが GitHub にあります。