
Terminal-API-Client für HTTP, GraphQL, gRPC, WebSocket und SSE. Einfache .http-Dateien, die sich diffen und versionieren lassen, mit skriptgesteuerten Tests, Workflows, Mocks, Recorder und einem CLI-Runner.
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.
gh auth token@capture und @assert, plus @poll und @retry@if und @for-each@rts test-Blöcke@compare, um eine Anfrage an mehrere Umgebungen zu senden und die Ergebnisse zu diffen@profile mit Latenzstatistiken, einem Histogramm, P95 und P99.http-Dateien und ein aufzeichnender Proxy, der echten Traffic in Anfragen oder Mocks umwandeltresterm run für CI, mit Text-, JSON- oder JUnit-Ausgabe und Exit-Codes, die einen fehlgeschlagenen Check von einem TLS- oder Tunnel-Fehler unterscheiden$EDITOR öffnen oder einen Response-Body in deiner Standard-AppKein Konto und keine Telemetrie.
[!NOTE] Resterm hat keinen MCP-Server und keine integrierten KI-Funktionen. Damit dein LLM Resterm nutzen kann, installiere die Skill mit
resterm skill --agent claudeoderresterm skill --agent codex. Siehe die Skill-Dokumentation für andere Agents. Du kannst deinen Agent auch aufdocs/oder resterm.app/docs verweisen.
Trace und Timeline
Workflows
Profiler
Explain
RestermScript
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.
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
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
# @rts test "user has an id"
> if response.json().id == null {
> t.error("no id for", name)
> }
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, entweder mit @assert oder mit einem @rts test-Block aus RestermScript-Code.
Weitere Beispiele finden sich in _examples/, und jede Direktive ist in der Referenz zu Anfragedateien aufgeführt.