لماذا تستضيف LibreChat بدلاً من استخدام ChatGPT Plus
ChatGPT Plus يكلّف 20 دولارًا شهريًا لكل شخص، ولا يسمح بمشاركة مفتاح API، ويُرسل كل رسالة إلى خوادم OpenAI، ويحبسك في واجهة واحدة. LibreChat المستضاف ذاتيًا يعكس هذه المعادلة: تدفع فقط مقابل الرموز التي تستهلكها من المزوّدين الذين تختارهم، وتبقى محادثاتك في MongoDB الخاص بك، ويمكنك خدمة عشرة أو مئة متعاون من خادم VPS واحد بأقل من 15 دولارًا شهريًا. تكون مفاتيح API مركزية من جانب الخادم — لا يراها مستخدموك أبدًا.
ChatGPT Plus مقابل LibreChat المستضاف ذاتيًا
مرّر الجدول أفقيًا
| المعيار | ChatGPT Plus | LibreChat المستضاف ذاتيًا |
|---|---|---|
| السعر لكل مستخدم | 20 دولارًا/شهر | مشترك — تكلفة VPS مقسّمة على عدد المستخدمين |
| النماذج المتاحة | GPT-4o، o1 (OpenAI فقط) | OpenAI، Anthropic، Google، Ollama، Groq… |
| بيانات المحادثات | مخزّنة لدى OpenAI | مخزّنة في MongoDB الخاص بك |
| مفاتيح API | تديرها OpenAI | مفاتيحك أنت، لا تُكشف للمستخدمين أبدًا |
| سجل المحادثات | لدى OpenAI، قابل للتصدير | في قاعدة بياناتك، قابل للنسخ الاحتياطي بحرية |
| RAG على ملفاتك | محدود (My Files) | قابل للتهيئة مع متجر المتجهات الخاص بك |
| تخصيص الواجهة | لا يوجد | كامل (إعدادات مسبقة، نماذج مرئية، أدوار) |
| الامتثال / التدقيق | يعتمد على شروط OpenAI | تحت سيطرتك الكاملة |
متطلبات الخادم
يعتمد LibreChat على عدة خدمات متزامنة: التطبيق الرئيسي (Node.js)، وMongoDB للمحادثات والمستخدمين، وMeilisearch للبحث في السجل، وواجهة RAG الاختيارية للاستعلام عن المستندات. لفريق من 5 إلى 20 شخصًا يستخدمون واجهات برمجة التطبيقات السحابية (OpenAI، Anthropic)، يكفي خادم VPS بـ 2 vCPU و4 GB RAM — حوالي 10 إلى 15 دولارًا شهريًا في ServOrbit.
تثبيت LibreChat باستخدام Docker Compose
استنساخ المستودع الرسمي
اتصل بخادم VPS عبر SSH واستنسخ المستودع:
git clone https://github.com/danny-avila/LibreChat && cd LibreChat. انسخ ملف مثال البيئة: cp .env.example .env.تهيئة ملف .env
افتح .env وأدخِل المتغيرات الأساسية. أنشئ أولاً سرّين عشوائيين:
openssl rand -hex 32 مرتين لـ JWT_SECRET وCREDS_KEY. أضف مفاتيح API الخاصة بك: OPENAI_API_KEY=sk-... و/أو ANTHROPIC_API_KEY=sk-ant-.... لإغلاق التسجيل العام وإنشاء الحسابات يدويًا فقط، عيّن ALLOW_REGISTRATION=false.تشغيل الحزمة
ابدأ جميع الخدمات في الوضع المنفصل:
docker compose up -d. تحقّق من أن جميع الحاويات سليمة: docker compose ps — يجب أن تُظهر جميع الخدمات running (healthy).إنشاء أول حساب مدير
افتح
http://localhost:3080 في متصفح أو عبر نفق SSH. انقر على «إنشاء حساب» وسجّل باستخدام بريدك الإلكتروني المهني. بعد تسجيل الدخول، انتقل إلى لوحة الإدارة لترقية حسابك إلى مدير.التحقّق من الاتصال بـ LLM
في الواجهة، اختر نموذج
gpt-4o (أو claude-3-5-sonnet) وأرسل رسالة اختبار. إذا وصلت الإجابة بشكل صحيح، فمفتاح API الخاص بك معترف به.
تهيئة عدة مزوّدي LLM في librechat.yaml
ملف librechat.yaml هو قلب تهيئة متعدّدة المزوّدين. يتيح لك تفعيل أو تعطيل نقاط النهاية، وتسمية النماذج المعروضة للمستخدمين، وتعيين معاملات افتراضية (الحرارة، الحد الأقصى للرموز)، والتحكم في الوصول حسب الدور. في جذر المشروع، انسخ النموذج: cp librechat.example.yaml librechat.yaml.
إضافة OpenAI وAnthropic ونقطة نهاية مخصّصة في librechat.yaml
تفعيل نقطة نهاية OpenAI
تحت مفتاح
endpoints.openAI، عيّن enabled: true وأدرج النماذج: models: { default: [gpt-4o, gpt-4o-mini, o1-mini], fetch: false }.تفعيل نقطة نهاية Anthropic
تحت
endpoints.anthropic، عيّن enabled: true وأدرج: models: { default: [claude-3-5-sonnet-20241022, claude-3-haiku-20240307] }.إضافة Google Gemini
تحت
endpoints.google، عيّن enabled: true وأدخِل GOOGLE_KEY في .env بمفتاح Google AI Studio الخاص بك. أدرج النماذج: gemini-1.5-pro, gemini-1.5-flash.الإعلان عن Groq كنقطة نهاية مخصّصة
المزوّدون المتوافقون مع OpenAI (Groq، Together AI…) يُعلَن عنهم تحت
endpoints.custom. مثال لـ Groq: name: Groq، apiKey: ${GROQ_API_KEY}، baseURL: https://api.groq.com/openai/v1.تطبيق التهيئة
بعد كل تعديل على
librechat.yaml، أعد تشغيل خدمة التطبيق فقط: docker compose restart app. تحقّق في الواجهة من ظهور نقاط النهاية الجديدة في محدد النموذج.
إضافة Ollama للنماذج المحلية (بدون تكلفة API)
يتيح Ollama تشغيل النماذج مفتوحة المصدر (Llama 3، Mistral، Gemma…) مباشرةً على خادم VPS الخاص بك، دون مفتاح API ودون مغادرة البيانات للخادم. على خادم VPS بـ 4 vCPU و8 GB RAM، تستجيب النماذج من 3B إلى 7B من المعاملات في غضون ثوانٍ.
نشر Ollama كخدمة Docker وتوصيله بـ LibreChat
إضافة خدمة Ollama إلى docker-compose.yml
افتح
docker-compose.override.yml (أنشئه إذا لم يكن موجودًا) وأضف: services: ollama: image: ollama/ollama:latest, volumes: [ollama:/root/.ollama], ports: ["11434:11434"]. أعد تشغيل الحزمة: docker compose up -d ollama.تنزيل نموذج
بعد تشغيل حاوية Ollama، نزّل نموذجًا:
docker compose exec ollama ollama pull llama3.2:3b لـ Llama 3.2 3B (~2 GB)، أو ollama pull mistral:7b لـ Mistral 7B (~4 GB).تهيئة نقطة نهاية Ollama في librechat.yaml
في
librechat.yaml، تحت endpoints.custom، أضف: name: Ollama، apiKey: ollama، baseURL: http://ollama:11434/v1، models: { default: [llama3.2:3b, mistral:7b] }.اختبار الاستدلال المحلي
في واجهة LibreChat، اختر نقطة نهاية «Ollama» ونموذج
llama3.2:3b. أرسل رسالة. يتم توليد الإجابة بالكامل على خادم VPS الخاص بك، دون أي اتصال شبكي خارجي.
المصادقة وإدارة المستخدمين
يقدّم LibreChat عدة مستويات من المصادقة، من التسجيل المحلي البسيط حتى تكامل OAuth2 مع مزوّد الهوية الخاص بك. للفرق، التركيبة المثلى هي في الغالب: تسجيل مغلق (ALLOW_REGISTRATION=false)، وحسابات ينشئها المدير، ومع إمكانية استخدام SSO عبر GitHub أو Google أو مزوّد OIDC داخلي.
خيارات المصادقة المتاحة
- محلية (بريد إلكتروني / كلمة مرور): افتراضية، تعمل دون تهيئة إضافية.
- OAuth2 GitHub:
GITHUB_CLIENT_ID + GITHUB_CLIENT_SECRET في .env. - OAuth2 Google:
GOOGLE_CLIENT_ID + GOOGLE_CLIENT_SECRET، نفس المبدأ. - OIDC عام: متوافق مع Authentik وKeycloak وAuth0 — حدّد
OPENID_CLIENT_ID وغيره في .env. - تقييد نطاق البريد الإلكتروني:
ALLOWED_DOMAINS=your-company.com في .env. - تعطيل التسجيل العام:
ALLOW_REGISTRATION=false — المدير وحده يمكنه إنشاء حسابات. - الأدوار: كل حساب هو
user أو admin؛ يصل المديرون إلى لوحة إدارة المستخدمين.
RAG مع الملفات: استعلام مستندات PDF
يتضمّن LibreChat خدمة RAG اختيارية تسمح للمستخدمين برفع ملفات PDF وملفات نصية واستعلام محتواها في المحادثات. لتفعيلها، أضف إلى .env: RAG_API_URL=http://rag_api:8000، ثم شغّل: docker compose --profile rag up -d.
تهيئة nginx كوكيل عكسي مع HTTPS
إنشاء الاستضافة الافتراضية لـ nginx
أنشئ
/etc/nginx/sites-available/librechat مع: server { listen 80; server_name chat.your-domain.com; location / { proxy_pass http://localhost:3080; proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "upgrade"; proxy_read_timeout 300s; } }. فعّل الموقع: ln -s /etc/nginx/sites-available/librechat /etc/nginx/sites-enabled/ && nginx -t && systemctl reload nginx.الحصول على شهادة Let's Encrypt مع Certbot
ثبّت Certbot إذا لزم الأمر، ثم احصل على الشهادة:
certbot --nginx -d chat.your-domain.com. يعدّل Certbot الاستضافة الافتراضية تلقائيًا لإعادة التوجيه من HTTP إلى HTTPS.التحقّق من WebSocket والبث
افتح
https://chat.your-domain.com، سجّل الدخول، وأرسل رسالة. تحقّق في أدوات المطوّر (تبويب الشبكة) أن الاتصال يمرّ عبر WebSocket. إذا ظهرت الإجابات دفعة واحدة بدلاً من البث، فغالبًا Cloudflare يخزّنها مؤقتًا: فعّل «تعطيل التخزين المؤقت» في تهيئة Cloudflare.تفعيل التحديثات التلقائية (اختياري)
لإبقاء LibreChat محدَّثًا دون تدخّل يدوي، أنشئ مهمة cron أسبوعية:
docker compose pull && docker compose up -d --remove-orphans.
إدارة تكاليف LLM مع LibreChat
لا يفوترك LibreChat مقابل الرموز — أنت تدفع للمزوّدين مباشرةً بمفاتيحك الخاصة. بعض الممارسات الجيدة: عيّن حدودًا للرموز لكل طلب (maxContextTokens) للنماذج المكلّفة؛ عرض gpt-4o-mini أو claude-3-haiku كنماذج افتراضية؛ تفعيل Ollama للطلبات ذات القيمة المنخفضة — التكلفة الفعلية: 0 دولار. لفريق من 10 أشخاص، يكلّف ميزانية مختلطة (GPT-4o للحالات الجدية + Ollama للاستخدام اليومي) بين 20 و80 دولارًا شهريًا في الرموز، مقارنةً بـ 200 دولار لعشرة اشتراكات ChatGPT Plus.
LibreChat أم AnythingLLM: أيهما تختار؟
مرّر الجدول أفقيًا
| المعيار | LibreChat | AnythingLLM |
|---|---|---|
| الغرض الرئيسي | واجهة محادثة متعدّدة المزوّدين | محرك RAG على المستندات |
| تعدّد النماذج في واجهة واحدة | ممتاز (OpenAI وAnthropic وGoogle ومحلي) | جيد، لكنه متمحور حول مزوّد واحد لكل مساحة عمل |
| RAG على المستندات | وحدة إضافية قابلة للتهيئة | جوهر المنتج، جاهز للاستخدام |
| إدارة تعدّد المستخدمين | حسابات وأدوار أصلية | وضع تعدّد المستخدمين ومساحات عمل مقسّمة |
| بنية النشر | حزمة متعدّدة الحاويات (Mongo وMeili وRAG) | حاوية واحدة + قاعدة بيانات متجهية |
| تخزين البيانات | MongoDB مستضاف ذاتيًا | volume storage + LanceDB/Qdrant |
| حالة الاستخدام المثلى | مساعد محادثة للفريق | قاعدة معرفة قابلة للاستعلام |
| بصمة الموارد | أثقل (عدة خدمات) | أخف عند البدء |
نشر خالٍ من السحابة: محلي 100%
لنشر كامل بعيدًا عن السحابة، ادمج LibreChat مع Ollama على نفس خادم VPS وعطّل جميع نقاط النهاية السحابية في librechat.yaml. لن تغادر أي بيانات الخادم أبدًا. أضف ALLOW_REGISTRATION=false وـ SSO OIDC داخلي (Authentik) لإغلاق محيط الأمان. تتقلّص التكلفة الإجمالية حينئذٍ إلى خادم VPS وحده — بين 10 و25 دولارًا شهريًا حسب القدرة المختارة في ServOrbit.