Insomnia — настолен HTTP клиент с отворен код за тестване на REST, GraphQL и WebSocket API. Инструментът се отличава с минималистичен интерфейс, вграден редактор на заявки и поддръжка на променливи на средата без необходимост от регистрация. Според Insomnia Documentation (2026) клиентът поддържа автоматично генериране на код на над 20 езика за програмиране.
Основни моменти
Insomnia — крос-платформена приложение (Electron) за изпращане на HTTP заявки и отстраняване на грешки в API. Разработва се от компанията Kong от 2016 г. като алтернатива на Postman с акцент върху скоростта на работа и поверителността: данните се съхраняват локално, облачната синхронизация е по избор и изисква регистрация.
Основният прозорец е разделен на три колони: отляво — дървото на заявките (Workspace), в средата — редакторът на заявки с разделите Params, Headers, Body, отдясно — панелът за отговор с режимите Pretty, Raw и Preview. Тъмната тема е включена по подразбиране, като се поддържат персонализирани теми чрез CSS променливи.
Insomnia поддържа експорт на заявката в код на над 20 езика и рамки: cURL, HTTPie, Python Requests, JavaScript Fetch/Axios, Kotlin OkHttp, Swift URLSession, Java Unirest, Ruby Net::HTTP и други. Генераторът отчита заглавията, тялото на заявката и вида на автентикацията, което ускорява интегрирането на API в кода на приложението.
Insomnia и Postman решават една и съща задача, но с различни приоритети. Insomnia е по-лек (~80 MB срещу ~300 MB), стартира по-бързо и работи напълно офлайн, без да налага регистрация. Postman предлага по-зряла екосистема с мониторинг, mock сървъри и екипни работни пространства.
| Критерий | Insomnia | Postman |
|---|---|---|
| Тегло на приложението | ~80 MB | ~300 MB |
| Офлайн режим | Пълен | Ограничен |
| GraphQL | Вграден редактор | Бета версия |
| CLI | Inso CLI | Newman |
| Плъгини | Plugin Hub | Разширения |
За индивидуална разработка и бързо тестване на крайни точки Insomnia е по-удобен благодарение на лекотата си и липсата на регистрация. За екипна работа с обща колекция, CI/CD интеграция и мониторинг на производствен API Postman остава индустриален стандарт.
Workspace в Insomnia съдържа дървото на заявките, разделено на папки. Всяка заявка може да бъде от тип HTTP, GraphQL, WebSocket или gRPC. Поддържат се влачене, дублиране и групиране на заявки по цветни етикети. Конфигурационният файл на работното пространство се съхранява във формат JSON.
Insomnia поддържа вложени среди (Sub Environments), които наследяват променливите на родителя. Това позволява да се зададе основен URL в глобалната среда и да се презаписват само различаващите се параметри за различните среди. Променливите се заместват чрез синтаксиса {`{`}_variable${`}`}.
// Пример за структура на средата на Insomnia
{
"base_url": "https://api.example.com",
"timeout": 5000,
"headers": {
"Content-Type": "application/json",
"Accept": "application/json"
}
}Insomnia предоставя един от най-добрите редактори за GraphQL сред API клиентите. Разделът GraphQL Query позволява писане на заявки с автоматично довършване на полетата въз основа на заредената схема. Отдясно в реално време се показва документация за типовете, полетата и аргументите.
Схемата се зарежда чрез GraphQL Introspection заявка към крайната точка. Insomnia кешира схемата локално и я обновява автоматично при промени. След зареждането стават достъпни автоматичното довършване (Ctrl+Space), валидирането на заявката и прегледът на възможните грешки преди изпращане.
# GraphQL заявка с променливи в Insomnia
query GetUser($id: ID!) {
user(id: $id) {
name
email
posts {
title
createdAt
}
}
}Insomnia Plugin Hub съдържа над 100 плъгина, които разширяват функционалността на клиента. Плъгините се инсталират чрез менюто Preferences → Plugins или ръчно чрез npm. Популярните категории включват генериране на тестови данни, експорт в различни формати и персонализирани валидатори на отговори. Всеки плъгин преминава през задължителна модерация преди публикуване в общия хъб на разработчиците.
Плъгините се пишат на JavaScript и взаимодействат с Insomnia чрез API-то за шаблони (response.*, request.*, environment.*). Разработването на плъгин изисква основни познания по Node.js и публикуване чрез npm пакет с таг insomnia-plugin.
Inso CLI — конзолна програма, вградена в Insomnia, за стартиране на заявки и тестове от терминала. Inso стартира отделни заявки или цели колекции, експортира резултатите в JSON и може да се интегрира в CI/CD пайплайни. Командата inso run collection последователно изпълнява всички заявки в колекцията.
Inso CLI работи в Docker контейнери и в headless режим, което позволява използването му в GitHub Actions и GitLab CI. Конфигурацията за стартиране се описва в YAML файл с посочване на пътя към експортираната колекция и средата. Поддържат се твърдения за кода на състоянието и тялото на отговора чрез JavaScript скриптове.
# GitHub Actions workflow с Inso CLI
- name: Run API tests
run: npx insomnia-inso run collection
--collection "Auth API"
--env "Staging"
--reporter junit
--output reports/api-results.xmlInsomnia поддържа синхронизация на колекциите чрез Git. Файловете на колекциите се съхраняват във формат JSON и могат да бъдат добавени в хранилището на проекта. Insomnia предоставя вграден Git клиент за преглед на промените, създаване на комити и разрешаване на конфликти при сливане директно от интерфейса.
За да свържете Git, създайте локална папка с хранилище и я посочете като основна директория в настройките на Insomnia. Приложението автоматично следи промените във файловете на колекцията и ги показва в панела Version Control. Поддържат се стандартни операции: commit, push, pull и преглед на diff между версиите.
За проекти без Git Insomnia предлага облачна синхронизация чрез Insomnia Cloud. Безплатният тарифен план включва до 3 членове на екипа и автоматично архивиране на колекциите. Платените тарифни планове добавят управление на достъпа, одит на промените и приоритетна поддръжка.
| Начин на синхронизация | Безплатно | Офлайн | Контрол на версиите |
|---|---|---|---|
| Git (локален) | Да | Да | Пълен (commit, diff, merge) |
| Insomnia Cloud | До 3 потребители | Не | Основен (история на промените) |
| Файлов експорт | Да | Да | Ръчен (чрез системата за контрол на версиите) |
Design Mode в Insomnia позволява създаването на API спецификации във формат OpenAPI 3.0. Режимът работи като визуален редактор: дефинирайте крайни точки и схеми на данни, без да пишете YAML на ръка. Спецификацията може да бъде експортирана в JSON или YAML.
Insomnia импортира OpenAPI спецификации и създава колекция от заявки за всяка крайна точка. Пътищата и схемите се преобразуват в готови HTTP заявки. Функцията е полезна при интеграция с микросървизи, където спецификацията се съхранява в отделно хранилище на екипа.
На всяка заявка може да се зададе цветен етикет: red, blue, green, orange, purple. Филтрирането по етикети работи чрез полето за търсене независимо от структурата на папките, което улеснява навигацията в проекти със стотици крайни точки и множество модули.
Design Mode в Insomnia позволява създаването на API спецификации във формат OpenAPI 3.0 директно в приложението. Режимът работи като визуален редактор: дефинирайте крайни точки, схеми на данни и параметри, без да пишете YAML на ръка. Спецификацията може да бъде експортирана в JSON или YAML за публикуване в хранилището.
Insomnia импортира съществуващи OpenAPI спецификации и автоматично създава колекция от заявки за всяка крайна точка. Пътищата и схемите се преобразуват в готови HTTP заявки с правилни типове данни. Тази функция е полезна при интеграция с микросървизи, където спецификацията се съхранява и поддържа от отделен екип от бекенд разработчици.
За организирането на голям брой заявки Insomnia поддържа маркиране — на всяка заявка може да се зададе цветен етикет: red, blue, green, orange, purple. Филтрирането по етикети работи чрез полето за търсене независимо от структурата на папките, което улеснява навигацията в проекти със стотици крайни точки и множество функционални API модули.
Често задавани въпроси
Не, регистрацията не е задължителна. Insomnia работи напълно офлайн. Облачната синхронизация е достъпна като опция за екипна работа, но всички данни се съхраняват локално в JSON файлове в папката ~/.config/Insomnia/.
Експортирайте колекцията от Postman във формат JSON (Collection v2.1). В Insomnia изберете Import/Export → Import Data → From File. Insomnia автоматично конвертира колекцията, като запазва заявките, заглавията и променливите на средата.
Да, от версия 2022 г. Insomnia поддържа протоколите WebSocket и Socket.IO. Създайте нова заявка от тип WebSocket, посочете URL (ws:// или wss://) и изпращайте съобщения през интерфейса за чат.
Inso CLI — собствена програма на Insomnia за стартиране на колекции от конзолата. Newman е аналогът за Postman. Inso е по-лек, не изисква отделна инсталация (доставя се с Insomnia) и поддържа всички типове заявки на Insomnia, включително GraphQL.
Да, Insomnia поддържа gRPC заявки чрез раздела gRPC. Изисква се зареждане на .proto файл с дефиницията на услугата. След зареждането Insomnia показва наличните RPC методи и генерира двоично Protobuf съобщение за изпращане.
Изводи
Ще разработим мобилно приложение под ключ
IT Sectr създава iOS и Android приложения за стартъпи и бизнеси от 2017 г. Ще ви консултираме и ще предложим най-доброто решение.
Прочетете също