Echolot
Начало работы

Импорт

Переносите в рабочее пространство запросы из cURL, Postman, Insomnia, OpenAPI, Swagger, HAR, Paw и Bruno и читайте отчёт об импорте.

Echolot импортирует в рабочее пространство то, что у вас уже есть в других инструментах: запросы, папки, авторизацию, переменные, окружения и скрипты. Формат он определяет по содержимому, переносит учётные данные в Связку ключей и сообщает в отчёте, что не удалось перенести.

Что импортирует Echolot

ФорматФайлыЧто переносится
cURLКоманда curl …: вставленная или в текстовом файлеОдин запрос: метод, адрес, заголовки, тело, авторизация Basic и настройки вроде перенаправлений и проверки TLS.
PostmanКоллекции v2.0 и v2.1, окружения (.json)Папки, запросы, авторизация, переменные коллекции, скрипты перед запросом и тестовые скрипты; окружения становятся окружениями.
InsomniaЭкспорт JSON v4, коллекции YAML v5Папки, запросы, авторизация, окружения.
OpenAPIOpenAPI 3.0 и 3.1, Swagger 2.0, JSON или YAMLЗапрос для каждой операции с её параметрами, примером тела и авторизацией из её схемы безопасности. Адрес сервера становится переменной {{baseUrl}}.
HARHTTP Archive 1.2 из браузера или прокси (.har)Вызовы API за сеанс; если хостов было несколько — по одной папке на хост.
PawДокументы Paw и RapidAPI for Mac (.paw)Группы, запросы, окружения; динамические значения Paw по возможности становятся переменными и динамическими значениями Echolot.
BrunoПапка коллекции (с bruno.json или файлами .bru)Папки, запросы, авторизация, окружения, скрипты и тесты — как написаны.

Коллекция, спецификация, файл HAR или папка Bruno попадают в отдельную папку с тем же именем. Команда cURL становится одним запросом.

Конфигурации MCP-серверов из Claude Desktop, Claude Code, Cursor, VS Code и Codex тоже импортируются — как MCP-серверы: см. Добавление серверов.

Импорт в приложении

Выберите любой из способов. Импорт попадает в папку, выбранную в боковой панели, или в корень рабочего пространства.

  • Файл › Импортировать… (⇧⌘I) или Импортировать… в меню + боковой панели либо в палитре команд. Выберите один или несколько файлов либо папку коллекции Bruno.
  • Перетащите файлы или папку Bruno в любое место области содержимого окна или на папку в боковой панели.
  • Вставьте команду cURL либо текст коллекции или спецификации в боковую панель (⌘V, когда фокус в боковой панели).
  • Вставьте команду cURL в адресное поле запроса. Это не создаёт запрос: она заменяет метод, адрес, заголовки, тело, авторизацию и настройки открытого запроса, а его имя и место сохраняет. Всё, что не удалось использовать, перечислено под адресной строкой как примечания по cURL.

Отчёт об импорте

После импорта открывается отчёт. В его заголовке сказано, что добавилось («Импортировано: 22 запроса, 7 папок»); ниже — из каких форматов и всё ли импортировано. Затем по каждому файлу:

  • Заметки обо всём, что не удалось перенести как есть. Ничего не отбрасывается без заметки.
  • Секреты: имена значений, сохранённых в Связку ключей вместо файлов. Сами значения не показываются никогда.

Показать в боковой панели выделяет импортированное; Готово закрывает отчёт. Одна команда cURL, к которой нечего добавить, открывается сразу, без отчёта.

Секреты попадают в Связку ключей

В файлах рабочего пространства пароль, токен или ключ никогда не лежат открытым текстом, поэтому их можно коммитить в Git.

  • Учётные данные, введённые в запросах (в авторизации, в заголовке Authorization, в заголовке с API-ключом), становятся секретными переменными, названными по запросу и полю. Например, curl -u heidi:alpenglow https://demo.echolot.dev/echo/basic-auth/heidi/alpenglow создаёт запрос с именем heidi-alpenglow, пароль которого — {{heidi_alpenglow_password}}; значение попадает в Связку ключей.
  • Секретные значения окружений и коллекций попадают в Связку ключей так же.

Учётные данные в строках запроса адресов, в телах и в адресах вида user:password@ пока не переносятся: проверьте их, прежде чем коммитить импортированное рабочее пространство. См. Секреты.

Скрипты

Скрипты перед запросом и тестовые скрипты из Postman переносятся и выполняются в песочнице pm.* Echolot. Приложение запускает импортированные скрипты только после того, как вы им доверитесь: отчёт сообщает, сколько их было, а первая отправка, которой они нужны, просит вас их просмотреть (Просмотреть скрипты…). Скрипты и тесты Bruno переносятся как написаны, но bru, req и res в Bruno — не pm из Postman, поэтому перед запуском их, возможно, придётся поправить. См. Скрипты и тесты.

Что не переносится

Отчёт называет каждый из этих случаев, когда он происходит:

ФорматЧто пропущено или изменено
cURLФайлы cookie, параметры, для которых в Echolot нет настройки, заголовки без двоеточия. Тело или поле формы, читаемое из файла (-d @file, -F field=@file), читается из этого файла при отправке запроса.
PostmanТипы авторизации, которых нет в Echolot. Тела-файлы и поля-файлы: выберите файлы заново.
InsomniaЭлементы видов, которых нет в Echolot. Теги шаблонов ({% … %}), для которых в Echolot нет эквивалента, остаются текстом. Типы авторизации, которых нет в Echolot. Тела-файлы и поля-файлы. Тип получения доступа OAuth 2.0, которого Echolot не предлагает, становится кодом авторизации.
OpenAPIПараметры в местах, которые запрос вместить не может, тела запросов типов, которые он вместить не может, потоки OAuth (настройте авторизацию вручную), API-ключи, передаваемые в cookie (добавьте заголовок Cookie). Спецификация без серверов или с относительным адресом сервера: перед отправкой задайте {{baseUrl}}. Устаревшие операции всё равно импортируются.
HARИзображения, шрифты, скрипты и таблицы стилей. Повторяющиеся запросы попадают один раз. Заголовки с учётными данными сеанса браузера: настройте авторизацию на папке.
PawДинамические значения типов, которых нет в Echolot, становятся пустым текстом. Ссылки на файлы и клиентские сертификаты: задайте их заново.
BrunoРежимы тела и авторизации, которых нет в Echolot. Заголовки, общие для всей папки (у папок Echolot их нет): добавьте их в запросы или в скрипт перед запросом. Проверки с оператором, для которого в Echolot нет эквивалента.

Файлы OpenAPI остаются связанными

При импорте файла OpenAPI или Swagger его копия сохраняется и в папке specs/ рабочего пространства, а новая папка запросов следует за этой спецификацией: когда спецификация меняется, Echolot может показать, что изменилось, и применить это к запросам. Редактируйте спецификацию на странице Спецификации.

Импорт из командной строки

echolot import принимает те же форматы в папку рабочего пространства, так что миграцию или импорт в CI можно автоматизировать:

echolot import Alpenglow.postman_collection.json -w "Alpenglow.echolot"
echolot import staging.postman_environment.json -w "Alpenglow.echolot"
echolot import openapi.yaml -w "Alpenglow.echolot" --folder catalog
pbpaste | echolot import - -w "Alpenglow.echolot"       # a cURL command from the clipboard

Формат он определяет по содержимому; --format пропускает определение (curl, postman-collection, postman-environment, openapi, swagger, insomnia, har, paw или mcp-config). Он выводит тот же отчёт:

Imported 22 requests, 7 folders from Postman collection v2.1.
warning: 19 pre-request or test scripts were imported; Echolot runs them once you trust them.

На Mac секреты попадают в Связку ключей, как в приложении. Там, где Связки ключей нет (Linux или ECHOLOT_KEYCHAIN=0), они остаются вне файлов, а инструмент сообщает, какие переменные ECHOLOT_SECRET_<NAME> задать там, где вы отправляете запросы. Сам инструмент командной строки выполняет любые скрипты без вопросов, как Newman.

Чтобы запустить коллекцию Postman, импортировать её не обязательно: echolot run collection.json запускает её как есть. См. Импорт и экспорт и echolot run.

Об обратном направлении см. Экспорт.

На этой странице