Voltar às atualizações
New releaseAug 17, 2026

resterm v1.1.1

Cliente de API de terminal para HTTP, GraphQL e gRPC. Arquivos .http simples que você pode fazer diff e versionar, com workflows, mocks, profiling, tracing, importação de OpenAPI, túneis SSH, port-forwards do Kubernetes, WebSocket, SSE e um runner de CLI.

Compartilhar

Resterm
Resterm

Um workbench de API-as-code para o terminal.

Screenshot of Resterm TUI base

Screenshot of Resterm with timeline
Visualização de trace e timeline

Resterm é um cliente de API que armazena requisições em arquivos .http e .rest simples, que podem ficar lado a lado no seu repositório como o resto do seu código. Você pode usar a interface de terminal, ou executar os mesmos arquivos em CI com resterm run.

Links rápidos: Screenshots, Instalação, Início rápido, Arquivos de requisição, Documentação.

Screenshots

Veja a interface em ação (clique para expandir)

Workflows

Screenshot of Resterm with Workflow

Profiler

Screenshot of Resterm profiler

Explain

Screenshot of Resterm Explain Tab

RestermScript

Screenshot of Resterm with RestermScript

Por que Resterm

  • Suporte a HTTP, GraphQL, gRPC, WebSocket e SSE.
  • Automação em arquivos de requisição: condições (@when, @if/@elif/@else, @for-each), workflows de múltiplos passos (@workflow / @step), capturas, variáveis e asserções (@capture, @var, @assert).
  • Túneis no arquivo de requisição: @ssh e @k8s roteiam uma requisição através de um bastion SSH ou de um port-forward do Kubernetes que o Resterm abre e fecha para você, com perfis por arquivo ou workspace.
  • Grave tráfego HTTP e exporte-o para arquivos .http do Resterm como requisições ou respostas mock.
  • RestermScript, uma pequena linguagem de expressão criada para o Resterm, com hooks JavaScript quando você quiser.
  • Controles estilo Vim com dicas de atalhos, ajuda offline pesquisável, Shift+k para ajuda sob o cursor, / para busca e comandos como :w, :q, :help e :docs.
  • Autenticação: OAuth 2.0 (client credentials, password, authorization code com PKCE) e @auth command para reutilizar tokens de CLIs que você já tem instaladas, como gh auth token.
  • Executor CLI: resterm run para execuções scriptadas e CI, com saída JSON e JUnit.
  • Servidores mock declarados ao lado das requisições que eles imitam, com regras de correspondência, sequências, verificação de chamadas e hot reload.
  • Rastreamento de timeline, profiling e comparação de execuções entre ambientes.
  • Transcrições de streaming e um console interativo para WebSocket e SSE.
  • Sem integração com IA

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

A partir do código-fonte, com Go 1.25 ou mais recente:

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

[!IMPORTANT] Binários Linux pré-compilados dependem de glibc 2.32 ou mais recente. Em uma distribuição mais antiga, compile a partir do código-fonte com um toolchain glibc mais recente ou atualize o glibc antes de usar os arquivos de release.

Instalações via Homebrew são atualizadas com brew upgrade resterm. Binários da página de releases ou dos scripts de instalação usam resterm --check-update e resterm --update, que baixa, verifica e instala no local. No Windows, o binário antigo permanece ao lado do novo como resterm.exe.old e é removido na próxima atualização.

Instalação manual

Binários para macOS, Linux e Windows (amd64 e arm64) estão na página de releases. Os comandos abaixo fazem o mesmo que baixar manualmente da página de release. A versão Unix precisa de curl e jq.

# Find the latest release tag
LATEST_TAG=$(curl -fsSL https://api.github.com/repos/unkn0wn-root/resterm/releases/latest | jq -r .tag_name)

# Download the matching binary (Darwin/Linux + amd64/arm64)
curl -fL -o resterm "https://github.com/unkn0wn-root/resterm/releases/download/${LATEST_TAG}/resterm_$(uname -s)_$(uname -m)"

# Install on PATH
chmod +x resterm
sudo install -m 0755 resterm /usr/local/bin/resterm
$latest = Invoke-RestMethod https://api.github.com/repos/unkn0wn-root/resterm/releases/latest
$asset  = $latest.assets | Where-Object { $_.name -like 'resterm_Windows_*' } | Select-Object -First 1
Invoke-WebRequest -Uri $asset.browser_download_url -OutFile resterm.exe
# Optionally move to a directory on PATH:
Move-Item resterm.exe "$env:USERPROFILE\bin\resterm.exe"

Início rápido

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

resterm init cria um pequeno projeto que você pode começar a usar imediatamente. O requests.http gerado tem cenários mock locais e algumas requisições que se baseiam umas nas outras, cobrindo asserções, autenticação bearer, correspondência JSON, json-rules e @for-each. Pressione g Shift+m para iniciar o servidor mock, depois Ctrl+Enter para enviar a requisição sob o cursor.

Você também pode abrir o Resterm diretamente sem init. Execute resterm, digite uma URL e pressione Ctrl+Enter. Você também pode colar um comando curl - isso também funciona.

O mesmo arquivo é executado sem a TUI:

resterm run --request CreateUser requests.http

Arquivos de requisição

O Resterm suporta a sintaxe HTTP padrão, mas vai muito além disso com diretivas # @ para configuração 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.mode == "development"
# @assert response.statusCode == 201
POST users
Content-Type: application/json

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

Colocar @setting antes da primeira requisição aplica-se ao arquivo inteiro. ### inicia uma nova requisição, e as diretivas podem repetir, limitar ou verificar a requisição abaixo delas. Mais em _examples/ e na referência de diretivas.

Servidores mock

Respostas mock são definidas nos mesmos arquivos que as requisições (mas não precisam ser). Exemplo, dois cenários em uma rota:

Categorias