Назад к обновлениям
New releaseAug 6, 2026

resterm v0.51.3

Терминальный API-клиент для HTTP/GraphQL/gRPC с поддержкой SSH-туннелей, WebSockets, SSE, Workflows, Profiling, OpenAPI, проброса портов Kubernetes, CLI и моков.

Поделиться

Resterm
Resterm

Рабочая среда API-as-code для терминала.
resterm.app · документация

Скриншот базового интерфейса Resterm TUI

Resterm — это API-клиент, ориентированный на код и построенный вокруг обычных файлов .http/.rest. Запрос — это несколько строк текста, которые можно прочитать, сравнить через diff и хранить в git; то же самое относится к рабочим процессам и локальным мокам. Вы отправляете их из терминального интерфейса во время работы, а resterm run запускает те же файлы в CI. Если ваш API находится за SSH-бастионом или внутри кластера Kubernetes, Resterm откроет для вас туннель или port-forward.

Возможности

  • HTTP, GraphQL, gRPC (с рефлексией и стримингом), WebSocket и SSE
  • файлы окружений, сгруппированные окружения, dotenv-файлы и переменные ОС
  • bearer-токены, OAuth 2.0 (client credentials, password и authorization code с PKCE), а также токены из CLI, которые вы уже используете, например gh auth token
  • TLS-клиентские сертификаты, пользовательские корневые CA, прокси, HTTP/2 и хранилище cookie для каждого окружения
  • захват и проверки с помощью @capture и @assert, а также @poll и @retry
  • рабочие процессы, объединяющие запросы в шаги, с @if и @for-each
  • RestermScript для логики и блоки @rts test
  • редактор с движениями Vim, подсветкой синтаксиса, автодополнением директив, заголовков, путей к файлам и встроенной диагностикой
  • @compare для отправки одного запроса в несколько окружений и сравнения результатов
  • трассировка временной шкалы с бюджетами по фазам и экспорт в OpenTelemetry
  • @profile со статистикой задержек, гистограммой, P95 и P99
  • SSH-туннели и Kubernetes port-forward, которые Resterm открывает для запроса
  • локальные мок-серверы из ваших файлов .http и записывающий прокси, превращающий реальный трафик в запросы или моки
  • resterm run для CI с выводом в текстовом формате, JSON или JUnit и кодами выхода, которые отличают неудачную проверку от ошибки TLS или туннеля
  • headless Go API для запуска тех же файлов из вашего собственного кода на Go
  • импорт из curl и OpenAPI, а также обмен коллекциями в виде бандлов или zip-файлов
  • пользовательские привязки клавиш и темы
  • открытие файла в $EDITOR или тела ответа в приложении по умолчанию

Без аккаунта и без телеметрии.

[!NOTE] В Resterm нет MCP-сервера или встроенных функций ИИ. Если вы хотите, чтобы ваша LLM понимала Resterm, укажите ей на Markdown-документацию в docs/ или на resterm.app/docs.

Скриншоты

Трассировка и временная шкала

Скриншот Resterm с временной шкалой

Нажмите, чтобы увидеть больше интерфейса

Рабочие процессы

Скриншот Resterm с рабочим процессом

Профайлер

Скриншот профайлера Resterm

Объяснение

Скриншот вкладки Explain в Resterm

RestermScript

Скриншот Resterm с 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 создаёт файл requests.http с несколькими примерами запросов и локальными моками для ответа на них, так что вам не нужен настоящий API, чтобы попробовать. Нажмите g Shift+M, чтобы запустить mock-сервер, переместите курсор на запрос и нажмите Ctrl+Enter, чтобы отправить его. Нажмите ? для получения справки в любой момент.

init тоже не обязателен. Запустите resterm, введите URL или вставьте команду curl и нажмите Ctrl+Enter.

Тот же файл также работает без UI. Запустите моки в одном терминале и выполните запрос в другом:

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. Хорошие точки для начала — workflows, mock servers, recording, CLI и RestermScript.

Внутри TUI команда :help <topic> открывает встроенное руководство, а :docs <topic> открывает ту же страницу на сайте.

Чтобы запускать файлы запросов из собственного кода на Go, см. пакет headless.

Спонсор

Resterm был и всегда будет бесплатным и открытым. Если вам нравится моя работа, вы можете поддержать её на GitHub.

Категории