原生且輕快
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 也不會把視窗拖住。
七種方法,Path / Query / Headers 三張參數表都有描述欄,Body 從 raw JSON 一路到固定長度串流的檔案上傳。
不存歷史、不存回應、不上傳任何東西。已儲存的請求與設定都是排版過的 JSON 檔案,可手動編輯、可用 Git 管理。
每個 Tab 的草稿自動寫入磁碟、重新啟動後還原。Tab 順序、分欄方向、主題偏好也都會記住。
主題與語言跟隨系統,也可以固定。自繪標題列讓三平台外觀一致。所有控制項都有無障礙名稱,可搭配螢幕閱讀器使用。
應用程式介面提供 English、简体中文、繁體中文、日本語 與 Français。
塑造一個請求需要的東西都在,外加一鍵匯出 —— 匯出的就是 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 與 Headers 旁邊還有一個「憑證」頁籤:GetCat 會離線解析對端的葉憑證,把看到的內容列出來。
TLS 驗證預設關閉,為的是除錯本機自簽憑證的 API 時不必大費周章。請求照常送出,GetCat 仍會離線解析憑證,並就上面四種情況發出警告。在設定裡開啟驗證之後,有問題的憑證會直接中斷交握。
點一下就得到一個填好 URL、認證標頭與請求主體的新 Tab。真正的價值在下面這組多模態寫法:三家 API 彼此互不相容。
OpenAI Chat Completions、OpenAI Responses、Anthropic Messages,每個都有純文字、含圖片與串流三種變體。側欄另有 MCP 兩個協定世代的範本。
傳送前先替換 YOUR_API_KEY;也可以把金鑰存成變數、在這裡寫 {{API_KEY}},再標記為敏感值,介面上就會以遮罩顯示。
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。token 上限欄位是 max_completion_tokens,不是 max_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 |
| 新增 Tab | ⌘ T | Ctrl T |
| 關閉 Tab | ⌘ W | Ctrl W |
| 收合側欄 | ⌘ B | Ctrl B |
| 儲存請求 | ⌘ S | Ctrl S |
| 回應內搜尋 | ⌘ F | Ctrl F |
| 設定 | ⌘ , | Ctrl , |
寫入是不可分割的 —— 先寫暫存檔再取代,當機也不會留下寫到一半的檔案。解析失敗的檔案會被改名為 .corrupt-<時間> 並略過。Authorization 這類 Header 以明文儲存,與 Postman、Insomnia 的本機資料庫一致,Unix 上檔案權限為 0600。
把這份清單放在這裡,是為了讓你在下載之前就知道,也免得有人拿別的工具來類比:
歷史記錄 · JavaScript 請求前指令碼與測試指令碼 · 獨立的 Auth 面板 · Cookie 管理 · 資料夾樹 · GraphQL、WebSocket、gRPC · 團隊同步與雲端帳號
所有版本都在 GitHub Releases 上,另有中國鏡像。這裡的連結永遠指向最新版。
x64 · 免安裝
GetCat-windows-x64.exe
arm64 · 免安裝
GetCat-windows-arm64.exe
x64 · 安裝版
GetCat-windows-x64.msi
arm64 · 安裝版
GetCat-windows-arm64.msi
已簽署並經過公證,拖進「應用程式」即可。
MSI 安裝到目前使用者的目錄,不需要系統管理員權限,可從開始功能表啟動。免安裝版 exe 放在哪裡都能執行,不寫入登錄檔。
解壓縮後把執行檔放進 PATH。再加一個 .desktop 檔就有啟動器了 —— 指令見下方。
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 查詢一次,絕不自動下載任何東西。你選擇更新時,安裝檔會先經過 SHA-256 與 minisign 簽章雙重驗證,通過之後才會安裝。
所有版本與更新記錄GetCat 用 GPU 繪製介面,所以圖形堆疊比 CPU 更要緊。
macOS 11 Big Sur 以上,Apple Silicon 或 Intel 皆可。dmg 已簽署並經過公證。
Windows 10 1803(2018 年 4 月更新)以上,或 Windows 11。介面使用 Direct3D 11,feature level 10.1 起 —— 2010 年前後的顯示卡就夠用,不要求 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 確認驅動程式,再依顯示卡安裝對應的套件:
| 顯示卡 | 套件 |
|---|---|
| Mesa | mesa-vulkan-drivers |
| Intel | vulkan-intel |
| AMD | vulkan-radeon |
| NVIDIA | nvidia-driver |
nouveau 不支援 Vulkan —— NVIDIA 顯示卡需要專有驅動程式。在虛擬機器裡會退回 lavapipe 軟體繪製,能用但很慢。
GetCat 是一個克制的子集。沒有帳號、沒有雲端同步、沒有 collection、沒有指令碼 —— 變數、環境與回應斷言都有,但是在表格裡填寫,而不是寫 JavaScript。換來的是一個 16 MB 的原生應用程式:秒開、每個位元組都留在你的電腦上、面對超大型回應也不會卡死。如果你需要團隊協作或測試套件,Postman 和 Insomnia 仍然是更合適的工具。
GetCat 是用 Rust 寫的,以 GPUI 為基礎 —— 也就是 Zed 編輯器用的那套 UI 框架。視窗由 GPU 直接繪製,而不是交給瀏覽器引擎,這既是安裝檔能壓到 16 MB 的原因,也是幾百 MB 資料湧入時回應區還能捲動的原因。網路在 Tokio runtime 上執行,結果透過 channel 回到 UI 執行緒,主執行緒永遠不做 O(n) 的工作。
不會上傳 —— 沒有遙測、沒有帳號、沒有同步。已儲存的請求、草稿、設定和變數都是平台資料目錄裡排版過的 JSON 檔案,你可以手動編輯,也可以放進 Git。Authorization 這類 Header 值以及敏感變數(只在介面上以遮罩顯示)都以明文儲存,與 Postman、Insomnia 的本機資料庫做法一致,Unix 上檔案權限是 0600。
為的是讓「除錯一個使用自簽憑證的本機 API」這件事直接可用,而這在開發時是常態。請求照常送出,同時 GetCat 仍會離線解析對端憑證,並在憑證已過期、尚未生效、主機名稱不符,或是自簽且沒有信任鏈時發出警告。在設定裡開啟驗證就恢復嚴格行為:有問題的憑證會直接中斷交握。
變數與斷言支援,團隊協作不支援。變數分全域、分類、環境三層,請求裡寫 {{var}} 就會替換,也有 {{$timestamp}} 這類動態變數。前後置操作在傳送前設定變數,回應後把欄位擷取到變數、對狀態碼 / 回應標頭 / JSON 做斷言 —— 都在表格裡填寫,不用寫指令碼。可以匯入匯出 Postman environment,敏感變數在介面上以遮罩顯示。仍然刻意留白的是指令碼、Cookie 管理、資料夾樹和共用工作區,為了讓應用程式保持小巧、可預期。
介面使用 Vulkan,黑畫面幾乎總是代表缺少 Vulkan 驅動程式。先執行 vulkaninfo --summary 確認,再依顯示卡安裝 mesa-vulkan-drivers、vulkan-intel 或 vulkan-radeon。NVIDIA 顯示卡需要專有驅動程式 —— nouveau 不支援 Vulkan。在虛擬機器裡會退回 lavapipe 軟體繪製。
不支援。GetCat 只講 HTTP。你當然可以把 GraphQL 查詢當成 JSON Body 用 POST 送出去,但沒有 schema 自我檢查、沒有訂閱支援,也沒有針對這些協定的介面。
免費且開源,Apache-2.0。沒有付費方案、沒有帳號、沒有任何需要註冊的東西。原始碼、issue 和每一個安裝檔都在 GitHub 上。