
resterm v0.51.1
Terminal-API-Client für HTTP/GraphQL/gRPC mit Unterstützung für SSH-Tunnel, WebSockets, SSE, Workflows, Profiling, OpenAPI, Kubernetes-Port-Forwarding und Headless-API.
Resterm
Eine API-as-Code-Workbench für das Terminal.
resterm.app · Dokumentation
Resterm ist ein code-first API-Client, der auf einfachen .http/.rest-Dateien basiert. Eine Anfrage besteht aus ein paar Textzeilen, die du lesen, diffen und in git aufbewahren kannst – dasselbe gilt für Workflows und lokale Mocks. Du sendest sie während der Arbeit aus der Terminal-UI, und resterm run führt dieselben Dateien in CI aus. Wenn deine API hinter einem SSH-Bastion oder in einem Kubernetes-Cluster liegt, öffnet Resterm den Tunnel oder Port-Forward für dich.
Funktionen
- HTTP, GraphQL, gRPC (mit Reflection und Streaming), WebSocket und SSE
- Umgebungsdateien, gruppierte Umgebungen, dotenv-Dateien und OS-Variablen
- Bearer-Tokens, OAuth 2.0 (Client Credentials, Password und Authorization Code mit PKCE) sowie Tokens von CLIs, die du bereits nutzt, wie
gh auth token - TLS-Client-Zertifikate, benutzerdefinierte Root-CAs, Proxies, HTTP/2 und ein Cookie-Jar pro Umgebung
- Captures und Checks mit
@captureund@assert, plus@pollund@retry - Workflows, die Anfragen zu Schritten verketten, mit
@ifund@for-each - RestermScript für Logik und
@rts test-Blöcke - Editor mit Vim-Motions, Syntaxhervorhebung, Vervollständigung für Direktiven, Header, Dateipfade und Inline-Diagnosen
@compare, um eine Anfrage an mehrere Umgebungen zu senden und die Ergebnisse zu diffen- Timeline-Tracing mit Budgets pro Phase und Export nach OpenTelemetry
@profilemit Latenzstatistiken, einem Histogramm, P95 und P99- SSH-Tunnel und Kubernetes-Port-Forwards, die Resterm für die Anfrage öffnet
- lokale Mock-Server aus deinen
.http-Dateien und ein aufzeichnender Proxy, der echten Traffic in Anfragen oder Mocks umwandelt resterm runfür CI, mit Text-, JSON- oder JUnit-Ausgabe und Exit-Codes, die einen fehlgeschlagenen Check von einem TLS- oder Tunnel-Fehler unterscheiden- Headless-Go-API, um dieselben Dateien aus deinem eigenen Go-Code auszuführen
- Import aus curl und OpenAPI sowie Teilen von Sammlungen als Bundles oder Zip-Dateien
- benutzerdefinierte Tastenbelegungen und Themes
- eine Datei in
$EDITORöffnen oder einen Response-Body in deiner Standard-App - Kein Konto und keine Telemetrie.
[!NOTE] Resterm hat keinen MCP-Server und keine integrierten KI-Funktionen. Wenn du möchtest, dass dein LLM Resterm versteht, verweise es auf die Markdown-Dokumentation in
docs/oder auf resterm.app/docs.
Screenshots
Trace und Timeline
Klicken, um mehr von der UI zu sehen
Workflows
Profiler
Explain
RestermScript
Installation
macOS und 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
Mit Go 1.25 oder neuer:
go install github.com/unkn0wn-root/resterm/cmd/resterm@latest
Vorkompilierte Binärdateien für macOS, Linux und Windows finden sich auf der Releases-Seite. Die macOS-Binärdateien benötigen macOS 13 Ventura oder neuer, und die Linux-Binärdateien benötigen glibc 2.32 oder neuer.
Um eine Homebrew-Installation zu aktualisieren, führe brew upgrade resterm aus. Für Release-Binärdateien oder Installationen, die mit den Skripten durchgeführt wurden, führe resterm --update aus. Wenn du mit Go installiert hast, führe den obigen go install-Befehl erneut aus. Mehr im Installationsleitfaden.
Schnellstart
mkdir my-api && cd my-api
resterm init
resterm
resterm init erstellt eine requests.http-Datei mit einigen Beispielanfragen und lokalen Mocks, die diese beantworten, sodass du keine echte API benötigst, um es auszuprobieren. Drücke g Shift+M, um den Mock-Server zu starten, bewege den Cursor auf eine Anfrage und drücke Ctrl+Enter, um sie zu senden. Drücke jederzeit ? für Hilfe.
Du benötigst auch init nicht. Führe resterm aus, gib eine URL ein oder füge einen curl-Befehl ein und drücke Ctrl+Enter.
Dieselbe Datei läuft auch ohne die UI. Starte die Mocks in einem Terminal und führe eine Anfrage in einem anderen aus:
resterm mock requests.http # terminal 1
resterm run --request CreateUser requests.http # terminal 2
Dateien anfordern
Resterm liest das Standard-.http-Format und fügt # @-Direktiven für Einstellungen und Automatisierung hinzu:
# @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 }}"}
Ein @setting vor der ersten Anfrage gilt für die gesamte Datei. ### beginnt eine neue Anfrage. Direktiven über einer Anfrage können sie wiederholen, überspringen oder die Antwort prüfen.
Weitere Beispiele finden sich in _examples/, und jede Direktive ist in der Referenz zu Anfragedateien aufgeführt.
Dokumentation
Die vollständige Dokumentation befindet sich unter resterm.app/docs. Gute Einstiegspunkte sind Workflows, Mock-Server, Aufzeichnung, die CLI und RestermScript.
Innerhalb der TUI öffnet :help <topic> das integrierte Handbuch und :docs <topic> öffnet dieselbe Seite auf der Website.
Um Anfragedateien aus deinem eigenen Go-Code auszuführen, siehe das headless-Paket.