
resterm v0.51.3
Client API pour terminal pour HTTP/GraphQL/gRPC avec prise en charge des tunnels SSH, WebSockets, SSE, Workflows, Profiling, OpenAPI, redirection de ports Kubernetes, CLI et mocks.
Resterm
Un atelier API-as-code pour le terminal.
resterm.app · docs
Resterm est un client API code-first construit autour de simples fichiers .http/.rest. Une requête est constituée de quelques lignes de texte que vous pouvez lire, comparer avec un diff et conserver dans git, et il en va de même pour les workflows et les mocks locaux. Vous les envoyez depuis l'interface du terminal pendant que vous travaillez, et resterm run exécute les mêmes fichiers en CI. Si votre API se trouve derrière un bastion SSH ou à l'intérieur d'un cluster Kubernetes, Resterm ouvre le tunnel ou le port-forward pour vous.
Fonctionnalités
- HTTP, GraphQL, gRPC (avec réflexion et streaming), WebSocket et SSE
- fichiers d'environnement, environnements groupés, fichiers dotenv et variables du système d'exploitation
- jetons bearer, OAuth 2.0 (client credentials, password, et authorization code avec PKCE), et jetons provenant de CLI que vous utilisez déjà, comme
gh auth token - certificats clients TLS, autorités de certification racines personnalisées, proxys, HTTP/2 et un pot à cookies par environnement
- captures et vérifications avec
@captureet@assert, ainsi que@pollet@retry - workflows qui enchaînent les requêtes en étapes, avec
@ifet@for-each - RestermScript pour la logique et les blocs
@rts test - éditeur avec mouvements Vim, coloration syntaxique, complétion pour les directives, les en-têtes, les chemins de fichiers, et diagnostics en ligne
@comparepour envoyer une requête à plusieurs environnements et comparer les résultats- traçage de la chronologie avec budgets par phase, et export vers OpenTelemetry
@profileavec statistiques de latence, un histogramme, P95 et P99- tunnels SSH et port-forwards Kubernetes que Resterm ouvre pour la requête
- serveurs mock locaux à partir de vos fichiers
.http, et un proxy d'enregistrement qui transforme le trafic réel en requêtes ou en mocks resterm runpour la CI, avec sortie texte, JSON ou JUnit et des codes de sortie qui distinguent une vérification échouée d'une erreur TLS ou de tunnel- API Go headless pour exécuter les mêmes fichiers depuis votre propre code Go
- import depuis curl et OpenAPI, et partage de collections sous forme de bundles ou de fichiers zip
- raccourcis clavier et thèmes personnalisés
- ouvrir un fichier dans
$EDITOR, ou un corps de réponse dans votre application par défaut
Aucun compte et aucune télémétrie.
[!NOTE] Resterm n'a pas de serveur MCP ni de fonctionnalités d'IA intégrées. Si vous voulez que votre LLM comprenne Resterm, pointez-le vers la documentation Markdown dans
docs/ou vers resterm.app/docs.
Captures d'écran
Trace et chronologie
Cliquez pour voir plus de l'interface
Workflows
Profileur
Explain
RestermScript
Installation
macOS et 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
Avec Go 1.25 ou une version plus récente :
go install github.com/unkn0wn-root/resterm/cmd/resterm@latest
Des binaires précompilés pour macOS, Linux et Windows sont disponibles sur la page des releases. Les binaires macOS nécessitent macOS 13 Ventura ou une version ultérieure, et les binaires Linux nécessitent glibc 2.32 ou une version ultérieure.
Pour mettre à jour une installation Homebrew, exécutez brew upgrade resterm. Pour les binaires de release ou les installations effectuées avec les scripts, exécutez resterm --update. Si vous avez installé avec Go, relancez la commande go install ci-dessus. Plus d'informations dans le guide d'installation.
Démarrage rapide
mkdir my-api && cd my-api
resterm init
resterm
resterm init crée un fichier requests.http avec quelques requêtes d'exemple et des mocks locaux pour y répondre, afin que vous n'ayez pas besoin d'une véritable API pour l'essayer. Appuyez sur g Shift+M pour démarrer le serveur mock, déplacez le curseur sur une requête et appuyez sur Ctrl+Enter pour l'envoyer. Appuyez sur ? pour obtenir de l'aide à tout moment.
Vous n'avez pas non plus besoin de init. Lancez resterm, saisissez une URL ou collez une commande curl, puis appuyez sur Ctrl+Enter.
Le même fichier fonctionne également sans l'interface. Démarrez les mocks dans un terminal et exécutez une requête dans un autre :
resterm mock requests.http # terminal 1
resterm run --request CreateUser requests.http # terminal 2
Fichiers de requête
Resterm lit le format standard .http et ajoute des directives # @ par-dessus pour les paramètres et l'automatisation :
# @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 placé avant la première requête s'applique à l'ensemble du fichier. ### démarre une nouvelle requête. Les directives situées au-dessus d'une requête peuvent la répéter, l'ignorer ou vérifier la réponse.
D'autres exemples sont disponibles dans _examples/, et chaque directive est répertoriée dans la référence des fichiers de requête.