API-клиент как расширение браузера: Chrome, Edge и Firefox

Открыли браузер — отправили запрос. Без Electron-приложения, без установщика и без прав администратора.

PolyApiIDE работает внутри браузера, а не рядом с ним. Это меняет три практические вещи: как ставится, где лежат данные и что из этого следует технически. Разбираем честно, вместе с ограничениями браузерной песочницы.

Что это даёт на практике

  • Установка без админа. На рабочей машине с ограниченными правами расширение ставится там, где установщик десктоп-приложения не пройдёт.
  • Нет второго окна. Фронтенд, DevTools и клиент API — в одном браузере, переключение вкладкой.
  • Данные в профиле браузера. Коллекции, окружения и токены лежат локально, вместе с профилем, а не в облаке вендора.
  • Один и тот же инструмент в разных браузерах. Chrome, Edge, другие Chromium-браузеры и Firefox.
  • Обновления через магазин. Отдельно следить за версией не нужно; у Lifetime новая сборка дополнительно попадает в архив сразу, не дожидаясь публикации.

Где работает

БраузерСтатусОткуда ставить
Google Chrome Основная платформа, MV3 Chrome Web Store
Microsoft Edge Поддерживается Chrome Web Store
Другие Chromium-браузеры Поддерживаются Chrome Web Store
Mozilla Firefox Поддерживается Firefox Add-ons
Safari Не поддерживается —

Кнопки установки под ваш браузер — внизу этой страницы.

Что браузер не позволяет — честно

Браузерная песочница даёт безопасность, но забирает часть возможностей. Чтобы вы не узнали об этом в середине задачи:

  • gRPC — только через JSON-transcoding. Нативного gRPC-канала и streaming из браузера нет; нужен шлюз вроде grpc_json_transcoder или grpc-gateway на стороне сервиса.
  • WebSocket: заголовки при рукопожатии не задать. Это ограничение браузерного API, не расширения. Токен передаётся через query-параметр, cookie или подпротокол.
  • Электронная подпись запроса не формируется. Если по регламенту нужна ЭП, подписывать нужно вне расширения.
  • Нагрузка ограничена браузером. Профили нагрузки есть, но это не распределённый генератор: по HTTP/1.1 действует лимит соединений на хост. Для десятков тысяч RPS нужны k6 или JMeter.
  • Нет CLI и CI-режима. Прогон коллекции запускается из интерфейса.

Установка и первый запрос

1. Поставьте расширение

Из магазина своего браузера. Аккаунт на сайте и ключ не нужны — Free активен сразу.

2. Откройте рабочее пространство

Иконка расширения на панели браузера. Создайте пространство и окружение с базовым адресом вашего API.

3. Отправьте запрос

Метод, URL, заголовки, тело. В URL и заголовках работают подстановки {{var}} и {var} из окружения.

4. Подтяните существующие коллекции

Импортируйте выгрузку из Postman, OpenAPI, WSDL или просто вставьте команду curl. Всё это доступно на бесплатном тарифе.

Частые вопросы

Какие разрешения запрашивает расширение и зачем?

Разрешения нужны для отправки запросов к произвольным адресам и локального хранения коллекций. Состав обрабатываемых данных перечислен в политике конфиденциальности, ссылка в подвале.

Можно ли обращаться к localhost и сервисам в локальной сети?

Да, запросы к локальным адресам работают. Если сервис отвечает ошибкой CORS, настраивайте CORS на самом сервисе — браузер проверяет это раньше расширения.

Данные синхронизируются между моими браузерами?

Нет, автоматической синхронизации нет. Перенос — явным экспортом и импортом коллекции. Это осознанное решение: по умолчанию ничего не уходит с устройства.

Удалю расширение — потеряю коллекции?

Да, вместе с локальным хранилищем. Перед удалением профиля или расширения сделайте экспорт.

Есть ли десктоп-версия?

Нет, продукт существует как расширение браузера. Это и есть его смысл: ничего не устанавливать в систему.