Torna agli aggiornamenti
New releaseAug 3, 2026

resterm v0.50.0

Client API da terminale per HTTP/GraphQL/gRPC con supporto per tunnel SSH, WebSockets, SSE, workflow, profilazione, OpenAPI, port-forwarding di Kubernetes e API headless.

Condividi

Resterm
Resterm

Un workbench API-as-code per il terminale.
resterm.app · docs

Screenshot della TUI base di Resterm

Resterm è un client API code-first costruito attorno a semplici file .http/.rest. Una richiesta è composta da poche righe di testo che puoi leggere, confrontare con un diff e conservare in git, e lo stesso vale per i workflow e i mock locali. Le invii dalla UI del terminale mentre lavori, e resterm run esegue gli stessi file in CI. Se la tua API si trova dietro un bastion SSH o all'interno di un cluster Kubernetes, Resterm apre il tunnel o il port-forward per te.

Funzionalità

  • HTTP, GraphQL, gRPC (con reflection e streaming), WebSocket e SSE
  • file di ambiente, ambienti raggruppati, file dotenv e variabili del sistema operativo
  • bearer token, OAuth 2.0 (client credentials, password e authorization code con PKCE) e token da CLI che già usi, come gh auth token
  • certificati client TLS, CA root personalizzate, proxy, HTTP/2 e un cookie jar per ambiente
  • capture e check con @capture e @assert, più @poll e @retry
  • workflow che concatenano richieste in step, con @if e @for-each
  • RestermScript per la logica e blocchi @rts test
  • editor con movimenti Vim, evidenziazione della sintassi, completamento per direttive, header, percorsi di file e diagnostica inline
  • @compare per inviare una richiesta a più ambienti e confrontare i risultati
  • tracciamento della timeline con budget per fase ed esportazione verso OpenTelemetry
  • @profile con statistiche di latenza, istogramma, P95 e P99
  • tunnel SSH e port-forward Kubernetes che Resterm apre per la richiesta
  • server mock locali dai tuoi file .http, e un proxy di registrazione che trasforma il traffico reale in richieste o mock
  • resterm run per la CI, con output in testo, JSON o JUnit e codici di uscita che distinguono un check fallito da un errore TLS o di tunnel
  • API Go headless per eseguire gli stessi file dal tuo codice Go
  • importazione da curl e OpenAPI, e condivisione delle collezioni come bundle o file zip
  • key binding e temi personalizzati
  • apertura di un file in $EDITOR, o di un corpo di risposta nella tua app predefinita

Nessun account e nessuna telemetria.

[!NOTE] Resterm non ha un server MCP né funzionalità AI integrate. Se vuoi che il tuo LLM comprenda Resterm, indirizzalo alla documentazione Markdown in docs/ o su resterm.app/docs.

Screenshot

Trace e timeline

Screenshot di Resterm con timeline

Clicca per vedere altro della UI

Workflow

Screenshot di Resterm con Workflow

Profiler

Screenshot del profiler di Resterm

Explain

Screenshot della scheda Explain di Resterm

RestermScript

Screenshot di Resterm con RestermScript

Installazione

macOS e Linux:

brew install resterm
# or
curl -fsSL https://raw.githubusercontent.com/unkn0wn-root/resterm/main/install.sh | bash

Windows:

iwr -useb https://raw.githubusercontent.com/unkn0wn-root/resterm/main/install.ps1 | iex

Con Go 1.25 o versioni successive:

go install github.com/unkn0wn-root/resterm/cmd/resterm@latest

I binari precompilati per macOS, Linux e Windows sono disponibili nella pagina delle release. I binari per macOS richiedono macOS 13 Ventura o versioni successive, mentre i binari per Linux richiedono glibc 2.32 o versioni successive.

Per aggiornare un'installazione Homebrew, esegui brew upgrade resterm. Per i binari delle release o le installazioni effettuate con gli script, esegui resterm --update. Se hai installato con Go, riesegui il comando go install indicato sopra. Maggiori informazioni nella guida all'installazione.

Avvio rapido

mkdir my-api && cd my-api
resterm init
resterm

resterm init crea un file requests.http con alcune richieste di esempio e mock locali per rispondervi, così non serve una vera API per provarlo. Premi g Shift+M per avviare il server mock, sposta il cursore su una richiesta e premi Ctrl+Enter per inviarla. Premi ? per visualizzare la guida in qualsiasi momento.

Non hai bisogno nemmeno di init. Esegui resterm, digita un URL o incolla un comando curl e premi Ctrl+Enter.

Lo stesso file funziona anche senza l'interfaccia. Avvia i mock in un terminale ed esegui una richiesta in un altro:

resterm mock requests.http                       # terminal 1
resterm run --request CreateUser requests.http   # terminal 2

File di richiesta

Resterm legge il formato standard .http e aggiunge direttive # @ per impostazioni e automazione:

# @setting base-url https://api.example.com/v1/

### Create users
// Send this request once for each name in the list.
# @for-each ["david", "tom"] as name
# @when env.meta.name == "dev"
# @assert response.statusCode == 201
POST users
Content-Type: application/json

{"name":"{{= name }}"}

Un @setting prima della prima richiesta si applica all'intero file. ### avvia una nuova richiesta. Le direttive sopra una richiesta possono ripeterla, saltarla o controllare la risposta.

Ci sono altri esempi in _examples/, e ogni direttiva è elencata nel riferimento dei file di richiesta.

Documentazione

La documentazione completa è su resterm.app/docs. Buoni punti da cui iniziare sono workflows, mock servers, recording, la CLI e RestermScript.

All'interno della TUI, :help <topic> apre il manuale integrato e :docs <topic> apre la stessa pagina sul sito web.

Per eseguire i file di richiesta dal tuo codice Go, vedi il pacchetto headless.

Resterm è e sarà sempre gratuito e open source. Se ti piace il mio lavoro, puoi sponsorizzarlo su GitHub.

Licenza

Categorie