
resterm v1.10.2
Cliente de API de terminal para HTTP, GraphQL, gRPC, WebSocket e SSE. Arquivos .http simples que você pode comparar e versionar, com testes com script, fluxos de trabalho, mocks, gravador e um executor de CLI para CI.
Resterm
Um workbench de API-as-code para o terminal.
resterm.app · docs
Resterm é um cliente de API code-first construído em torno de arquivos .http/.rest simples. Uma requisição é algumas linhas de texto que você pode ler, comparar com diff e manter no git, e o mesmo vale para workflows e mocks locais. Você as envia pela interface de terminal enquanto trabalha, e resterm run executa os mesmos arquivos na CI. Se sua API estiver atrás de um bastion SSH ou dentro de um cluster Kubernetes, o Resterm abre o túnel ou o port-forward para você.
Recursos
- HTTP, GraphQL, gRPC (com reflection e streaming), WebSocket e SSE
- arquivos de ambiente, ambientes agrupados, arquivos dotenv e variáveis do SO
- bearer tokens, OAuth 2.0 (client credentials, password e authorization code com PKCE), e tokens de CLIs que você já usa, como
gh auth token - certificados de cliente TLS, CAs raiz personalizadas, proxies, HTTP/2 e um cookie jar por ambiente
- capturas e verificações com
@capturee@assert, além de@polle@retry - workflows que encadeiam requisições em etapas, com
@ife@for-each - RestermScript para lógica e blocos
@rts test - editor com movimentos do Vim, realce de sintaxe, autocompletar para diretivas, cabeçalhos, caminhos de arquivo e diagnósticos inline
@comparepara enviar uma requisição a vários ambientes e comparar os resultados com diff- rastreamento de timeline com orçamentos por fase e exportação para OpenTelemetry
@profilecom estatísticas de latência, histograma, P95 e P99- túneis SSH e port-forwards do Kubernetes que o Resterm abre para a requisição
- servidores mock locais a partir dos seus arquivos
.http, e um proxy de gravação que transforma tráfego real em requisições ou mocks resterm runpara CI, com saída em texto, JSON ou JUnit e códigos de saída que distinguem uma verificação com falha de um erro de TLS ou de túnel- API Go headless para executar os mesmos arquivos a partir do seu próprio código Go
- importação de curl e OpenAPI, e compartilhamento de coleções como bundles ou arquivos zip
- atalhos de teclado e temas personalizados
- abrir um arquivo no
$EDITOR, ou um corpo de resposta no seu aplicativo padrão
Sem conta e sem telemetria.
[!NOTE] O Resterm não tem servidor MCP nem recursos de IA integrados. Se você quer que seu LLM entenda o Resterm, aponte-o para a documentação em Markdown em
docs/ou para resterm.app/docs.
Capturas de tela
Trace e timeline
Clique para ver mais da interface
Workflows
Profiler
Explain
RestermScript
Instalação
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
Com Go 1.25 ou mais recente:
go install github.com/unkn0wn-root/resterm/cmd/resterm@latest
Binários pré-compilados para macOS, Linux e Windows estão na página de releases. Os binários para macOS requerem macOS 13 Ventura ou mais recente, e os binários para Linux requerem glibc 2.32 ou mais recente.
Para atualizar uma instalação via Homebrew, execute brew upgrade resterm. Para binários de release ou instalações feitas com os scripts, execute resterm --update. Se você instalou com Go, execute novamente o comando go install acima. Mais informações no guia de instalação.
Início rápido
mkdir my-api && cd my-api
resterm init
resterm
resterm init cria um arquivo requests.http com algumas requisições de exemplo e mocks locais para respondê-las, então você não precisa de uma API real para experimentar. Pressione g Shift+M para iniciar o servidor mock, mova o cursor para uma requisição e pressione Ctrl+Enter para enviá-la. Pressione ? para obter ajuda a qualquer momento.
Você também não precisa do init. Execute resterm, digite uma URL ou cole um comando curl e pressione Ctrl+Enter.
O mesmo arquivo também funciona sem a interface. Inicie os mocks em um terminal e execute uma requisição em outro:
resterm mock requests.http # terminal 1
resterm run --request CreateUser requests.http # terminal 2
Arquivos de requisição
O Resterm lê o formato padrão .http e adiciona diretivas # @ por cima para configurações e automação:
# @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 }}"}
Um @setting antes da primeira requisição aplica-se ao arquivo inteiro. ### inicia uma nova requisição. Diretivas acima de uma requisição podem repeti-la, ignorá-la ou verificar a resposta.
Há mais exemplos em _examples/, e cada diretiva está listada na referência de arquivos de requisição.
Documentação
A documentação completa está em resterm.app/docs. Bons pontos de partida são workflows, mock servers, recording, a CLI e RestermScript.
Dentro da TUI, :help <topic> abre o manual integrado e :docs <topic> abre a mesma página no site.
Para executar arquivos de requisição a partir do seu próprio código Go, consulte o pacote headless.