
resterm v0.51.3
SSH 터널, WebSockets, SSE, 워크플로우, 프로파일링, OpenAPI, Kubernetes 포트 포워딩, CLI 및 mocks를 지원하는 HTTP/GraphQL/gRPC용 터미널 API 클라이언트입니다.
Resterm
터미널을 위한 API-as-code 워크벤치.
resterm.app · 문서
Resterm은 일반 .http/.rest 파일을 중심으로 만들어진 코드 우선 API 클라이언트입니다. 요청은 읽고, diff하고, git에 보관할 수 있는 몇 줄의 텍스트이며, 워크플로와 로컬 목(mock)도 마찬가지입니다. 작업하는 동안 터미널 UI에서 요청을 보내고, resterm run으로 CI에서 동일한 파일을 실행합니다. API가 SSH 배스천 뒤에 있거나 Kubernetes 클러스터 내부에 있다면, Resterm이 터널이나 포트 포워드를 대신 열어줍니다.
기능
- HTTP, GraphQL, gRPC(리플렉션 및 스트리밍 지원), WebSocket, SSE
- 환경 파일, 그룹화된 환경, dotenv 파일, OS 변수
- 베어러 토큰, OAuth 2.0(클라이언트 자격 증명, 비밀번호, PKCE를 사용하는 인증 코드), 그리고
gh auth token처럼 이미 사용 중인 CLI에서 가져온 토큰 - TLS 클라이언트 인증서, 사용자 지정 루트 CA, 프록시, HTTP/2, 환경별 쿠키 저장소
@capture와@assert를 사용한 캡처 및 검사, 그리고@poll과@retry@if와@for-each를 사용해 요청을 단계로 연결하는 워크플로- 로직을 위한 RestermScript와
@rts test블록 - Vim 모션, 구문 강조, 지시자·헤더·파일 경로 자동 완성, 인라인 진단을 지원하는 편집기
- 하나의 요청을 여러 환경으로 보내고 결과를 비교하는
@compare - 단계별 예산을 적용한 타임라인 추적, OpenTelemetry로 내보내기
- 지연 통계, 히스토그램, P95 및 P99를 제공하는
@profile - 요청을 위해 Resterm이 열어주는 SSH 터널 및 Kubernetes 포트 포워드
.http파일로 만드는 로컬 목 서버, 실제 트래픽을 요청이나 목으로 변환하는 기록 프록시- CI를 위한
resterm run, 텍스트·JSON·JUnit 출력, 실패한 검사와 TLS 또는 터널 오류를 구분하는 종료 코드 - 동일한 파일을 자체 Go 코드에서 실행할 수 있는 헤드리스 Go API
- curl 및 OpenAPI에서 가져오기, 컬렉션을 번들이나 zip 파일로 공유
- 사용자 지정 키 바인딩 및 테마
$EDITOR에서 파일 열기, 기본 앱에서 응답 본문 열기
계정도, 텔레메트리도 없습니다.
[!NOTE] Resterm에는 MCP 서버나 내장 AI 기능이 없습니다. LLM이 Resterm을 이해하도록 하려면
docs/의 Markdown 문서나 resterm.app/docs를 참조하도록 안내하세요.
스크린샷
추적 및 타임라인
UI 더 보기
워크플로
프로파일러
설명
RestermScript
설치
macOS 및 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
Go 1.25 이상 사용 시:
go install github.com/unkn0wn-root/resterm/cmd/resterm@latest
macOS, Linux 및 Windows용 사전 빌드된 바이너리는 릴리스 페이지에서 확인할 수 있습니다. macOS 바이너리는 macOS 13 Ventura 이상이 필요하며, Linux 바이너리는 glibc 2.32 이상이 필요합니다.
Homebrew 설치를 업데이트하려면 brew upgrade resterm을 실행하세요. 릴리스 바이너리나 스크립트로 설치한 경우 resterm --update를 실행하세요. Go로 설치한 경우 위의 go install 명령을 다시 실행하세요. 자세한 내용은 설치 가이드를 참조하세요.
빠른 시작
mkdir my-api && cd my-api
resterm init
resterm
resterm init는 몇 가지 샘플 요청과 이를 응답할 로컬 mock이 포함된 requests.http 파일을 생성하므로, 실제 API 없이도 시험해 볼 수 있습니다. g Shift+M을 눌러 mock 서버를 시작하고, 커서를 요청으로 이동한 뒤 Ctrl+Enter를 눌러 전송하세요. 언제든지 ?를 눌러 도움말을 볼 수 있습니다.
init도 필요하지 않습니다. resterm을 실행하고 URL을 입력하거나 curl 명령을 붙여넣은 뒤 Ctrl+Enter를 누르세요.
같은 파일은 UI 없이도 실행됩니다. 한 터미널에서 mock을 시작하고 다른 터미널에서 요청을 실행하세요:
resterm mock requests.http # terminal 1
resterm run --request CreateUser requests.http # terminal 2
요청 파일
Resterm은 표준 .http 형식을 읽고, 그 위에 설정 및 자동화를 위한 # @ 지시문을 추가합니다:
# @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 }}"}
첫 번째 요청 앞의 @setting은 파일 전체에 적용됩니다. ###은 새 요청을 시작합니다. 요청 위의 지시문은 요청을 반복하거나, 건너뛰거나, 응답을 검사할 수 있습니다.
더 많은 예시는 _examples/에 있으며, 모든 지시문은 요청 파일 레퍼런스에 나열되어 있습니다.
문서
전체 문서는 resterm.app/docs에 있습니다. 시작하기 좋은 곳은 워크플로, 모의 서버, 기록, CLI, RestermScript입니다.
TUI 내에서 :help <topic>은 내장 매뉴얼을 열고, :docs <topic>은 웹사이트에서 동일한 페이지를 엽니다.
자신의 Go 코드에서 요청 파일을 실행하려면 headless 패키지를 참조하세요.
스폰서
Resterm은 항상 무료이며 오픈 소스입니다. 제 작업이 마음에 드신다면 GitHub에서 후원하실 수 있습니다.