Об этом проекте

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.