Об этом проекте
Insomnia — это кроссплатформенный десктопный API-клиент с открытым исходным кодом, поддерживающий GraphQL, REST, WebSockets, Server-Sent Events (SSE), gRPC и другие HTTP-совместимые протоколы. Он доступен для Mac, Windows и Linux, распространяется под лицензией Apache-2.0 и разрабатывается компанией Kong на GitHub.
Возможности, описанные в README:
- Отладка API с использованием популярных протоколов и форматов.
- Проектирование API с помощью встроенного редактора OpenAPI и визуального предпросмотра.
- Тестирование API с помощью встроенных тестовых наборов и коллекционного раннера.
- Мокинг API через облачный или self-hosted сервер моков.
- Создание CI/CD конвейеров с использованием нативного Insomnia CLI (Inso) для линтинга и тестирования.
- Совместная работа через встроенные функции коллаборации.
- Расширение возможностей клиента с помощью сторонних плагинов.
Варианты хранения. Проекты, коллекции, спецификации дизайна и другие ресурсы могут храниться в разных бэкендах, причем для каждого проекта их можно комбинировать:
- Local Vault для 100% локального хранения.
- Git Sync для использования любого стороннего Git-репозитория без маршрутизации через облако.
- Cloud Sync для облачного взаимодействия, с опцией сквозного шифрования (E2EE).
Функция Private Environments позволяет хранить конфигурации окружения локально независимо от выбранного бэкенда хранения проекта.
Аккаунты и тарифы. Insomnia можно использовать без аккаунта через локальный Scratch Pad. Большинство других возможностей требуют наличия аккаунта; в README поясняется, что именно так поддерживается разработка бесплатной open-source версии. Бесплатный уровень описывается как щедрый, а премиум-планы добавляют неограниченную коллаборацию, Git Sync, создание организаций и вход через сторонних провайдеров идентификации (SAML, OIDC). Хранение данных API только локально или в Git возможно независимо от наличия аккаунта.
Разработка. Репозиторий представляет собой Node.js monorepo; для внесения вклада требуются Node.js и Git, версия Node указана в .nvmrc. Общие команды корневого уровня включают npm i, npm run lint, npm run type-check, npm test, npm run dev (live reload) и npm run dev:autoRestart (live reload рендерера плюс автоперезапуск основного процесса). Пользователям Linux могут потребоваться вспомогательные пакеты, такие как libfontconfig-dev в Ubuntu/Debian или libcurl-devel в Fedora, а также может потребоваться очистка кэша установки Electron в случае сбоя. Inso CLI имеет собственный рабочий процесс: npm i, npm run inso-start для компиляции в режиме отслеживания, затем ./packages/insomnia-inso/bin/inso -v.
Экосистема и сообщество. Плагины можно найти и установить в Insomnia Plugin Hub. В README упоминаются комьюнити-проекты, включая Insomnia Documenter (генерация страниц документации API), импортер спецификаций GitHub REST API и Swaggymnia (генерация документации Swagger для существующего API). Отчеты об ошибках и запросы функций направляются через трекер задач GitHub после ознакомления с правилами; общие вопросы по продукту решаются в Slack-сообществе проекта. Официальная документация находится по адресу docs.insomnia.rest.
Важные примечания из README: необходимость наличия аккаунта для большинства функций, а также опциональные платные планы для коллаборации и Git Sync. Сам исходный код распространяется под лицензией Apache-2.0.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.