
بانغولين صار بوابة ذكاء اصطناعي بهدوء — وخطّ الترخيص مكشوف في الشيفرة
من يعرف Pangolin يعرفه بوصفه وسيطاً عكسياً (Reverse Proxy) يعمل عبر أنفاق WireGuard، يضعه أصحاب المختبرات المنزلية أمام خدماتهم — الجواب المستضاف ذاتياً على Cloudflare Tunnel. في ٢٧ أغسطس ٢٠٢٦ صدر الإصدار 1.22.0، وميزته الرئيسية ليست شبكية إطلاقاً. إنها بوابة ذكاء اصطناعي (AI Gateway): نقطة وصول واحدة موثّقة الهوية، تقف أمام واجهات النماذج التجارية وأمام خوادم النماذج التي تعمل على عتادك أنت.
هذا وحده يستحق النظر. لكن الأنفع في هذا الإصدار يظهر حين تتوقف عن قراءة سجل التغييرات وتبدأ بقراءة ترويسات التراخيص.
ما هي
البوابة — بوصف المشروع نفسه — وسيط واعٍ بالهوية يقف أمام واجهات السحابة العامة وأمام خوادم النماذج المستضافة ذاتياً. وكيل البرمجة عندك يخاطب رابط Pangolin واحداً بدل أن يحمل بيانات اعتماد خمسة مزودين. Pangolin يحتفظ بالمفاتيح الحقيقية، ويقرر من يحق له استخدام أي نموذج، ويقيس الإنفاق، ويسجّل الجلسة.
قائمة المزودين الموثّقة في 1.22 تغطي الجانب التجاري — OpenAI وAnthropic وGoogle Gemini وAmazon Bedrock وVertex AI وMicrosoft Foundry وOpenRouter وVercel AI Gateway — والأهم لجمهور هذا القسم: الجانب المستضاف ذاتياً، أي Ollama وvLLM وBifrost، إضافة إلى خيار مخصص لأي نقطة نهاية متوافقة مع OpenAI. وهذه ليست إضافات هامشية؛ لكل واحدة صفحة توثيق مستقلة.
وحول ذلك تدور الميزات التي تجعلها بوابة لا مجرد إعادة توجيه: مفاتيح API افتراضية تُصدر لكل هوية أو لكل جهاز، وتحكم بالوصول قائم على الهوية، وسقوف للإنفاق والرموز (Tokens) يمكن ربطها بالأدوار أو المزودين أو النماذج أو الموارد أو بمفتاح بعينه، ومعالج إعداد لعملاء وكلاء البرمجة.
لماذا لم تسمع بها
سببان، وليس أيٌّ منهما أن المشروع مغمور. المستودع يحمل ٢٢٬٥٤٨ نجمة، وآخر دفعة شيفرة إليه كانت في ٢٨ أغسطس ٢٠٢٦.
السبب الأول تصنيفي. Pangolin مُصنَّف في ذهن الجميع تحت خانة «وسيط عكسي»، ويظهر في نقاشات المختبرات المنزلية بجوار Traefik وNginx Proxy Manager. من يبحث عن بوابة نماذج لغوية لا يبحث هناك، ومن يشغّل Pangolin للوصول عن بُعد لم يكن يترقّب واحدة. الميزة وصلت داخل أداة كان الجمهور قد ثبّتها أصلاً لسبب آخر تماماً.
السبب الثاني أن سوق بوابات الذكاء الاصطناعي صاخب. LiteLLM وPortkey وإضافات Kong وBifrost كلها تسوّق نفسها بوصفها بوابات. Pangolin لا يفعل — يسوّق نفسه أداة وصول عن بُعد، والبوابة تقرأ كبند في ملاحظات إصدار.
كيف تعمل
الآلية هي آلية الوسيط العكسي المعتادة مطبَّقة على حركة النماذج، ولهذا بالذات تتناغم مع ما يفعله Pangolin أصلاً. العميل يقدّم مفتاحاً افتراضياً صادراً عن Pangolin بدل مفتاح المزوّد. البوابة تحدّد أي وجهة يُسمح لهذه الهوية بالوصول إليها، وتستبدل بيانات الاعتماد الحقيقية، وتمرّر الطلب، وتعيد بثّ الاستجابة، وتسجّل كلفتها.
الجزء الذي يصعب فعلاً تكراره في مكان آخر هو الوصول إلى خادم خاص. جهاز Ollama داخل شبكتك المحلية بلا عنوان عام، ولذلك لا تراه معظم البوابات. أما Pangolin فيدير أصلاً أنفاقاً إلى تلك الشبكات بحكم وظيفته الأساسية، ولهذا يكتفي التوثيق بالقول: ثبّت موقعاً (Site) على الشبكة نفسها التي فيها Ollama، ووجّه إليه عبر النفق القائم. عندها تصير البوابة المكان الوحيد الذي يتساوى فيه نموذج سحابي وجهاز في قبو منزلك بنظر المُستدعي.
تحذير عملي واحد من ملاحظات الإصدار، يستحق أن يُعرف قبل البناء عليه: موارد البوابة الخاصة تتطلب مكوّن Gerbil بالإصدار 1.5.0، والترحيل لن يحدّث Gerbil نيابة عنك — عليك رفع إصدار الحاوية يدوياً. أما الموارد العامة فتحتاج إضافة Badger لـTraefik بالإصدار v1.6.0 أو أحدث، وهذه يتولاها الترحيل تلقائياً إن وجد إعدادات Traefik في مسارها المعتاد. ودعم العملاء لم يصل إلا في الإصدارات الصادرة بعد ١٩ أغسطس ٢٠٢٦.
تشغيلها
التثبيت عبر مثبِّت تفاعلي، لا عبر ملف compose تنسخه:
curl -fsSL https://static.pangolin.net/get-installer.sh | bash
sudo ./installer
يسأل المثبِّت عن نطاق جذر، ونطاق للوحة التحكم، وبريد لـLet’s Encrypt، وهل تريد تثبيت Gerbil للاتصالات النفقية — والأهم: أي إصدار تريد، المجتمعي أم المؤسسي؟ احتفظ بهذا السؤال في ذهنك، فهو أهم مما يبدو.
توجيه البوابة إلى Ollama محلي هو موضع النفع الحقيقي للتوثيق، لأن ثمة تفصيلة واحدة ستكلّفك أمسية كاملة لو لم تعرفها. Pangolin يخاطب Ollama عبر مستمعه المتوافق مع OpenAI:
http://<host>:11434/v1/chat/completions
والتوثيق صريح في أن هذا هو المسار المطلوب، «لا مسار Ollama الأصلي /api/chat». وللمضيف الذي يمكن بلوغه مباشرة يكون الرابط http://<host>:11434. أما إن كان Ollama داخل شبكة خاصة فتبدّل وضع التوجيه إلى Site Targets وتضبط المضيف على المنفذ 11434 عبر HTTP، بعد تثبيت موقع على تلك الشبكة. ونوع المصادقة «بلا مصادقة» داخل الشبكة الخاصة، أو Bearer إن كنت ضبطت مفتاح API لـOllama.
ما الذي تستبدله
بالنسبة لأغلب القرّاء تحلّ هذه البوابة محلّ LiteLLM Proxy — الجواب الافتراضي على سؤال «أريد نقطة نهاية واحدة أمام عدة مزودي نماذج، بمفاتيح وسقوف إنفاق». إن كنت تشغّل Pangolin أصلاً، فالبوابة تحذف خدمة من حزمتك وترث ما ضبطته من تحكم بالوصول ومن أنفاق، وهذا تبسيط حقيقي.
وما تتنازل عنه هو التخصص. LiteLLM يفعل شيئاً واحداً ومصفوفة مزوديه أوسع بكثير؛ بينما بوابة Pangolin ميزة داخل منتج شبكي، وخارطة طريقها ستخضع دائماً للمنتج الشبكي أولاً. وإن لم تكن من مستخدمي Pangolin أصلاً، فتبنّي وسيط عكسي قائم على WireGuard لمجرد الحصول على بوابة نماذج هو قلب للأولويات.
كما أنها تستبدل جزئياً ذلك الركام من متغيرات OPENAI_API_KEY المبعثرة على أجهزتك — ومن سبق له تدوير مفتاح مسرَّب على ستة أجهزة يعرف أن هذا أثمن مما يبدو.
القيود
القيد الأول هو الترخيص، وهو يستحق دقة لا شعاراً.
يصنّف GitHub ترخيص Pangolin بأنه NOASSERTION، أي أن كاشفه عجز عن تصنيف المستودع. وقراءة ملف LICENSE تفسّر السبب: المشروع مزدوج الترخيص. الملفات التي تحمل ترويسة Fossorial Commercial License احتكارية، والتي تحمل ترويسة AGPL-3 تخضع لـAGPL-3، ثم البند الحامل للثقل: «كل الملفات التي بلا ترويسة ترخيص تخضع افتراضياً لرخصة GNU Affero العامة، الإصدار الثالث». الترخيص نفسه يطلب منك مراجعة كل ملف على حدة. ففعلنا.
خط أنابيب الطلبات الفعلي للبوابة يقع في server/routers/aiGateway/، موزعاً على سبعة ملفات، لا يحمل أيٌّ منها ترويسة ترخيص. وبحكم القاعدة أعلاه فهي تحت AGPL-3. البوابة مفتوحة المصدر فعلاً.
ثم يأتي مجلد server/private/. يضم ١٩٢ ملفاً من أصل ١٬٨٨٨ في المستودع، والمهم منها هنا server/private/routers/aiGateway/logAiSession.ts بحجم ١٠٬٥١٥ بايت، ويفتتح بـ:
This file is licensed under the Fossorial Commercial License.
Unauthorized use, copying, modification, or distribution is strictly prohibited.
This file is not licensed under the AGPLv3.
ويوجد ملف بالاسم نفسه في الجانب المفتوح، في server/routers/aiGateway/logAiSession.ts. حجمه ٧٢٧ بايت، ودوالّه فارغة:
export async function shutdownAiSessionLogger() {}
export async function cleanUpOldLogs(orgId: string, retentionDays: number) {}
هذا هو الخط، بصراحة: البوابة تمرّر حركتك تحت AGPL-3، أما «تسجيل جلسات البوابة وتحليلات الكلفة والرموز والاستخدام» — وهو بند رئيسي في هذا الإصدار بالذات — فهو غلاف فارغ في النسخة المفتوحة. ليست فضيحة وليست مخفية؛ إنها حدود open core اعتيادية، منشورة في المستودع لمن يقرأ ترويسات الملفات. لكنها ببساطة ليست ما يفهمه أغلب الناس من عبارة «بوابة ذكاء اصطناعي مفتوحة المصدر»، وتحليلات الكلفة هي — لدى كثير من الفرق — السبب الكامل لوضع بوابة أمام النماذج من الأساس.
وفي مسألة الإصدارات نفسها، تريّث في الاستنتاج. يصف الـREADME إصدارين للاستضافة الذاتية: الإصدار المجتمعي، «مجاني ومفتوح المصدر ومرخّص تحت AGPL-3»، والإصدار المؤسسي تحت Fossorial Commercial License، وهو «مجاني للاستخدام الشخصي والهاوي، وللشركات التي يقل دخلها السنوي الإجمالي عن ١٠٠ ألف دولار أمريكي»، ويُفتح بمفتاح ترخيص على صورة Docker المسماة ee. ويقول توثيق الإصدار المؤسسي إن صفحة تسعير الاستضافة الذاتية هي المرجع في تحديد موقع كل ميزة — وتلك الصفحة تبني جدول المقارنة في المتصفح، فتعذّرت قراءتها آلياً للتأكد من موقع بوابة الذكاء الاصطناعي. وملاحظات إصدار 1.22 تذكر صراحة ميزات أُضيفت إلى الإصدار المجتمعي (موارد RDP وSSH وVNC العامة، وموارد SSH وHTTPS الخاصة، وتتبع حالة الشهادات) وليست بنود بوابة الذكاء الاصطناعي بينها — لكن هذا استنتاج من الصياغة لا تصريح من المطوّر. راجع صفحة التسعير في متصفح قبل أن تبني خططك عليها. أما ما يمكن التحقق منه من الشيفرة فأضيق وأكثر تحديداً: تطبيق التسجيل احتكاري.
وقيدان عمليان آخران. هذا منتج شركة — Fossorial, Inc. — لا مشروع مجتمعي، فخط الفصل بين المفتوح والتجاري ملك لها تحرّكه متى شاءت. والبوابة جديدة؛ خط أنابيب يعالج استجابات متدفقة ويستبدل بيانات اعتماد عبر ثماني واجهات مزودين لم يمضِ على تعرّضه العلني سوى ثلاثة أيام وقت كتابة هذا المقال.
لمن هي
إن كنت تشغّل Pangolin أصلاً وتشغّل نماذج مفتوحة الأوزان محلياً، فهذه قيمة شبه مجانية: نقطة نهاية واحدة، ومجموعة مفاتيح واحدة، وتحكم بالوصول يعمل، ومسار موثَّق إلى خادم Ollama أو vLLM الخاص بك. فعّلها.
وإن كنت تبحث عن بوابة نماذج ولا تستخدم Pangolin، فقارنها بـLiteLLM على أساس الجدارة، وزِن خط التسجيل في حسابك — فإن كان تتبع كلفة كل نموذج هو سبب رغبتك في بوابة، فأدخل الإصدار المؤسسي في الحساب، أو تأكد أن إعفاء «أقل من ١٠٠ ألف دولار» ينطبق عليك.
وإن كنت شركة تتجاوز ذلك الحد، فاقرأ Fossorial Commercial License قبل النشر. وهذا ليس خاصاً بـPangolin — بل هو رد الفعل الصحيح مع كل ما يضع GitHub بجانبه NOASSERTION.
الخلاصة
إصدار Pangolin 1.22 نافع فعلاً: يضع الهوية وسقوف الإنفاق ونقطة نهاية واحدة أمام الواجهات التجارية والنماذج المستضافة ذاتياً معاً، ويحلّ مشكلة الوصول إلى خادم نماذج خاص أفضل مما تستطيعه بوابة مستقلة، لأنه كان يحلّ تلك المشكلة أصلاً لحركة أخرى.
وهو كذلك تذكير بأن عبارة «مفتوح المصدر» على صفحة تعريفية ليست ترخيصاً. البوابة فعلاً تحت AGPL-3 — الملفات السبعة التي تحمل طلباتك بلا ترويسة، والترخيص يقول إن ذلك يعني AGPL-3. أما القدرة على مراقبة تلك الطلبات فليست كذلك. والحقيقتان كلتاهما في المستودع، وكلتاهما استغرق إثباتها نحو عشر دقائق. اقرأ الترويسات.