عن المشروع

Insomnia هو عميل API مكتبي مفتوح المصدر ومتعدد المنصات يغطي GraphQL وREST وWebSockets وServer-Sent Events (SSE) وgRPC وغيرها من البروتوكولات المتوافقة مع HTTP. يتم توزيعه لأنظمة Mac وWindows وLinux، وهو مرخص بموجب Apache-2.0، وتعمل شركة Kong على تطويره بشكل مفتوح على GitHub. ما يوضحه ملف README حول إمكانياته: - تصحيح أخطاء واجهات برمجة التطبيقات (APIs) باستخدام البروتوكولات والتنسيقات الشائعة. - تصميم واجهات برمجة التطبيقات باستخدام محرر OpenAPI أصلي ومعاينة مرئية. - اختبار واجهات برمجة التطبيقات باستخدام مجموعات اختبار أصلية ومشغل مجموعات (collection runner). - محاكاة واجهات برمجة التطبيقات من خلال خادم محاكاة سحابي أو مستضاف ذاتياً. - بناء خطوط أنابيب CI/CD باستخدام Insomnia CLI الأصلي (Inso) لعمليات التدقيق (linting) والاختبار. - التعاون من خلال ميزات التعاون المدمجة في المنتج. - توسيع العميل باستخدام إضافات الطرف الثالث. خيارات التخزين. يمكن الاحتفاظ بالمشاريع والمجموعات ومواصفات التصميم والموارد الأخرى في خلفيات تخزين مختلفة، ويذكر ملف README أنه يمكن الجمع بينها لكل مشروع: - Local Vault، للتخزين المحلي بنسبة 100%. - Git Sync، باستخدام أي مستودع Git خارجي دون التوجيه عبر السحابة. - Cloud Sync، للتعاون السحابي، مع خيار التشفير من طرف إلى طرف (E2EE). تضمن ميزة Private Environments بقاء تكوين البيئة مخزناً محلياً بغض النظر عن خلفية التخزين المختارة للمشروع. الحسابات والخطط. يمكن استخدام Insomnia بدون حساب عبر Scratch Pad المحلي. تتطلب معظم القدرات الأخرى حساباً؛ ويوضح ملف README أن هذه هي الطريقة التي يدعم بها المشروع تطوير توزيعة مفتوحة المصدر متاحة مجاناً. توصف الفئة المجانية بأنها سخية، بينما تضيف الخطط المميزة تعاوناً غير محدود، و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 (إعادة تحميل مباشرة) وnpm run dev:autoRestart (إعادة تحميل مباشرة للمصيّر بالإضافة إلى إعادة تشغيل تلقائية للعملية الرئيسية). قد يحتاج مستخدمو 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 لواجهة برمجة تطبيقات موجودة). يتم إرسال تقارير الأخطاء وطلبات الميزات عبر متعقب مشكلات GitHub بعد قراءة إرشادات المشكلات؛ بينما يتم التعامل مع الأسئلة العامة حول المنتج في مجتمع Slack الخاص بالمشروع. التوثيق الرسمي موجود في docs.insomnia.rest. تنبيهات ملحوظة من ملف README: اشتراط وجود حساب لمعظم الميزات، بالإضافة إلى خطط مدفوعة اختيارية للتعاون وGit Sync. الكود المصدري نفسه مرخص بموجب Apache-2.0.