Protide

Native desktop API testing built on Rust and GPUI — no Electron.

RustGPUIrquickjslibp2p
View source on GitHub

Protide is a desktop API client covering HTTP, GraphQL, WebSocket, gRPC, tRPC, and Socket.IO from a single interface. It is built with Rust and GPUI, the GPU-accelerated UI framework behind Zed, rather than shipping a browser runtime with the application.

Install the language server

cargo install --git https://github.com/dreygur/protide protide-lsp

Why native

API clients are a category where Electron's cost is felt directly: the tool is opened constantly, sits resident all day, and spends most of its time rendering lists and editors.

Protide uses GPUI, the same GPU-accelerated framework Zed is built on, so the interface is native and there is no bundled browser engine.

Protocols in one interface

HTTP with all standard methods, GraphQL with a query and variables editor, WebSocket with connect/disconnect and message history, gRPC with proto loading and every streaming type, plus tRPC procedures and full Socket.IO event support.

The request editor handles headers, query params, and bodies as JSON, raw, XML, form, or binary, with Bearer, Basic, and API-key auth, and `{{variable}}` substitution from environments.

Requests generate client code for cURL, Python, JavaScript, Go, and Rust.

Files, not a proprietary store

Collections are file-based: folders are collections and `.http` files are requests. That makes them diffable, reviewable, and committable alongside the code they exercise.

Imports cover cURL, Postman, Bruno, and OpenAPI/Swagger; export is Markdown.

Scripting and testing

Pre- and post-request scripts run JavaScript through rquickjs, with an `expect()` assertion API for tests.

Requests chain through JSONPath extraction and `# @set` annotations, so a login response can feed the next request without leaving the file format.

Mock server

A local HTTP mock server serves configurable routes, and record/proxy mode forwards to the real server while capturing responses as static routes — turning an existing API into a fixture without writing one by hand.

Local-first collaboration

Sync is CRDT-based and local-first, using last-write-wins registers with Lamport timestamps.

Peers connect over libp2p with mDNS discovery and Gossipsub, and pair over PAKE on a LAN. File sync can also run through a backend you already have — Dropbox, Google Drive, or GitHub — rather than a hosted service belonging to the tool.

Editor integration

`protide-lsp` is a language server for `.http` files providing hover, completion, diagnostics, formatting, semantic tokens, rename, and code actions.

`protide-mcp` exposes a `send_request` tool over JSON-RPC 2.0 on stdio, so an AI assistant can drive requests directly. A Zed extension adds tree-sitter syntax highlighting and wires up the LSP.

All projects