Echolot
Рабочие пространства

Экспорт

Экспортируйте рабочее пространство или папку как рабочее пространство Echolot, коллекцию Postman, Insomnia или Bruno, а запрос — как cURL, код или HAR.

Экспортируйте рабочее пространство или одну из его папок, чтобы передать тому, кто пользуется другим инструментом, или перенести копию на другой Mac. Echolot записывает четыре формата: рабочее пространство Echolot, Postman Collection v2.1, файл Insomnia v5 и коллекцию Bruno. Секретные значения никогда не покидают вашу связку ключей.

Экспорт рабочего пространства или папки

  1. Начните экспорт:
    • Всё рабочее пространство: Файл › Экспортировать рабочее пространство… (⇧⌘E) или Экспортировать рабочее пространство… в меню + рядом с Запросы на боковой панели.
    • Одна папка: щёлкните её, удерживая Control, и выберите Экспортировать папку… либо выберите её и выберите Файл › Экспортировать папку….
  2. Выберите формат. Для каждого указано, сколько запросов он вмещает.
  3. Оставьте отмеченным Включить окружения, чтобы экспортировать и окружения, или снимите флажок.
  4. Нажмите Экспортировать…, выберите место и нажмите Экспорт.

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

Лист экспорта рабочего пространства Alpenglow: четыре формата, выбран Postman Collection v2.1, для каждого указано, сколько из 29 запросов он вмещает и какие виды остаются

Форматы

ФорматДля чегоКакие виды запросов вмещаетВо что записывается
Рабочее пространство Echolot«Всё, все виды запросов — для другого Mac или коллеги.»ВсеПапка рабочего пространства (.echolot)
Postman Collection v2.1«Формат, который импортирует большинство API-инструментов: Postman, Insomnia, Bruno, Hoppscotch, Apidog.»HTTP, GraphQLФайл .postman_collection.json; папка, если вместе идут окружения
Insomnia v5«Один YAML-файл для Insomnia 10 и новее, вместе с окружениями.»HTTP, GraphQL, WebSocket, Socket.IO, gRPCФайл .yaml
Коллекция Bruno«Папка с файлами .bru, чтобы хранить их в Git и открывать в Bruno.»HTTP, GraphQLПапка

Запросы MQTT и сохранённые вызовы MCP попадают только в рабочее пространство Echolot. Формат показывает виды, которые он оставляет, до экспорта. Для Alpenglow Postman показывает «21 из 29 запросов · MCP, MQTT, Socket.IO, WebSocket и gRPC не войдут».

Что берёт с собой папка

Папка экспортируется вместе с тем, что она наследует: переменные, авторизация и скрипты рабочего пространства и вышестоящих папок. Тогда запросы в другом инструменте отправляют то же, что и в Echolot.

Отчёт

После экспорта лист сообщает, что было записано, например «Экспортировано 21 запрос, 7 папок, 3 окружения в формате Postman Collection v2.1: …». Если есть что сказать, следом идут два списка:

  • Не вошло: каждый запрос, для которого в формате нет места, и почему («В Postman Collection v2.1 нет запросов MQTT.»).
  • Изменено при экспорте: каждая часть, которая получилась иной.

Нажмите Показать в Finder, чтобы увидеть экспорт, или Закрыть.

Что обычно меняется в Postman, Insomnia и Bruno:

  • Захваты из ответов не экспортируются. Другие инструменты задают переменные из скриптов.
  • Настройки отдельных запросов (тайм-ауты, TLS, редиректы, версия HTTP) не экспортируются, кроме случаев, когда в формате есть такая же настройка.
  • Проверки становятся тестами другого инструмента, если у него есть аналог. Отчёт считает те, для которых аналога нет, например проверки JSON Schema, OpenAPI и фильтров JSONPath.
  • Скрипты пишутся для API pm из Postman. В Postman они попадают как есть; в Insomnia стоит insomnia; в Bruno они переходят как есть и могут потребовать правок под API Bruno.
  • Динамические значения, для которых у другого инструмента нет аналога, сохраняются как написаны. Замените их, прежде чем отправлять туда.
  • Тела-файлы указывают на путь к файлу на вашем Mac. Выберите файл заново там, где открывается коллекция.
  • Авторизация, которой нет в другом инструменте, пропускается или меняется, и отчёт называет её.
  • Подписки GraphQL через WebSocket становятся обычными запросами GraphQL, а загрузки файлов GraphQL не экспортируются.

Секреты остаются дома

Секретные переменные уходят по имени, без значений, в любом формате. Тот, кто открывает экспорт, задаёт значения в своём инструменте.

Пароль, токен или ключ, введённый прямо в поле авторизации или заголовка, а не хранящийся в секретной переменной, записывается открытым текстом. Отчёт их считает: «1 пароль, токен или ключ записан открытым текстом…». В Alpenglow это секрет клиента OAuth 2.0 в Auth › Orders with OAuth 2. Перенесите такие значения в связку ключей, прежде чем делиться файлом. См. секреты.

Копия рабочего пространства Echolot

Экспорт как Рабочее пространство Echolot — это новое рабочее пространство с собственным ID, поэтому оно не делит с вашим секреты из связки ключей.

  • Всё рабочее пространство берёт всё: запросы, окружения, MCP-серверы, спецификации, моки, сценарии и разговоры с Ассистентом, которыми вы поделились.
  • Папка берёт окружения, MCP-серверы и спецификации и сохраняет своё место: папки выше идут с ней, и в каждой лежит только следующая вниз, так что наследуемое и ссылки между её запросами сохраняются. Сценарии, моки и общие разговоры с Ассистентом остаются в рабочем пространстве; отчёт сообщает об этом.

Собственная папка Git и файлы .DS_Store из Finder не копируются.

Куда можно экспортировать

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

В командной строке

echolot export записывает те же форматы:

echolot export alpenglow.postman_collection.json -w Alpenglow.echolot --format postman
echolot export orders-bruno -w Alpenglow.echolot --format bruno --folder orders --no-environments

--format — это echolot, postman, insomnia или bruno. То, для чего в формате нет места, называется в стандартном потоке ошибок. См. импорт и экспорт.

Копирование запроса как кода

Со страницы запроса, для открытого запроса:

  • Запрос › Скопировать как cURL (⌥⌘C) помещает команду curl в буфер обмена, с разрешёнными переменными и секретами.
  • Запрос › Сгенерировать код… (⌥⌘G) показывает запрос как код с разрешёнными переменными. Скрипты не выполняются, а секреты показываются как есть. Выберите язык, затем Скопировать или Сохранить….

«Сгенерировать код» знает cURL, Swift (URLSession), JavaScript (fetch и axios), TypeScript (fetch), Python (requests и httpx), Go (net/http), Kotlin (OkHttp), Java (HttpClient), C# (HttpClient), PHP (cURL) и Rust (reqwest).

Чтобы добавить язык, нажмите Открыть папку шаблонов и положите туда файл .template. Его первая строка называет его в списке и записывается как комментарий: {{! Ruby · Net::HTTP }}. Шаблон с тем же именем файла, что и у встроенного, например python-requests.template, заменяет его.

Код и команды cURL содержат секреты запроса открытым текстом. Не вставляйте их туда, где их могут прочитать другие.

Экспорт обмена в HAR

Чтобы сохранить или передать один обмен в том виде, в каком он произошёл, выберите Запрос › Экспортировать обмен в HAR… или Экспортировать обмен в HAR… в меню сохранения над телом ответа. Файл HAR содержит запрос и ответ.

Прогон экспортирует все обмены запуска одним файлом HAR, а echolot run --reporter har делает то же в командной строке.

В меню сохранения над телом ответа есть также Сохранить тело…, Открыть в программе по умолчанию и, для сжатого ответа или ответа gRPC, Сохранить закодированное тело…: байты в том виде, в каком они пришли.

Спецификации экспортируются со страницы «Спецификации».

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